[U-Boot] [PATCH] dm: core: device: set pinctrl state for pinctrl device
Peng Fan
van.freenix at gmail.com
Thu Mar 31 07:26:55 CEST 2016
Hi Simon,
On Sat, Mar 12, 2016 at 07:51:47PM -0700, Simon Glass wrote:
>+Masahiro
>
>On 11 March 2016 at 22:17, Peng Fan <van.freenix at gmail.com> wrote:
>> We may have pinmux settings for pinctrl device, like the following
>> example:
>> "
>> &iomuxc {
>> pinctrl-names = "default";
>> pinctrl-0 = <&pinctrl_hog_1>;
>> imx6ul-evk {
>> pinctrl_hog_1: hoggrp-1 {
>> fsl,pins = <
>> MX6UL_PAD_UART1_RTS_B__GPIO1_IO19 0x17059 /* SD1 CD */
>> MX6UL_PAD_GPIO1_IO05__USDHC1_VSELECT 0x17059 /* SD1 VSELECT */
>> MX6UL_PAD_GPIO1_IO09__GPIO1_IO09 0x17059 /* SD1 RESET */
>> MX6UL_PAD_SNVS_TAMPER0__GPIO5_IO00 0x80000000
>> >;
>> };
>> [......]
>> };
>> "
>>
>> We should not only select pinctrl state for non pinctrl devices, we
>> need also to handle pin mux settings such as pinctrl_log for pinctrl
>> devices.
>>
>> So at the end of probing process of pinctrl device, select the default
>> state of pinctrl device.
>>
>> Signed-off-by: Peng Fan <van.freenix at gmail.com>
>> Cc: Simon Glass <sjg at chromium.org>
>> ---
>> drivers/core/device.c | 3 +++
>> 1 file changed, 3 insertions(+)
>>
>> diff --git a/drivers/core/device.c b/drivers/core/device.c
>> index cb24a61..6b1ba22 100644
>> --- a/drivers/core/device.c
>> +++ b/drivers/core/device.c
>> @@ -332,6 +332,9 @@ int device_probe(struct udevice *dev)
>> if (ret)
>> goto fail_uclass;
>>
>> + if (dev->parent && device_get_uclass_id(dev) == UCLASS_PINCTRL)
>> + pinctrl_select_state(dev, "default");
>> +
>> return 0;
>> fail_uclass:
>> if (device_remove(dev)) {
>> --
>> 2.6.2
>>
>
>Reviewed-by: Simon Glass <sjg at chromium.org>
Will you pick up this patch?
Thanks,
Peng.
More information about the U-Boot
mailing list