lkml.org 
[lkml]   [2017]   [Mar]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2 2/2] pinctrl: rockchip: Add input schmitt support for rk3328
    Date
    From: "david.wu" <david.wu@rock-chips.com>

    Signed-off-by: david.wu <david.wu@rock-chips.com>
    Reviewed-by: Heiko Stuebner <heiko@sntech.de>
    ---
    drivers/pinctrl/pinctrl-rockchip.c | 23 +++++++++++++++++++++++
    1 file changed, 23 insertions(+)

    diff --git a/drivers/pinctrl/pinctrl-rockchip.c b/drivers/pinctrl/pinctrl-rockchip.c
    index 9b8d516..91b5051 100644
    --- a/drivers/pinctrl/pinctrl-rockchip.c
    +++ b/drivers/pinctrl/pinctrl-rockchip.c
    @@ -1358,6 +1358,28 @@ static int rockchip_set_pull(struct rockchip_pin_bank *bank,
    return ret;
    }

    +#define RK3328_SCHMITT_BITS_PER_PIN 1
    +#define RK3328_SCHMITT_PINS_PER_REG 16
    +#define RK3328_SCHMITT_BANK_STRIDE 8
    +#define RK3328_SCHMITT_GRF_OFFSET 0x380
    +
    +static int rk3328_calc_schmitt_reg_and_bit(struct rockchip_pin_bank *bank,
    + int pin_num,
    + struct regmap **regmap,
    + int *reg, u8 *bit)
    +{
    + struct rockchip_pinctrl *info = bank->drvdata;
    +
    + *regmap = info->regmap_base;
    + *reg = RK3328_SCHMITT_GRF_OFFSET;
    +
    + *reg += bank->bank_num * RK3328_SCHMITT_BANK_STRIDE;
    + *reg += ((pin_num / RK3328_SCHMITT_PINS_PER_REG) * 4);
    + *bit = pin_num % RK3328_SCHMITT_PINS_PER_REG;
    +
    + return 0;
    +}
    +
    static int rockchip_get_schmitt(struct rockchip_pin_bank *bank, int pin_num)
    {
    struct rockchip_pinctrl *info = bank->drvdata;
    @@ -2861,6 +2883,7 @@ static int rockchip_pinctrl_probe(struct platform_device *pdev)
    .pull_calc_reg = rk3228_calc_pull_reg_and_bit,
    .drv_calc_reg = rk3228_calc_drv_reg_and_bit,
    .iomux_recalc = rk3328_recalc_mux,
    + .schmitt_calc_reg = rk3328_calc_schmitt_reg_and_bit,
    };

    static struct rockchip_pin_bank rk3368_pin_banks[] = {
    --
    1.9.1

    \
     
     \ /
      Last update: 2017-03-02 08:17    [W:2.244 / U:0.144 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site