2013-10-22 17:07:34

by Rostislav Lisovy

[permalink] [raw]
Subject: [PATCH 0/4] Devicetree description for Voipac i.MX53 module

This patchset adds devicetree description for Voipac X53-DMM-668 module
which uses i.MX53 CPU. More information about the module may be found at:
http://www.voipac.com/#X53-DMM-668
The support for the baseboard used with this module is also provided.
More information about the baseboard: http://www.voipac.com/#X25-BSB-000

Working peripherals are:
* UART0
* Ethernet
* Buttons (with keyboard controller)
* Sound (headphone output)
* SD-card
* LEDs (through GPIOs)


Rostislav Lisovy (4):
ARM: dts: i.MX53: Add alternate pinmux option for i2c_3
ARM: dts: i.MX53: Internal keyboard controller
ARM: dts: i.MX53: dts for Voipac x53-dmm-668 module
ARM: dts: i.MX53: Devicetree for Voipac Baseboard using x53-dmm-668
module

arch/arm/boot/dts/imx53-voipac-bsb.dts | 135 +++++++++++++++++++
arch/arm/boot/dts/imx53-voipac-dmm-668.dtsi | 195 +++++++++++++++++++++++++++
arch/arm/boot/dts/imx53.dtsi | 15 +++
3 files changed, 345 insertions(+)
create mode 100644 arch/arm/boot/dts/imx53-voipac-bsb.dts
create mode 100644 arch/arm/boot/dts/imx53-voipac-dmm-668.dtsi

--
1.7.10.4


2013-10-22 17:07:36

by Rostislav Lisovy

[permalink] [raw]
Subject: [PATCH 1/4] ARM: dts: i.MX53: Add alternate pinmux option for i2c_3

Signed-off-by: Rostislav Lisovy <[email protected]>

diff --git a/arch/arm/boot/dts/imx53.dtsi b/arch/arm/boot/dts/imx53.dtsi
index 4307e80..55e83d1 100644
--- a/arch/arm/boot/dts/imx53.dtsi
+++ b/arch/arm/boot/dts/imx53.dtsi
@@ -599,6 +599,13 @@
MX53_PAD_GPIO_5__I2C3_SCL 0xc0000000
>;
};
+
+ pinctrl_i2c3_2: i2c3grp-2 {
+ fsl,pins = <
+ MX53_PAD_GPIO_3__I2C3_SCL 0xc0000000
+ MX53_PAD_GPIO_6__I2C3_SDA 0xc0000000
+ >;
+ };
};

ipu_disp0 {
--
1.7.10.4

2013-10-22 17:07:40

by Rostislav Lisovy

[permalink] [raw]
Subject: [PATCH 2/4] ARM: dts: i.MX53: Internal keyboard controller

Signed-off-by: Rostislav Lisovy <[email protected]>

diff --git a/arch/arm/boot/dts/imx53.dtsi b/arch/arm/boot/dts/imx53.dtsi
index 55e83d1..362eca0 100644
--- a/arch/arm/boot/dts/imx53.dtsi
+++ b/arch/arm/boot/dts/imx53.dtsi
@@ -281,6 +281,14 @@
#interrupt-cells = <2>;
};

