> 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