hc
2024-01-05 071106ecf68c401173c58808b1cf5f68cc50d390
kernel/drivers/pinctrl/pinctrl-rockchip.c
....@@ -3193,6 +3193,14 @@
31933193 pull_type = bank->pull_type[pin_num / 8];
31943194 data >>= bit;
31953195 data &= (1 << RK3188_PULL_BITS_PER_PIN) - 1;
3196
+ /*
3197
+ * In the TRM, pull-up being 1 for everything except the GPIO0_D3-D6,
3198
+ * where that pull up value becomes 3.
3199
+ */
3200
+ if (ctrl->type == RK3568 && bank->bank_num == 0 && pin_num >= 27 && pin_num <= 30) {
3201
+ if (data == 3)
3202
+ data = 1;
3203
+ }
31963204
31973205 return rockchip_pull_list[pull_type][data];
31983206 default:
....@@ -3886,6 +3894,7 @@
38863894 np_config = of_find_node_by_phandle(be32_to_cpup(phandle));
38873895 ret = pinconf_generic_parse_dt_config(np_config, NULL,
38883896 &grp->data[j].configs, &grp->data[j].nconfigs);
3897
+ of_node_put(np_config);
38893898 if (ret)
38903899 return ret;
38913900 }