525 changes: 0 additions & 525 deletions drivers/net/phy/motorcomm.c

This file was deleted.

32 changes: 31 additions & 1 deletion drivers/pinctrl/rockchip/pinctrl-rk3568.c
Original file line number Diff line number Diff line change
Expand Up @@ -253,11 +253,18 @@ static int rk3568_set_pull(struct rockchip_pin_bank *bank,
return regmap_update_bits(regmap, reg, rmask, data);
}

#define GRF_GPIO1C5_DS 0x0840
#define GRF_GPIO2A2_DS 0x0844
#define GRF_GPIO2B0_DS 0x0848
#define GRF_GPIO3A0_DS 0x084c
#define GRF_GPIO3A6_DS 0x0850
#define GRF_GPIO4A0_DS 0x0854

static int rk3568_set_drive(struct rockchip_pin_bank *bank,
int pin_num, int strength)
{
struct regmap *regmap;
int reg;
int reg, ret;
u32 data, rmask;
u8 bit;
int drv = (1 << (strength + 1)) - 1;
Expand All @@ -269,6 +276,29 @@ static int rk3568_set_drive(struct rockchip_pin_bank *bank,
rmask = data | (data >> 16);
data |= (drv << bit);

ret = regmap_update_bits(regmap, reg, rmask, data);
if (ret)
return ret;

if (bank->bank_num == 1 && pin_num == 21)
reg = GRF_GPIO1C5_DS;
else if (bank->bank_num == 2 && pin_num == 2)
reg = GRF_GPIO2A2_DS;
else if (bank->bank_num == 2 && pin_num == 8)
reg = GRF_GPIO2B0_DS;
else if (bank->bank_num == 3 && pin_num == 0)
reg = GRF_GPIO3A0_DS;
else if (bank->bank_num == 3 && pin_num == 6)
reg = GRF_GPIO3A6_DS;
else if (bank->bank_num == 4 && pin_num == 0)
reg = GRF_GPIO4A0_DS;
else
return 0;

data = ((1 << RK3568_DRV_BITS_PER_PIN) - 1) << 16;
rmask = data | (data >> 16);
data |= drv >> 6;

return regmap_update_bits(regmap, reg, rmask, data);
}

Expand Down