From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peng Fan Date: Thu, 31 Mar 2016 13:26:55 +0800 Subject: [U-Boot] [PATCH] dm: core: device: set pinctrl state for pinctrl device In-Reply-To: References: <1457759858-8243-1-git-send-email-van.freenix@gmail.com> Message-ID: <20160331052653.GA4242@linux-7smt.suse> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 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 >> Cc: Simon Glass >> --- >> 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 Will you pick up this patch? Thanks, Peng.