• David Wu's avatar
    pinctrl: rockchip: fix pull setting error for rk3399 · 3ba6767a
    David Wu authored
    This patch fixes the pinctrl pull bias setting, since the pull up/down
    setting is the contrary for gpio0(just the gpio0a and gpio0b) and
    gpio2(just the gpio2c and gpio2d).
    
    From the TRM said, the gpio0a pull polarity setting:
    gpio0a_p
    GPIO0A PE/PS programmation section, every
    GPIO bit corresponding to 2bits[PS:PE]
    2'b00: Z(Normal operation);
    2'b11: weak 1(pull-up);
    2'b01: weak 0(pull-down);
    2'b10: Z(Normal operation);
    
    Then, the other gpios setting as the following:
    gpio1a_p (e.g.: gpio1, gpio2a, gpio2b, gpio3...)
    GPIO1A PU/PD programmation section, every
    GPIO bit corresponding to 2bits
    2'b00: Z(Normal operation);
    2'b01: weak 1(pull-up);
    2'b10: weak 0(pull-down);
    2'b11: Z(Normal operation);
    
    For example,(rk3399evb board)
    sdmmc_cd --->gpio0_a7
    localhost / # io -r -4 0xff320040
    ff320040: 00004d5f
    In general,the value should be 0x0000cd5f since the pin has been set
    in the dts.
    Signed-off-by: default avatarDavid Wu <david.wu@rock-chips.com>
    Signed-off-by: default avatarCaesar Wang <wxt@rock-chips.com>
    Cc: linux-gpio@vger.kernel.org
    Reviewed-by: default avatarDouglas Anderson <dianders@chromium.org>
    Reviewed-by: default avatarHeiko Stuebner <heiko@sntech.de>
    Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    3ba6767a
pinctrl-rockchip.c 69.9 KB