+ kpp: kpp@53f94000 {
+ compatible = "fsl,imx53-kpp", "fsl,imx21-kpp";
+ reg = <0x53f94000 0x4000>;
+ interrupts = <60>;
+ clocks = <&clks 0>;
+ status = "disabled";
+ };
+
wdog1: wdog@53f98000 {
compatible = "fsl,imx53-wdt", "fsl,imx21-wdt";
reg = <0x53f98000 0x4000>;
--
1.7.10.4

2013-10-22 17:07:44

by Rostislav Lisovy

[permalink] [raw]
Subject: [PATCH 4/4] ARM: dts: i.MX53: Devicetree for Voipac Baseboard using x53-dmm-668 module

Supported peripherals: Audio -- headphone output, LEDs, Buttons
(using keyboard controller), SD-card.

Signed-off-by: Rostislav Lisovy <[email protected]>

create mode 100644 arch/arm/boot/dts/imx53-voipac-bsb.dts

diff --git a/arch/arm/boot/dts/imx53-voipac-bsb.dts b/arch/arm/boot/dts/imx53-voipac-bsb.dts
new file mode 100644
index 0000000..7b48462
--- /dev/null
+++ b/arch/arm/boot/dts/imx53-voipac-bsb.dts
@@ -0,0 +1,135 @@
+/*
+ * Copyright 2013 Rostislav Lisovy <[email protected]>, PiKRON s.r.o.
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/dts-v1/;
+#include "imx53-voipac-dmm-668.dtsi"
+
+/ {
+ sound {
+ compatible = "fsl,imx53-voipac-sgtl5000",
+ "fsl,imx-audio-sgtl5000";
+ model = "imx53-voipac-sgtl5000";
+ ssi-controller = <&ssi2>;
+ audio-codec = <&sgtl5000>;
+ audio-routing =
+ "Headphone Jack", "HP_OUT";
+ mux-int-port = <2>;
+ mux-ext-port = <5>;
+ };
+
+ leds {
+ compatible = "gpio-leds";
+ pinctrl-names = "default";
+ pinctrl-0 = <&led_pin_gpio>;
+
+ led1 {
+ label = "led-red";
+ gpios = <&gpio3 29 0>;
+ default-state = "off";
+ };
+
+ led2 {
+ label = "led-orange";
+ gpios = <&gpio2 31 0>;
+ default-state = "off";
+ };
+ };
+};
+
+&iomuxc {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_hog>;
+
+ hog {
+ pinctrl_hog: hoggrp {
+ fsl,pins = <
+ /* SD2_CD */
+ MX53_PAD_EIM_D25__GPIO3_25 0x80000000
+ /* SD2_WP */
+ MX53_PAD_EIM_A19__GPIO2_19 0x80000000
+ >;
+ };
+
+ led_pin_gpio: led_gpio@0 {
+ fsl,pins = <
+ MX53_PAD_EIM_D29__GPIO3_29 0x80000000
+ MX53_PAD_EIM_EB3__GPIO2_31 0x80000000
+ >;
+ };
+ };
+
+ /* Keyboard controller */
+ kpp {
+ pinctrl_kpp_1: kppgrp-1 {
+ fsl,pins = <
+ MX53_PAD_GPIO_9__KPP_COL_6 0xe8
+ MX53_PAD_GPIO_4__KPP_COL_7 0xe8
+ MX53_PAD_KEY_COL2__KPP_COL_2 0xe8
+ MX53_PAD_KEY_COL3__KPP_COL_3 0xe8
+ MX53_PAD_KEY_COL4__KPP_COL_4 0xe8
+
+ MX53_PAD_GPIO_2__KPP_ROW_6 0xe0
+ MX53_PAD_GPIO_5__KPP_ROW_7 0xe0
+ MX53_PAD_KEY_ROW2__KPP_ROW_2 0xe0
+ MX53_PAD_KEY_ROW3__KPP_ROW_3 0xe0
+ MX53_PAD_KEY_ROW4__KPP_ROW_4 0xe0
+ >;
+ };
+ };
+};
+
+&i2c3 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_i2c3_2>;
+ status = "okay";
+
+ sgtl5000: codec@0a {
+ compatible = "fsl,sgtl5000";
+ reg = <0x0a>;
+ VDDA-supply = <&reg_3p3v>;
+ VDDIO-supply = <&reg_3p3v>;
+ clocks = <&clks 150>;
+ };
+};
+
+&kpp {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_kpp_1>;
+ linux,keymap = <
+ 0x0203003b /* KEY_F1 */
+ 0x0603003c /* KEY_F2 */
+ 0x0207003d /* KEY_F3 */
+ 0x0607003e /* KEY_F4 */
+ >;
+ keypad,num-rows = <8>;
+ keypad,num-columns = <8>;
+ status = "okay";
+};
+
+&ssi2 {
+ fsl,mode = "i2s-slave";
+ status = "okay";
+};
+
+&audmux {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_audmux_1>; /* SSI1 */
+ status = "okay";
+};
+
+&esdhc2 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_esdhc2_1>;
+ cd-gpios = <&gpio3 25 0>;
+ wp-gpios = <&gpio2 19 0>;
+ vmmc-supply = <&reg_3p3v>;
+ status = "okay";
+};
--
1.7.10.4

2013-10-22 17:08:11

by Rostislav Lisovy

[permalink] [raw]
Subject: [PATCH 3/4] ARM: dts: i.MX53: dts for Voipac x53-dmm-668 module

Enable UART1 and FEC

Signed-off-by: Rostislav Lisovy <[email protected]>

create mode 100644 arch/arm/boot/dts/imx53-voipac-dmm-668.dtsi

