[2/2] ARM: mxs: Update DENX M28 machine and dts file

Submitted by Marek Vasut on Aug. 24, 2012, 3:25 a.m.

Details

Message ID 1345778742-20994-2-git-send-email-marex@denx.de
State New
Headers show

Commit Message

Marek Vasut Aug. 24, 2012, 3:25 a.m.
Update the mach-mxs machine by removing the enet_clkout(). The new
revision of the board doesn't need that. Also, update the DTS file
with all the new drivers pulled in the mainline recently, that is,
SPI, LRADC, USB. Also, remove bogus AUART3.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Chris Ball <cjb@laptop.org>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: Shawn Guo <shawn.guo@linaro.org>
---
 arch/arm/boot/dts/imx28-m28evk.dts |   98 +++++++++++++++++++++++++++++++++---
 arch/arm/mach-mxs/mach-mxs.c       |    1 -
 2 files changed, 92 insertions(+), 7 deletions(-)

Comments

Shawn Guo Aug. 24, 2012, 8:26 a.m.
On Fri, Aug 24, 2012 at 05:25:42AM +0200, Marek Vasut wrote:
> Update the mach-mxs machine by removing the enet_clkout(). The new
> revision of the board doesn't need that. Also, update the DTS file
> with all the new drivers pulled in the mainline recently, that is,
> SPI, LRADC, USB. Also, remove bogus AUART3.
> 
> Signed-off-by: Marek Vasut <marex@denx.de>
> Cc: Chris Ball <cjb@laptop.org>
> Cc: Fabio Estevam <fabio.estevam@freescale.com>
> Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
> Cc: Shawn Guo <shawn.guo@linaro.org>
> ---
>  arch/arm/boot/dts/imx28-m28evk.dts |   98 +++++++++++++++++++++++++++++++++---
>  arch/arm/mach-mxs/mach-mxs.c       |    1 -
>  2 files changed, 92 insertions(+), 7 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/imx28-m28evk.dts b/arch/arm/boot/dts/imx28-m28evk.dts
> index 183a3fd..e418b75 100644
> --- a/arch/arm/boot/dts/imx28-m28evk.dts
> +++ b/arch/arm/boot/dts/imx28-m28evk.dts
> @@ -23,6 +23,8 @@
>  	apb@80000000 {
>  		apbh@80000000 {
>  			gpmi-nand@8000c000 {
> +				#address-cells = <1>;
> +				#size-cells = <1>;
>  				pinctrl-names = "default";
>  				pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>;
>  				status = "okay";
> @@ -62,9 +64,28 @@
>  					     &mmc0_sck_cfg>;
>  				bus-width = <8>;
>  				wp-gpios = <&gpio3 10 1>;
> +				vmmc-supply = <&reg_vddio_sd0>;
>  				status = "okay";
>  			};
>  
> +			ssp2: ssp@80014000 {
> +				#address-cells = <1>;
> +				#size-cells = <0>;
> +				compatible = "fsl,imx28-spi";
> +				pinctrl-names = "default";
> +				pinctrl-0 = <&spi2_pins_a>;
> +				status = "okay";
> +
> +				flash: m25p80@0 {
> +					#address-cells = <1>;
> +					#size-cells = <1>;
> +					compatible = "m25p80";
> +					spi-max-frequency = <40000000>;
> +					m25p,fast-read;
> +					reg = <0>;
> +				};
> +			};
> +
>  			pinctrl@80018000 {
>  				pinctrl-names = "default";
>  				pinctrl-0 = <&hog_pins_a>;
> @@ -72,8 +93,11 @@
>  				hog_pins_a: hog-gpios@0 {
>  					reg = <0>;
>  					fsl,pinmux-ids = <
> +						0x31c3 /* MX28_PAD_PWM3__GPIO_3_28 */
>  						0x30a3 /* MX28_PAD_AUART2_CTS__GPIO_3_10 */
>  						0x30b3 /* MX28_PAD_AUART2_RTS__GPIO_3_11 */
> +						0x30c3 /* MX28_PAD_AUART3_RX__GPIO_3_12 */
> +						0x30d3 /* MX28_PAD_AUART3_TX__GPIO_3_13 */
>  					>;
>  					fsl,drive-strength = <0>;
>  					fsl,voltage = <1>;
> @@ -90,6 +114,22 @@
>  					fsl,voltage = <1>;
>  					fsl,pull-up = <0>;
>  				};
> +
> +				usb0_pins_a: usb0@0 {
> +					reg = <0>;
> +					fsl,pinmux-ids = <0x2152>;
> +					fsl,drive-strength = <2>;
> +					fsl,voltage = <1>;
> +					fsl,pull-up = <0>;
> +				};
> +
> +				usb1_pins_a: usb1@0 {
> +					reg = <0>;
> +					fsl,pinmux-ids = <0x2142>;
> +					fsl,drive-strength = <2>;
> +					fsl,voltage = <1>;
> +					fsl,pull-up = <0>;
> +				};

These two nodes should be put into imx28.dtsi.  Also, please put
a comment after the pinmux-id.

Regards,
Shawn

>  			};
>  
>  			lcdif@80030000 {
> @@ -99,6 +139,10 @@
>  				status = "okay";
>  			};
>  
> +			lradc@80050000 {
> +				status = "okay";
> +			};
> +
>  			can0: can@80032000 {
>  				pinctrl-names = "default";
>  				pinctrl-0 = <&can0_pins_a>;
> @@ -129,6 +173,7 @@
>  			i2c0: i2c@80058000 {
>  				pinctrl-names = "default";
>  				pinctrl-0 = <&i2c0_pins_a>;
> +				clock-frequency = <400000>;
>  				status = "okay";
>  
>  				sgtl5000: codec@0a {
> @@ -157,26 +202,41 @@
>  				status = "okay";
>  			};
>  
> -			auart0: serial@8006a000 {
> -				pinctrl-names = "default";
> -				pinctrl-0 = <&auart0_2pins_a>;
> +			usbphy0: usbphy@8007c000 {
>  				status = "okay";
>  			};
>  
> -			auart3: serial@80070000 {
> +			usbphy1: usbphy@8007e000 {
> +				status = "okay";
> +			};
> +
> +			auart0: serial@8006a000 {
>  				pinctrl-names = "default";
> -				pinctrl-0 = <&auart3_pins_a>;
> +				pinctrl-0 = <&auart0_2pins_a>;
>  				status = "okay";
>  			};
>  		};
>  	};
>  
>  	ahb@80080000 {
> +		usb0: usb@80080000 {
> +			vbus-supply = <&reg_usb0_vbus>;
> +			pinctrl-names = "default";
> +			pinctrl-0 = <&usb0_pins_a>;
> +			status = "okay";
> +		};
> +
> +		usb1: usb@80090000 {
> +			vbus-supply = <&reg_usb1_vbus>;
> +			pinctrl-names = "default";
> +			pinctrl-0 = <&usb1_pins_a>;
> +			status = "okay";
> +		};
> +
>  		mac0: ethernet@800f0000 {
>  			phy-mode = "rmii";
>  			pinctrl-names = "default";
>  			pinctrl-0 = <&mac0_pins_a>;
> -			phy-reset-gpios = <&gpio3 11 0>;
>  			status = "okay";
>  		};
>  
> @@ -198,6 +258,32 @@
>  			regulator-max-microvolt = <3300000>;
>  			regulator-always-on;
>  		};
> +
> +		reg_vddio_sd0: vddio-sd0 {
> +			compatible = "regulator-fixed";
> +			regulator-name = "vddio-sd0";
> +			regulator-min-microvolt = <3300000>;
> +			regulator-max-microvolt = <3300000>;
> +			gpio = <&gpio3 28 0>;
> +		};
> +
> +		reg_usb0_vbus: usb0_vbus {
> +			compatible = "regulator-fixed";
> +			regulator-name = "usb0_vbus";
> +			regulator-min-microvolt = <5000000>;
> +			regulator-max-microvolt = <5000000>;
> +			gpio = <&gpio3 12 0>;
> +			enable-active-low;
> +		};
> +
> +		reg_usb1_vbus: usb1_vbus {
> +			compatible = "regulator-fixed";
> +			regulator-name = "usb1_vbus";
> +			regulator-min-microvolt = <5000000>;
> +			regulator-max-microvolt = <5000000>;
> +			gpio = <&gpio3 13 0>;
> +			enable-active-low;
> +		};
>  	};
>  
>  	sound {
> diff --git a/arch/arm/mach-mxs/mach-mxs.c b/arch/arm/mach-mxs/mach-mxs.c
> index 8dabfe8..5ac45a1 100644
> --- a/arch/arm/mach-mxs/mach-mxs.c
> +++ b/arch/arm/mach-mxs/mach-mxs.c
> @@ -241,7 +241,6 @@ static void __init imx28_evk_init(void)
>  
>  static void __init m28evk_init(void)
>  {
> -	enable_clk_enet_out();
>  	update_fec_mac_prop(OUI_DENX);
>  
>  	mxsfb_pdata.mode_list = m28evk_video_modes;
> -- 
> 1.7.10.4
>

Patch hide | download patch | download mbox

diff --git a/arch/arm/boot/dts/imx28-m28evk.dts b/arch/arm/boot/dts/imx28-m28evk.dts
index 183a3fd..e418b75 100644
--- a/arch/arm/boot/dts/imx28-m28evk.dts
+++ b/arch/arm/boot/dts/imx28-m28evk.dts
@@ -23,6 +23,8 @@ 
 	apb@80000000 {
 		apbh@80000000 {
 			gpmi-nand@8000c000 {
+				#address-cells = <1>;
+				#size-cells = <1>;
 				pinctrl-names = "default";
 				pinctrl-0 = <&gpmi_pins_a &gpmi_status_cfg>;
 				status = "okay";
@@ -62,9 +64,28 @@ 
 					     &mmc0_sck_cfg>;
 				bus-width = <8>;
 				wp-gpios = <&gpio3 10 1>;
+				vmmc-supply = <&reg_vddio_sd0>;
 				status = "okay";
 			};
 
+			ssp2: ssp@80014000 {
+				#address-cells = <1>;
+				#size-cells = <0>;
+				compatible = "fsl,imx28-spi";
+				pinctrl-names = "default";
+				pinctrl-0 = <&spi2_pins_a>;
+				status = "okay";
+
+				flash: m25p80@0 {
+					#address-cells = <1>;
+					#size-cells = <1>;
+					compatible = "m25p80";
+					spi-max-frequency = <40000000>;
+					m25p,fast-read;
+					reg = <0>;
+				};
+			};
+
 			pinctrl@80018000 {
 				pinctrl-names = "default";
 				pinctrl-0 = <&hog_pins_a>;
@@ -72,8 +93,11 @@ 
 				hog_pins_a: hog-gpios@0 {
 					reg = <0>;
 					fsl,pinmux-ids = <
+						0x31c3 /* MX28_PAD_PWM3__GPIO_3_28 */
 						0x30a3 /* MX28_PAD_AUART2_CTS__GPIO_3_10 */
 						0x30b3 /* MX28_PAD_AUART2_RTS__GPIO_3_11 */
+						0x30c3 /* MX28_PAD_AUART3_RX__GPIO_3_12 */
+						0x30d3 /* MX28_PAD_AUART3_TX__GPIO_3_13 */
 					>;
 					fsl,drive-strength = <0>;
 					fsl,voltage = <1>;
@@ -90,6 +114,22 @@ 
 					fsl,voltage = <1>;
 					fsl,pull-up = <0>;
 				};
+
+				usb0_pins_a: usb0@0 {
+					reg = <0>;
+					fsl,pinmux-ids = <0x2152>;
+					fsl,drive-strength = <2>;
+					fsl,voltage = <1>;
+					fsl,pull-up = <0>;
+				};
+
+				usb1_pins_a: usb1@0 {
+					reg = <0>;
+					fsl,pinmux-ids = <0x2142>;
+					fsl,drive-strength = <2>;
+					fsl,voltage = <1>;
+					fsl,pull-up = <0>;
+				};
 			};
 
 			lcdif@80030000 {
@@ -99,6 +139,10 @@ 
 				status = "okay";
 			};
 
+			lradc@80050000 {
+				status = "okay";
+			};
+
 			can0: can@80032000 {
 				pinctrl-names = "default";
 				pinctrl-0 = <&can0_pins_a>;
@@ -129,6 +173,7 @@ 
 			i2c0: i2c@80058000 {
 				pinctrl-names = "default";
 				pinctrl-0 = <&i2c0_pins_a>;
+				clock-frequency = <400000>;
 				status = "okay";
 
 				sgtl5000: codec@0a {
@@ -157,26 +202,41 @@ 
 				status = "okay";
 			};
 
-			auart0: serial@8006a000 {
-				pinctrl-names = "default";
-				pinctrl-0 = <&auart0_2pins_a>;
+			usbphy0: usbphy@8007c000 {
 				status = "okay";
 			};
 
-			auart3: serial@80070000 {
+			usbphy1: usbphy@8007e000 {
+				status = "okay";
+			};
+
+			auart0: serial@8006a000 {
 				pinctrl-names = "default";
-				pinctrl-0 = <&auart3_pins_a>;
+				pinctrl-0 = <&auart0_2pins_a>;
 				status = "okay";
 			};
 		};
 	};
 
 	ahb@80080000 {
+		usb0: usb@80080000 {
+			vbus-supply = <&reg_usb0_vbus>;
+			pinctrl-names = "default";
+			pinctrl-0 = <&usb0_pins_a>;
+			status = "okay";
+		};
+
+		usb1: usb@80090000 {
+			vbus-supply = <&reg_usb1_vbus>;
+			pinctrl-names = "default";
+			pinctrl-0 = <&usb1_pins_a>;
+			status = "okay";
+		};
+
 		mac0: ethernet@800f0000 {
 			phy-mode = "rmii";
 			pinctrl-names = "default";
 			pinctrl-0 = <&mac0_pins_a>;
-			phy-reset-gpios = <&gpio3 11 0>;
 			status = "okay";
 		};
 
@@ -198,6 +258,32 @@ 
 			regulator-max-microvolt = <3300000>;
 			regulator-always-on;
 		};
+
+		reg_vddio_sd0: vddio-sd0 {
+			compatible = "regulator-fixed";
+			regulator-name = "vddio-sd0";
+			regulator-min-microvolt = <3300000>;
+			regulator-max-microvolt = <3300000>;
+			gpio = <&gpio3 28 0>;
+		};
+
+		reg_usb0_vbus: usb0_vbus {
+			compatible = "regulator-fixed";
+			regulator-name = "usb0_vbus";
+			regulator-min-microvolt = <5000000>;
+			regulator-max-microvolt = <5000000>;
+			gpio = <&gpio3 12 0>;
+			enable-active-low;
+		};
+
+		reg_usb1_vbus: usb1_vbus {
+			compatible = "regulator-fixed";
+			regulator-name = "usb1_vbus";
+			regulator-min-microvolt = <5000000>;
+			regulator-max-microvolt = <5000000>;
+			gpio = <&gpio3 13 0>;
+			enable-active-low;
+		};
 	};
 
 	sound {
diff --git a/arch/arm/mach-mxs/mach-mxs.c b/arch/arm/mach-mxs/mach-mxs.c
index 8dabfe8..5ac45a1 100644
--- a/arch/arm/mach-mxs/mach-mxs.c
+++ b/arch/arm/mach-mxs/mach-mxs.c
@@ -241,7 +241,6 @@  static void __init imx28_evk_init(void)
 
 static void __init m28evk_init(void)
 {
-	enable_clk_enet_out();
 	update_fec_mac_prop(OUI_DENX);
 
 	mxsfb_pdata.mode_list = m28evk_video_modes;