* [PATCH 1/2] ARM: dts: imx51-babbage: Pass the USB PHY regulator @ 2017-12-02 20:26 Fabio Estevam 2017-12-02 20:26 ` [PATCH 2/2] ARM: dts: imx51-babbage: Fix the 26MHz clock modelling Fabio Estevam 2017-12-21 7:48 ` [PATCH 1/2] ARM: dts: imx51-babbage: Pass the USB PHY regulator Shawn Guo 0 siblings, 2 replies; 4+ messages in thread From: Fabio Estevam @ 2017-12-02 20:26 UTC (permalink / raw) To: linux-arm-kernel From: Fabio Estevam <fabio.estevam@nxp.com> The USB PHYs are supplied via MC13892 VUSB regulator rail, so properly describe this in the device tree. Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com> --- arch/arm/boot/dts/imx51-babbage.dts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/arch/arm/boot/dts/imx51-babbage.dts b/arch/arm/boot/dts/imx51-babbage.dts index c4aa53c..c432de7 100644 --- a/arch/arm/boot/dts/imx51-babbage.dts +++ b/arch/arm/boot/dts/imx51-babbage.dts @@ -165,6 +165,7 @@ clocks = <&clks IMX5_CLK_DUMMY>; clock-names = "main_clk"; reset-gpios = <&gpio2 5 GPIO_ACTIVE_LOW>; + vcc-supply = <&vusb_reg>; #phy-cells = <0>; }; }; @@ -241,6 +242,10 @@ regulator-max-microvolt = <3150000>; }; + vusb_reg: vusb { + regulator-boot-on; + }; + vusb2_reg: vusb2 { regulator-min-microvolt = <2400000>; regulator-max-microvolt = <2775000>; @@ -414,6 +419,10 @@ status = "okay"; }; +&usbphy0 { + vcc-supply = <&vusb_reg>; +}; + &usbotg { dr_mode = "otg"; disable-over-current; -- 2.7.4 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/2] ARM: dts: imx51-babbage: Fix the 26MHz clock modelling 2017-12-02 20:26 [PATCH 1/2] ARM: dts: imx51-babbage: Pass the USB PHY regulator Fabio Estevam @ 2017-12-02 20:26 ` Fabio Estevam 2017-12-21 7:54 ` Shawn Guo 2017-12-21 7:48 ` [PATCH 1/2] ARM: dts: imx51-babbage: Pass the USB PHY regulator Shawn Guo 1 sibling, 1 reply; 4+ messages in thread From: Fabio Estevam @ 2017-12-02 20:26 UTC (permalink / raw) To: linux-arm-kernel From: Fabio Estevam <fabio.estevam@nxp.com> On imx51-babbage there is a 26MHz oscillator that is gated by GPIO3_1. The output of this clock feeds audio codec clock and USB PHY clocks, which are gated by GPIO4_26 and GPIO2_1 respectively. Fix the clock representation by properly using gpio-gate-clock. The clock nodes can be moved out of the 'clocks' node. Based on a commit from Lucas Stach for imx51-zii-rdu1 board. This also fixes the following build warning with W=1: arch/arm/boot/dts/imx51-babbage.dtb: Warning (unit_address_vs_reg): Node /clocks/codec_clock has a reg or ranges property, but no unit name Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com> --- arch/arm/boot/dts/imx51-babbage.dts | 67 +++++++++++++++++++++++++++---------- 1 file changed, 50 insertions(+), 17 deletions(-) diff --git a/arch/arm/boot/dts/imx51-babbage.dts b/arch/arm/boot/dts/imx51-babbage.dts index c432de7..663a3cd 100644 --- a/arch/arm/boot/dts/imx51-babbage.dts +++ b/arch/arm/boot/dts/imx51-babbage.dts @@ -25,18 +25,41 @@ reg = <0x90000000 0x20000000>; }; - clocks { - ckih1 { - clock-frequency = <22579200>; - }; + ckih1 { + clock-frequency = <22579200>; + }; - clk_26M: codec_clock { - compatible = "fixed-clock"; - reg=<0>; - #clock-cells = <0>; - clock-frequency = <26000000>; - gpios = <&gpio4 26 GPIO_ACTIVE_LOW>; - }; + clk_26M_osc: 26M_osc { + compatible = "fixed-clock"; + #clock-cells = <0>; + clock-frequency = <26000000>; + }; + + clk_26M_osc_gate: 26M_gate { + compatible = "gpio-gate-clock"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_clk26mhz_osc>; + clocks = <&clk_26M_osc>; + #clock-cells = <0>; + enable-gpios = <&gpio3 1 GPIO_ACTIVE_HIGH>; + }; + + clk_26M_audio: audio_gate { + compatible = "gpio-gate-clock"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_clk26mhz_audio>; + clocks = <&clk_26M_osc_gate>; + #clock-cells = <0>; + enable-gpios = <&gpio4 26 GPIO_ACTIVE_LOW>; + }; + + clk_26M_usb: usbhost_gate { + compatible = "gpio-gate-clock"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_clk26mhz_usb>; + clocks = <&clk_26M_osc_gate>; + #clock-cells = <0>; + enable-gpios = <&gpio2 1 GPIO_ACTIVE_LOW>; }; display1: disp1 { @@ -162,7 +185,7 @@ usbh1phy: usbh1phy at 0 { compatible = "usb-nop-xceiv"; reg = <0>; - clocks = <&clks IMX5_CLK_DUMMY>; + clocks = <&clk_26M_usb>; clock-names = "main_clk"; reset-gpios = <&gpio2 5 GPIO_ACTIVE_LOW>; vcc-supply = <&vusb_reg>; @@ -345,10 +368,8 @@ sgtl5000: codec at a { compatible = "fsl,sgtl5000"; - pinctrl-names = "default"; - pinctrl-0 = <&pinctrl_clkcodec>; reg = <0x0a>; - clocks = <&clk_26M>; + clocks = <&clk_26M_audio>; VDDA-supply = <&vdig_reg>; VDDIO-supply = <&vvideo_reg>; }; @@ -441,9 +462,21 @@ >; }; - pinctrl_clkcodec: clkcodecgrp { + pinctrl_clk26mhz_audio: clk26mhzaudiocgrp { + fsl,pins = < + MX51_PAD_CSPI1_RDY__GPIO4_26 0x85 + >; + }; + + pinctrl_clk26mhz_osc: clk26mhzoscgrp { + fsl,pins = < + MX51_PAD_DI1_PIN12__GPIO3_1 0x85 + >; + }; + + pinctrl_clk26mhz_usb: clk26mhzusbgrp { fsl,pins = < - MX51_PAD_CSPI1_RDY__GPIO4_26 0x80000000 + MX51_PAD_EIM_D17__GPIO2_1 0x85 >; }; -- 2.7.4 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/2] ARM: dts: imx51-babbage: Fix the 26MHz clock modelling 2017-12-02 20:26 ` [PATCH 2/2] ARM: dts: imx51-babbage: Fix the 26MHz clock modelling Fabio Estevam @ 2017-12-21 7:54 ` Shawn Guo 0 siblings, 0 replies; 4+ messages in thread From: Shawn Guo @ 2017-12-21 7:54 UTC (permalink / raw) To: linux-arm-kernel On Sat, Dec 02, 2017 at 06:26:05PM -0200, Fabio Estevam wrote: > From: Fabio Estevam <fabio.estevam@nxp.com> > > On imx51-babbage there is a 26MHz oscillator that is gated by GPIO3_1. > > The output of this clock feeds audio codec clock and USB PHY clocks, > which are gated by GPIO4_26 and GPIO2_1 respectively. > > Fix the clock representation by properly using gpio-gate-clock. > > The clock nodes can be moved out of the 'clocks' node. > > Based on a commit from Lucas Stach for imx51-zii-rdu1 board. > > This also fixes the following build warning with W=1: > > arch/arm/boot/dts/imx51-babbage.dtb: Warning (unit_address_vs_reg): Node /clocks/codec_clock has a reg or ranges property, but no unit name > > Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com> > --- > arch/arm/boot/dts/imx51-babbage.dts | 67 +++++++++++++++++++++++++++---------- > 1 file changed, 50 insertions(+), 17 deletions(-) > > diff --git a/arch/arm/boot/dts/imx51-babbage.dts b/arch/arm/boot/dts/imx51-babbage.dts > index c432de7..663a3cd 100644 > --- a/arch/arm/boot/dts/imx51-babbage.dts > +++ b/arch/arm/boot/dts/imx51-babbage.dts > @@ -25,18 +25,41 @@ > reg = <0x90000000 0x20000000>; > }; > > - clocks { > - ckih1 { > - clock-frequency = <22579200>; > - }; > + ckih1 { > + clock-frequency = <22579200>; > + }; > > - clk_26M: codec_clock { > - compatible = "fixed-clock"; > - reg=<0>; > - #clock-cells = <0>; > - clock-frequency = <26000000>; > - gpios = <&gpio4 26 GPIO_ACTIVE_LOW>; > - }; > + clk_26M_osc: 26M_osc { While at it, I suggest we use hyphen rather than underscore in node name, and all lowercase for node name. Shawn > + compatible = "fixed-clock"; > + #clock-cells = <0>; > + clock-frequency = <26000000>; > + }; > + > + clk_26M_osc_gate: 26M_gate { > + compatible = "gpio-gate-clock"; > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_clk26mhz_osc>; > + clocks = <&clk_26M_osc>; > + #clock-cells = <0>; > + enable-gpios = <&gpio3 1 GPIO_ACTIVE_HIGH>; > + }; > + > + clk_26M_audio: audio_gate { > + compatible = "gpio-gate-clock"; > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_clk26mhz_audio>; > + clocks = <&clk_26M_osc_gate>; > + #clock-cells = <0>; > + enable-gpios = <&gpio4 26 GPIO_ACTIVE_LOW>; > + }; > + > + clk_26M_usb: usbhost_gate { > + compatible = "gpio-gate-clock"; > + pinctrl-names = "default"; > + pinctrl-0 = <&pinctrl_clk26mhz_usb>; > + clocks = <&clk_26M_osc_gate>; > + #clock-cells = <0>; > + enable-gpios = <&gpio2 1 GPIO_ACTIVE_LOW>; > }; > > display1: disp1 { > @@ -162,7 +185,7 @@ > usbh1phy: usbh1phy at 0 { > compatible = "usb-nop-xceiv"; > reg = <0>; > - clocks = <&clks IMX5_CLK_DUMMY>; > + clocks = <&clk_26M_usb>; > clock-names = "main_clk"; > reset-gpios = <&gpio2 5 GPIO_ACTIVE_LOW>; > vcc-supply = <&vusb_reg>; > @@ -345,10 +368,8 @@ > > sgtl5000: codec at a { > compatible = "fsl,sgtl5000"; > - pinctrl-names = "default"; > - pinctrl-0 = <&pinctrl_clkcodec>; > reg = <0x0a>; > - clocks = <&clk_26M>; > + clocks = <&clk_26M_audio>; > VDDA-supply = <&vdig_reg>; > VDDIO-supply = <&vvideo_reg>; > }; > @@ -441,9 +462,21 @@ > >; > }; > > - pinctrl_clkcodec: clkcodecgrp { > + pinctrl_clk26mhz_audio: clk26mhzaudiocgrp { > + fsl,pins = < > + MX51_PAD_CSPI1_RDY__GPIO4_26 0x85 > + >; > + }; > + > + pinctrl_clk26mhz_osc: clk26mhzoscgrp { > + fsl,pins = < > + MX51_PAD_DI1_PIN12__GPIO3_1 0x85 > + >; > + }; > + > + pinctrl_clk26mhz_usb: clk26mhzusbgrp { > fsl,pins = < > - MX51_PAD_CSPI1_RDY__GPIO4_26 0x80000000 > + MX51_PAD_EIM_D17__GPIO2_1 0x85 > >; > }; > > -- > 2.7.4 > ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 1/2] ARM: dts: imx51-babbage: Pass the USB PHY regulator 2017-12-02 20:26 [PATCH 1/2] ARM: dts: imx51-babbage: Pass the USB PHY regulator Fabio Estevam 2017-12-02 20:26 ` [PATCH 2/2] ARM: dts: imx51-babbage: Fix the 26MHz clock modelling Fabio Estevam @ 2017-12-21 7:48 ` Shawn Guo 1 sibling, 0 replies; 4+ messages in thread From: Shawn Guo @ 2017-12-21 7:48 UTC (permalink / raw) To: linux-arm-kernel On Sat, Dec 02, 2017 at 06:26:04PM -0200, Fabio Estevam wrote: > From: Fabio Estevam <fabio.estevam@nxp.com> > > The USB PHYs are supplied via MC13892 VUSB regulator rail, > so properly describe this in the device tree. > > Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com> Applied this one, thanks. ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2017-12-21 7:54 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2017-12-02 20:26 [PATCH 1/2] ARM: dts: imx51-babbage: Pass the USB PHY regulator Fabio Estevam 2017-12-02 20:26 ` [PATCH 2/2] ARM: dts: imx51-babbage: Fix the 26MHz clock modelling Fabio Estevam 2017-12-21 7:54 ` Shawn Guo 2017-12-21 7:48 ` [PATCH 1/2] ARM: dts: imx51-babbage: Pass the USB PHY regulator Shawn Guo
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).