diff --git a/arch/arm/boot/dts/imx53-voipac-dmm-668.dtsi b/arch/arm/boot/dts/imx53-voipac-dmm-668.dtsi
new file mode 100644
index 0000000..04695c9
--- /dev/null
+++ b/arch/arm/boot/dts/imx53-voipac-dmm-668.dtsi
@@ -0,0 +1,195 @@
+/*
+ * Copyright 2013 Rostislav Lisovy <[email protected]>, PiKRON s.r.o.
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+#include "imx53.dtsi"
+
+/ {
+ model = "Voipac i.MX53 X53-DMM-668";
+ compatible = "vp,imx53-dmm-668", "fsl,imx53";
+
+ memory@0 {
+ device_type = "memory";
+ reg = <0x70000000 0x20000000>;
+ };
+
+ memory@1 {
+ device_type = "memory";
+ reg = <0xb0000000 0x20000000>;
+ };
+
+ regulators {
+ compatible = "simple-bus";
+
+ reg_3p3v: 3p3v {
+ compatible = "regulator-fixed";
+ regulator-name = "3P3V";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-always-on;
+ };
+ };
+};
+
+&iomuxc {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_hog>;
+
+ hog {
+ pinctrl_hog: hoggrp {
+ fsl,pins = <
+ /* Make DA9053 regulator functional */
+ MX53_PAD_GPIO_16__GPIO7_11 0x80000000
+
+ /* FEC Power enable */
+ MX53_PAD_GPIO_11__GPIO4_1 0x80000000
+
+ /* FEC RST */
+ MX53_PAD_GPIO_12__GPIO4_2 0x80000000
+ >;
+ };
+ };
+};
+
+&uart1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_uart1_2>;
+ status = "okay";
+};
+
+&i2c1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_i2c1_2>;
+ status = "okay";
+
+ pmic: dialog@48 {
+ compatible = "dlg,da9053-aa", "dlg,da9052";
+ reg = <0x48>;
+ interrupt-parent = <&gpio7>;
+ interrupts = <11 0x8>; /* low-level active IRQ at GPIO7_11 */
+
+ regulators {
+ buck1_reg: buck1 {
+ regulator-name = "BUCKCORE";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1400000>;
+ regulator-always-on;
+ };
+
+ buck2_reg: buck2 {
+ regulator-name = "BUCKPRO";
+ regulator-min-microvolt = <900000>;
+ regulator-max-microvolt = <1350000>;
+ regulator-always-on;
+ };
+
+ buck3_reg: buck3 {
+ regulator-name = "BUCKMEM";
+ regulator-min-microvolt = <1420000>;
+ regulator-max-microvolt = <1580000>;
+ regulator-always-on;
+ };
+
+ buck4_reg: buck4 {
+ regulator-name = "BUCKPERI";
+ regulator-min-microvolt = <2370000>;
+ regulator-max-microvolt = <2630000>;
+ regulator-always-on;
+ };
+
+ ldo1_reg: ldo1 {
+ regulator-name = "ldo1_1v3";
+ regulator-min-microvolt = <1250000>;
+ regulator-max-microvolt = <1350000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ ldo2_reg: ldo2 {
+ regulator-name = "ldo2_1v3";
+ regulator-min-microvolt = <1250000>;
+ regulator-max-microvolt = <1350000>;
+ regulator-always-on;
+ };
+
+ ldo3_reg: ldo3 {
+ regulator-name = "ldo3_3v3";
+ regulator-min-microvolt = <3250000>;
+ regulator-max-microvolt = <3350000>;
+ regulator-always-on;
+ };
+
+ ldo4_reg: ldo4 {
+ regulator-name = "ldo4_2v775";
+ regulator-min-microvolt = <2770000>;
+ regulator-max-microvolt = <2780000>;
+ regulator-always-on;
+ };
+
+ ldo5_reg: ldo5 {
+ regulator-name = "ldo5_3v3";
+ regulator-min-microvolt = <3250000>;
+ regulator-max-microvolt = <3350000>;
+ regulator-always-on;
+ };
+
+ ldo6_reg: ldo6 {
+ regulator-name = "ldo6_1v3";
+ regulator-min-microvolt = <1250000>;
+ regulator-max-microvolt = <1350000>;
+ regulator-always-on;
+ };
+
+ ldo7_reg: ldo7 {
+ regulator-name = "ldo7_2v75";
+ regulator-min-microvolt = <2700000>;
+ regulator-max-microvolt = <2800000>;
+ regulator-always-on;
+ };
+
+ ldo8_reg: ldo8 {
+ regulator-name = "ldo8_1v8";
+ regulator-min-microvolt = <1750000>;
+ regulator-max-microvolt = <1850000>;
+ regulator-always-on;
+ };
+
+ ldo9_reg: ldo9 {
+ regulator-name = "ldo9_1v5";
+ regulator-min-microvolt = <1450000>;
+ regulator-max-microvolt = <1550000>;
+ regulator-always-on;
+ };
+
+ ldo10_reg: ldo10 {
+ regulator-name = "ldo10_1v3";
+ regulator-min-microvolt = <1250000>;
+ regulator-max-microvolt = <1350000>;
+ regulator-always-on;
+ };
+ };
+ };
+};
+
+&ecspi1 {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_ecspi1_1>;
+ fsl,spi-num-chipselects = <4>;
+ cs-gpios = <&gpio2 30 0>, <&gpio3 19 0>, <&gpio2 16 0>, <&gpio2 17 0>;
+ status = "okay";
+};
+
+&fec {
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_fec_1>;
+ phy-mode = "rmii";
+ phy-reset-gpios = <&gpio4 2 0>;
+ status = "okay";
+};
--
1.7.10.4

2013-10-23 07:28:31

by Shawn Guo

[permalink] [raw]
Subject: Re: [PATCH 3/4] ARM: dts: i.MX53: dts for Voipac x53-dmm-668 module

On Tue, Oct 22, 2013 at 07:07:22PM +0200, Rostislav Lisovy wrote:
> Enable UART1 and FEC

You have more than these two enabled.

>
> Signed-off-by: Rostislav Lisovy <[email protected]>
>
> create mode 100644 arch/arm/boot/dts/imx53-voipac-dmm-668.dtsi
>
> diff --git a/arch/arm/boot/dts/imx53-voipac-dmm-668.dtsi b/arch/arm/boot/dts/imx53-voipac-dmm-668.dtsi
> new file mode 100644
> index 0000000..04695c9
> --- /dev/null
> +++ b/arch/arm/boot/dts/imx53-voipac-dmm-668.dtsi
> @@ -0,0 +1,195 @@
> +/*
> + * Copyright 2013 Rostislav Lisovy <[email protected]>, PiKRON s.r.o.
> + *
> + * The code contained herein is licensed under the GNU General Public
> + * License. You may obtain a copy of the GNU General Public License
> + * Version 2 or later at the following locations:
> + *
> + * http://www.opensource.org/licenses/gpl-license.html
> + * http://www.gnu.org/copyleft/gpl.html
> + */
> +
> +#include "imx53.dtsi"
> +
> +/ {
> + model = "Voipac i.MX53 X53-DMM-668";
> + compatible = "vp,imx53-dmm-668", "fsl,imx53";
> +
> + memory@0 {
> + device_type = "memory";
> + reg = <0x70000000 0x20000000>;
> + };
> +
> + memory@1 {
> + device_type = "memory";
> + reg = <0xb0000000 0x20000000>;
> + };

The 'num' in memory@num should match the first number in 'reg' property,
so they should looks like:

memory@70000000 {
device_type = "memory";
reg = <0x70000000 0x20000000>;
}

memory@b0000000 {
device_type = "memory";
reg = <0xb0000000 0x20000000>;
}

> +
> + regulators {
> + compatible = "simple-bus";
> +
> + reg_3p3v: 3p3v {
> + compatible = "regulator-fixed";
> + regulator-name = "3P3V";
> + regulator-min-microvolt = <3300000>;
> + regulator-max-microvolt = <3300000>;
> + regulator-always-on;
> + };
> + };
> +};
> +
> +&iomuxc {
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_hog>;
> +
> + hog {
> + pinctrl_hog: hoggrp {
> + fsl,pins = <
> + /* Make DA9053 regulator functional */
> + MX53_PAD_GPIO_16__GPIO7_11 0x80000000
> +

Drop these blank lines. We generally only have blank lines between
nodes.

> + /* FEC Power enable */
> + MX53_PAD_GPIO_11__GPIO4_1 0x80000000
> +
> + /* FEC RST */
> + MX53_PAD_GPIO_12__GPIO4_2 0x80000000
> + >;
> + };
> + };
> +};
> +
> +&uart1 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_uart1_2>;
> + status = "okay";
> +};
> +
> +&i2c1 {

Please sort these nodes alphabetically in label name, so that new node
can find they slots easily.

Shawn

> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_i2c1_2>;
> + status = "okay";
> +
> + pmic: dialog@48 {
> + compatible = "dlg,da9053-aa", "dlg,da9052";
> + reg = <0x48>;
> + interrupt-parent = <&gpio7>;
> + interrupts = <11 0x8>; /* low-level active IRQ at GPIO7_11 */
> +
> + regulators {
> + buck1_reg: buck1 {
> + regulator-name = "BUCKCORE";
> + regulator-min-microvolt = <1200000>;
> + regulator-max-microvolt = <1400000>;
> + regulator-always-on;
> + };
> +
> + buck2_reg: buck2 {
> + regulator-name = "BUCKPRO";
> + regulator-min-microvolt = <900000>;
> + regulator-max-microvolt = <1350000>;
> + regulator-always-on;
> + };
> +
> + buck3_reg: buck3 {
> + regulator-name = "BUCKMEM";
> + regulator-min-microvolt = <1420000>;
> + regulator-max-microvolt = <1580000>;
> + regulator-always-on;
> + };
> +
> + buck4_reg: buck4 {
> + regulator-name = "BUCKPERI";
> + regulator-min-microvolt = <2370000>;
> + regulator-max-microvolt = <2630000>;
> + regulator-always-on;
> + };
> +
> + ldo1_reg: ldo1 {
> + regulator-name = "ldo1_1v3";
> + regulator-min-microvolt = <1250000>;
> + regulator-max-microvolt = <1350000>;
> + regulator-boot-on;
> + regulator-always-on;
> + };
> +
> + ldo2_reg: ldo2 {
> + regulator-name = "ldo2_1v3";
> + regulator-min-microvolt = <1250000>;
> + regulator-max-microvolt = <1350000>;
> + regulator-always-on;
> + };
> +
> + ldo3_reg: ldo3 {
> + regulator-name = "ldo3_3v3";
> + regulator-min-microvolt = <3250000>;
> + regulator-max-microvolt = <3350000>;
> + regulator-always-on;
> + };
> +
> + ldo4_reg: ldo4 {
> + regulator-name = "ldo4_2v775";
> + regulator-min-microvolt = <2770000>;
> + regulator-max-microvolt = <2780000>;
> + regulator-always-on;
> + };
> +
> + ldo5_reg: ldo5 {
> + regulator-name = "ldo5_3v3";
> + regulator-min-microvolt = <3250000>;
> + regulator-max-microvolt = <3350000>;
> + regulator-always-on;
> + };
> +
> + ldo6_reg: ldo6 {
> + regulator-name = "ldo6_1v3";
> + regulator-min-microvolt = <1250000>;
> + regulator-max-microvolt = <1350000>;
> + regulator-always-on;
> + };
> +
> + ldo7_reg: ldo7 {
> + regulator-name = "ldo7_2v75";
> + regulator-min-microvolt = <2700000>;
> + regulator-max-microvolt = <2800000>;
> + regulator-always-on;
> + };
> +
> + ldo8_reg: ldo8 {
> + regulator-name = "ldo8_1v8";
> + regulator-min-microvolt = <1750000>;
> + regulator-max-microvolt = <1850000>;
> + regulator-always-on;
> + };
> +
> + ldo9_reg: ldo9 {
> + regulator-name = "ldo9_1v5";
> + regulator-min-microvolt = <1450000>;
> + regulator-max-microvolt = <1550000>;
> + regulator-always-on;
> + };
> +
> + ldo10_reg: ldo10 {
> + regulator-name = "ldo10_1v3";
> + regulator-min-microvolt = <1250000>;
> + regulator-max-microvolt = <1350000>;
> + regulator-always-on;
> + };
> + };
> + };
> +};
> +
> +&ecspi1 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_ecspi1_1>;
> + fsl,spi-num-chipselects = <4>;
> + cs-gpios = <&gpio2 30 0>, <&gpio3 19 0>, <&gpio2 16 0>, <&gpio2 17 0>;
> + status = "okay";
> +};
> +
> +&fec {
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_fec_1>;
> + phy-mode = "rmii";
> + phy-reset-gpios = <&gpio4 2 0>;
> + status = "okay";
> +};
> --
> 1.7.10.4
>

2013-10-23 07:34:10

by Shawn Guo

[permalink] [raw]
Subject: Re: [PATCH 4/4] ARM: dts: i.MX53: Devicetree for Voipac Baseboard using x53-dmm-668 module

On Tue, Oct 22, 2013 at 07:07:23PM +0200, Rostislav Lisovy wrote:
> Supported peripherals: Audio -- headphone output, LEDs, Buttons
> (using keyboard controller), SD-card.
>
> Signed-off-by: Rostislav Lisovy <[email protected]>
>
> create mode 100644 arch/arm/boot/dts/imx53-voipac-bsb.dts

Add the dtb target into arch/arm/boot/dts/Makefile.

>
> diff --git a/arch/arm/boot/dts/imx53-voipac-bsb.dts b/arch/arm/boot/dts/imx53-voipac-bsb.dts
> new file mode 100644
> index 0000000..7b48462
> --- /dev/null
> +++ b/arch/arm/boot/dts/imx53-voipac-bsb.dts
> @@ -0,0 +1,135 @@
> +/*
> + * Copyright 2013 Rostislav Lisovy <[email protected]>, PiKRON s.r.o.
> + *
> + * The code contained herein is licensed under the GNU General Public
> + * License. You may obtain a copy of the GNU General Public License
> + * Version 2 or later at the following locations:
> + *
> + * http://www.opensource.org/licenses/gpl-license.html
> + * http://www.gnu.org/copyleft/gpl.html
> + */
> +
> +/dts-v1/;
> +#include "imx53-voipac-dmm-668.dtsi"
> +
> +/ {
> + sound {
> + compatible = "fsl,imx53-voipac-sgtl5000",
> + "fsl,imx-audio-sgtl5000";
> + model = "imx53-voipac-sgtl5000";
> + ssi-controller = <&ssi2>;
> + audio-codec = <&sgtl5000>;
> + audio-routing =
> + "Headphone Jack", "HP_OUT";
> + mux-int-port = <2>;
> + mux-ext-port = <5>;
> + };
> +
> + leds {
> + compatible = "gpio-leds";
> + pinctrl-names = "default";
> + pinctrl-0 = <&led_pin_gpio>;
> +
> + led1 {
> + label = "led-red";
> + gpios = <&gpio3 29 0>;
> + default-state = "off";
> + };
> +
> + led2 {
> + label = "led-orange";
> + gpios = <&gpio2 31 0>;
> + default-state = "off";
> + };
> + };
> +};
> +
> +&iomuxc {
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_hog>;
> +
> + hog {
> + pinctrl_hog: hoggrp {
> + fsl,pins = <
> + /* SD2_CD */
> + MX53_PAD_EIM_D25__GPIO3_25 0x80000000
> + /* SD2_WP */
> + MX53_PAD_EIM_A19__GPIO2_19 0x80000000
> + >;
> + };
> +
> + led_pin_gpio: led_gpio@0 {

Drop the '@0' from node name, since you do not have a 'reg' property for
the node at all.

> + fsl,pins = <
> + MX53_PAD_EIM_D29__GPIO3_29 0x80000000
> + MX53_PAD_EIM_EB3__GPIO2_31 0x80000000
> + >;
> + };
> + };
> +
> + /* Keyboard controller */
> + kpp {
> + pinctrl_kpp_1: kppgrp-1 {
> + fsl,pins = <
> + MX53_PAD_GPIO_9__KPP_COL_6 0xe8
> + MX53_PAD_GPIO_4__KPP_COL_7 0xe8
> + MX53_PAD_KEY_COL2__KPP_COL_2 0xe8
> + MX53_PAD_KEY_COL3__KPP_COL_3 0xe8
> + MX53_PAD_KEY_COL4__KPP_COL_4 0xe8
> +
> + MX53_PAD_GPIO_2__KPP_ROW_6 0xe0
> + MX53_PAD_GPIO_5__KPP_ROW_7 0xe0
> + MX53_PAD_KEY_ROW2__KPP_ROW_2 0xe0
> + MX53_PAD_KEY_ROW3__KPP_ROW_3 0xe0
> + MX53_PAD_KEY_ROW4__KPP_ROW_4 0xe0
> + >;
> + };
> + };
> +};
> +
> +&i2c3 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_i2c3_2>;
> + status = "okay";
> +
> + sgtl5000: codec@0a {
> + compatible = "fsl,sgtl5000";
> + reg = <0x0a>;
> + VDDA-supply = <&reg_3p3v>;
> + VDDIO-supply = <&reg_3p3v>;
> + clocks = <&clks 150>;
> + };
> +};
> +
> +&kpp {
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_kpp_1>;
> + linux,keymap = <
> + 0x0203003b /* KEY_F1 */
> + 0x0603003c /* KEY_F2 */
> + 0x0207003d /* KEY_F3 */
> + 0x0607003e /* KEY_F4 */
> + >;
> + keypad,num-rows = <8>;
> + keypad,num-columns = <8>;
> + status = "okay";
> +};
> +
> +&ssi2 {
> + fsl,mode = "i2s-slave";
> + status = "okay";
> +};
> +
> +&audmux {
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_audmux_1>; /* SSI1 */
> + status = "okay";
> +};
> +
> +&esdhc2 {
> + pinctrl-names = "default";
> + pinctrl-0 = <&pinctrl_esdhc2_1>;
> + cd-gpios = <&gpio3 25 0>;
> + wp-gpios = <&gpio2 19 0>;
> + vmmc-supply = <&reg_3p3v>;
> + status = "okay";
> +};

