.. | .. |
---|
3193 | 3193 | pull_type = bank->pull_type[pin_num / 8]; |
---|
3194 | 3194 | data >>= bit; |
---|
3195 | 3195 | 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 | + } |
---|
3196 | 3204 | |
---|
3197 | 3205 | return rockchip_pull_list[pull_type][data]; |
---|
3198 | 3206 | default: |
---|
.. | .. |
---|
3886 | 3894 | np_config = of_find_node_by_phandle(be32_to_cpup(phandle)); |
---|
3887 | 3895 | ret = pinconf_generic_parse_dt_config(np_config, NULL, |
---|
3888 | 3896 | &grp->data[j].configs, &grp->data[j].nconfigs); |
---|
| 3897 | + of_node_put(np_config); |
---|
3889 | 3898 | if (ret) |
---|
3890 | 3899 | return ret; |
---|
3891 | 3900 | } |
---|