> 26 февр. 2018 г., в 23:26, Dr. Philipp Tomsich 
> <philipp.toms...@theobroma-systems.com> написал(а):
> 
> I wonder if this is really necessary (or if there’s something going wrong in 
> the
> device framework)…  The way I always understood our device framework was
> that if there’s a pinctrl associated with the DTS node, then it should get 
> processed
> automatically during probing.

RKI2C0_SEL, RKI2C1_SEL and so on bits get updated by pinctrl_rk3188_i2c_config()
(drivers/pinctrl/rockchip/pinctrl_rk3188.c). The function is called by 
rk3188_pinctrl_request()
(rk3188 pinmux request method implementation) and by 
rk3188_pinctrl_set_state_simple()
(rk3188 pinmux set_state_simple implementation).

If CONFIG_PINCTRL_FULL is enabled, than pinctrl_select_state_full() will be used
by framework code to setup pinmux. It read pin description from DT and setup 
pins
using rk3188_pinctrl_set_state() (set_state implementation). 
rk3188_pinctrl_set_state()
doesn't update soc_con1 register.

If CONFIG_PINCTRL_FULL is not enabled, then pinctrl_select_state_simple() will 
be
used instead by framework code to setup pinmux. It do 
rk3188_pinctrl_set_state_simple()
request to pinmux driver which in turn calls pinctrl_rk3188_i2c_config().

In my code I do call to pinctrl_rk3188_i2c_config() using 
rk3188_pinctrl_request().

Regards,
Alexander.

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to