Sort these nodes, please.

Shawn

> --
> 1.7.10.4
>

2013-10-23 07:57:35

by Shawn Guo

[permalink] [raw]
Subject: Re: [PATCH 1/4] ARM: dts: i.MX53: Add alternate pinmux option for i2c_3

On Tue, Oct 22, 2013 at 07:07:20PM +0200, Rostislav Lisovy wrote:
> Signed-off-by: Rostislav Lisovy <[email protected]>
>

Applied #1 and #2, thanks.

Shawn

> diff --git a/arch/arm/boot/dts/imx53.dtsi b/arch/arm/boot/dts/imx53.dtsi
> index 4307e80..55e83d1 100644
> --- a/arch/arm/boot/dts/imx53.dtsi
> +++ b/arch/arm/boot/dts/imx53.dtsi
> @@ -599,6 +599,13 @@
> MX53_PAD_GPIO_5__I2C3_SCL 0xc0000000
> >;
> };
> +
> + pinctrl_i2c3_2: i2c3grp-2 {
> + fsl,pins = <
> + MX53_PAD_GPIO_3__I2C3_SCL 0xc0000000
> + MX53_PAD_GPIO_6__I2C3_SDA 0xc0000000
> + >;
> + };
> };
>
> ipu_disp0 {
> --
> 1.7.10.4
>

2013-10-24 19:12:12

by Rostislav Lisovy

[permalink] [raw]
Subject: Re: [PATCH 3/4] ARM: dts: i.MX53: dts for Voipac x53-dmm-668 module

Dear Shawn;
Thank you for your comments.
Should I also add Voipac to
Documentation/devicetree/bindings/vendor-prefixes.txt?

Best regards;
Rostislav Lisovy


On Wed, 2013-10-23 at 15:27 +0800, Shawn Guo wrote:
> On Tue, Oct 22, 2013 at 07:07:22PM +0200, Rostislav Lisovy wrote:
> > Enable UART1 and FEC
>
> You have more than these two enabled.
>
> >
> > Signed-off-by: Rostislav Lisovy <[email protected]>
> >
> > create mode 100644 arch/arm/boot/dts/imx53-voipac-dmm-668.dtsi
> >
> > diff --git a/arch/arm/boot/dts/imx53-voipac-dmm-668.dtsi b/arch/arm/boot/dts/imx53-voipac-dmm-668.dtsi
> > new file mode 100644
> > index 0000000..04695c9
> > --- /dev/null
> > +++ b/arch/arm/boot/dts/imx53-voipac-dmm-668.dtsi
> > @@ -0,0 +1,195 @@
> > +/*
> > + * Copyright 2013 Rostislav Lisovy <[email protected]>, PiKRON s.r.o.
> > + *
> > + * The code contained herein is licensed under the GNU General Public
> > + * License. You may obtain a copy of the GNU General Public License
> > + * Version 2 or later at the following locations:
> > + *
> > + * http://www.opensource.org/licenses/gpl-license.html
> > + * http://www.gnu.org/copyleft/gpl.html
> > + */
> > +
> > +#include "imx53.dtsi"
> > +
> > +/ {
> > + model = "Voipac i.MX53 X53-DMM-668";
> > + compatible = "vp,imx53-dmm-668", "fsl,imx53";
> > +
> > + memory@0 {
> > + device_type = "memory";
> > + reg = <0x70000000 0x20000000>;
> > + };
> > +
> > + memory@1 {
> > + device_type = "memory";
> > + reg = <0xb0000000 0x20000000>;
> > + };
>
> The 'num' in memory@num should match the first number in 'reg' property,
> so they should looks like:
>
> memory@70000000 {
> device_type = "memory";
> reg = <0x70000000 0x20000000>;
> }
>
> memory@b0000000 {
> device_type = "memory";
> reg = <0xb0000000 0x20000000>;
> }
>
> > +
> > + regulators {
> > + compatible = "simple-bus";
> > +
> > + reg_3p3v: 3p3v {
> > + compatible = "regulator-fixed";
> > + regulator-name = "3P3V";
> > + regulator-min-microvolt = <3300000>;
> > + regulator-max-microvolt = <3300000>;
> > + regulator-always-on;
> > + };
> > + };
> > +};
> > +
> > +&iomuxc {
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&pinctrl_hog>;
> > +
> > + hog {
> > + pinctrl_hog: hoggrp {
> > + fsl,pins = <
> > + /* Make DA9053 regulator functional */
> > + MX53_PAD_GPIO_16__GPIO7_11 0x80000000
> > +
>
> Drop these blank lines. We generally only have blank lines between
> nodes.
>
> > + /* FEC Power enable */
> > + MX53_PAD_GPIO_11__GPIO4_1 0x80000000
> > +
> > + /* FEC RST */
> > + MX53_PAD_GPIO_12__GPIO4_2 0x80000000
> > + >;
> > + };
> > + };
> > +};
> > +
> > +&uart1 {
> > + pinctrl-names = "default";
> > + pinctrl-0 = <&pinctrl_uart1_2>;
> > + status = "okay";
> > +};
> > +
> > +&i2c1 {
>
> Please sort these nodes alphabetically in label name, so that new node
> can find they slots easily.
>
> Shawn
>

2013-10-24 19:49:37

by Matt Sealey

[permalink] [raw]
Subject: Re: [PATCH 3/4] ARM: dts: i.MX53: dts for Voipac x53-dmm-668 module

On Thu, Oct 24, 2013 at 2:12 PM, Rostislav Lisovy <[email protected]> wrote:
> Dear Shawn;
> Thank you for your comments.
> Should I also add Voipac to
> Documentation/devicetree/bindings/vendor-prefixes.txt?

I would agree with that, but why is your chosen prefix "vp" instead of
"voipac" anyway?

--
Matt Sealey <[email protected]>

2013-10-24 19:59:03

by Rostislav Lisovy

[permalink] [raw]
Subject: Re: [PATCH 3/4] ARM: dts: i.MX53: dts for Voipac x53-dmm-668 module

I saw that most of the vendor prefixes are somehow shortened (e.g.
Freescale -- fsl, etc.).

Rostislav Lisovy


On Thu, 2013-10-24 at 14:49 -0500, Matt Sealey wrote:
> On Thu, Oct 24, 2013 at 2:12 PM, Rostislav Lisovy <[email protected]> wrote:
> > Dear Shawn;
> > Thank you for your comments.
> > Should I also add Voipac to
> > Documentation/devicetree/bindings/vendor-prefixes.txt?
>
> I would agree with that, but why is your chosen prefix "vp" instead of
> "voipac" anyway?
>

2013-10-25 01:28:43

by Shawn Guo

[permalink] [raw]
Subject: Re: [PATCH 3/4] ARM: dts: i.MX53: dts for Voipac x53-dmm-668 module

On Thu, Oct 24, 2013 at 09:58:53PM +0200, Rostislav Lisovy wrote:
> I saw that most of the vendor prefixes are somehow shortened (e.g.
> Freescale -- fsl, etc.).

The 'fsl' is the stock symbol of Freescale. If that's not the case for
voipac, I think 'voipac' is more appropriate.

Shawn

> On Thu, 2013-10-24 at 14:49 -0500, Matt Sealey wrote:
> > On Thu, Oct 24, 2013 at 2:12 PM, Rostislav Lisovy <[email protected]> wrote:
> > > Dear Shawn;
> > > Thank you for your comments.
> > > Should I also add Voipac to
> > > Documentation/devicetree/bindings/vendor-prefixes.txt?
> >
> > I would agree with that, but why is your chosen prefix "vp" instead of
> > "voipac" anyway?
> >
>
>