* [U-Boot] [PATCH V2] dm: core: device: set pinctrl state for pinctrl device
@ 2016-04-06 13:21 Peng Fan
2016-04-09 16:08 ` Simon Glass
0 siblings, 1 reply; 2+ messages in thread
From: Peng Fan @ 2016-04-06 13:21 UTC (permalink / raw)
To: u-boot
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@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Masahiro Yamada <yamada.masahiro@socionext.com>
---
V2:
To pinctrl node, it is not root node. No need to check dev->parent.
drivers/core/device.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/core/device.c b/drivers/core/device.c
index cb24a61..636a895 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 (device_get_uclass_id(dev) == UCLASS_PINCTRL)
+ pinctrl_select_state(dev, "default");
+
return 0;
fail_uclass:
if (device_remove(dev)) {
--
2.6.2
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [U-Boot] [PATCH V2] dm: core: device: set pinctrl state for pinctrl device
2016-04-06 13:21 [U-Boot] [PATCH V2] dm: core: device: set pinctrl state for pinctrl device Peng Fan
@ 2016-04-09 16:08 ` Simon Glass
0 siblings, 0 replies; 2+ messages in thread
From: Simon Glass @ 2016-04-09 16:08 UTC (permalink / raw)
To: u-boot
On 6 April 2016 at 07:21, Peng Fan <van.freenix@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@gmail.com>
> Reviewed-by: Simon Glass <sjg@chromium.org>
> Reviewed-by: Masahiro Yamada <yamada.masahiro@socionext.com>
> ---
>
> V2:
> To pinctrl node, it is not root node. No need to check dev->parent.
>
> drivers/core/device.c | 3 +++
> 1 file changed, 3 insertions(+)
Applied to u-boot-dm, thanks!
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2016-04-09 16:08 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-04-06 13:21 [U-Boot] [PATCH V2] dm: core: device: set pinctrl state for pinctrl device Peng Fan
2016-04-09 16:08 ` Simon Glass
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox