ARM: dts: imx: add Gateworks Ventana GW553x support
Subsystems (3)
PATCH v2 1/1 ARM: dts: imx: add Gateworks Ventana GW553x support
The Gateworks Ventana GW553x is a single-board computer based on the NXP IMX6 SoC with the following features:
* IMX6 DualLite Soc (supports IMX6S,IMX6DL,IMX6Q)
* small form factor (35x70mm)
* 512MB DDR3 DRAM (2x32bit) (options up to 2GB)
* 256MB NAND flash (4GB option)
* Gateworks System Controller:
- hardware watchdog
- hardware monitor
- pushbutton controller
- EEPROM storage
- power control
* JTAG programmable
* 1x miniPCI socket (with PCIe, USB, SIM)
* 1x microSD socket
* 1x SIM socket
* Inertial Module (LSM9DS1 9DOF: 3x acc, 3x rate, 3x mag)
* analog CVBS video in
* GPS (optional uBlox EVA-M8M)
* Application headers:
- 2x TTL UART (TX/RX)
- 4x TTL GPIO (3x configurable as PWM)
- 3x CVBS Analog video input (1x decoder with 3x selectable inputs)
* Front panel connectors:
- micro-HDMI audio/video out
- 1x user programmable LED
- 1x configurable user pushbutton
- 1x USB OTG
See http://www.gateworks.com for more info
---
v2:
- add dual license to *.dts files
- add prop for external watchdog reset
--- arch/arm/boot/dts/Makefile | 2 + arch/arm/boot/dts/imx6dl-gw553x.dts | 55 +++++ arch/arm/boot/dts/imx6q-gw553x.dts | 55 +++++ arch/arm/boot/dts/imx6qdl-gw53xx.dtsi | 1 - arch/arm/boot/dts/imx6qdl-gw553x.dtsi | 444 ++++++++++++++++++++++++++++++++++ 5 files changed, 556 insertions(+), 1 deletion(-) create mode 100644 arch/arm/boot/dts/imx6dl-gw553x.dts create mode 100644 arch/arm/boot/dts/imx6q-gw553x.dts create mode 100644 arch/arm/boot/dts/imx6qdl-gw553x.dtsi
arch/arm/boot/dts/Makefile +2 -0
@@ -318,6 +318,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \ imx6dl-gw54xx.dtb \ imx6dl-gw551x.dtb \ imx6dl-gw552x.dtb \ + imx6dl-gw553x.dtb \ imx6dl-hummingboard.dtb \ imx6dl-nit6xlite.dtb \ imx6dl-nitrogen6x.dtb \
@@ -356,6 +357,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \ imx6q-gw54xx.dtb \ imx6q-gw551x.dtb \ imx6q-gw552x.dtb \ + imx6q-gw553x.dtb \ imx6q-h100.dtb \ imx6q-hummingboard.dtb \ imx6q-icore-rqs.dtb \
arch/arm/boot/dts/imx6dl-gw553x.dts new file +55 -0
55 lines not on this page · raw message
arch/arm/boot/dts/imx6q-gw553x.dts new file +55 -0
55 lines not on this page · raw message
arch/arm/boot/dts/imx6qdl-gw53xx.dtsi +0 -1
@@ -86,7 +86,6 @@ regulator-always-on; }; - /* remove when pmic 1p8 regulator available */ reg_1p8v: regulator at 1 { compatible = "regulator-fixed"; reg = <1>;
arch/arm/boot/dts/imx6qdl-gw553x.dtsi new file +444 -0
444 lines not on this page · raw message
Signature · 1 line
1.9.1
PATCH v2 1/1 ARM: dts: imx: add Gateworks Ventana GW553x support
arch/arm/boot/dts/imx6qdl-gw53xx.dtsi line 89
Quoted 9 lines · Tim Harvey
arch/arm/boot/dts/imx6qdl-gw53xx.dtsi +0
-1@@ -86,7 +86,6 @@ regulator-always-on; }; - /* remove when pmic 1p8 regulator available */
Is this change related?
Quoted 8 lines
arch/arm/boot/dts/imx6qdl-gw53xx.dtsi +0
-0reg_1p8v: regulator at 1 { compatible = "regulator-fixed"; reg = <1>;arch/arm/boot/dts/imx6qdl-gw553x.dtsi new file +0
-0
<snip>
arch/arm/boot/dts/imx6qdl-gw553x.dtsi line 61
Quoted 2 lines
arch/arm/boot/dts/imx6qdl-gw553x.dtsi new file +2
-0+ chosen { + bootargs = "console=ttymxc1,115200";
A 'stdout-path' should make more sense here.
Quoted 27 lines
arch/arm/boot/dts/imx6qdl-gw553x.dtsi new file +27
-0+ }; + + leds { + compatible = "gpio-leds"; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_gpio_leds>; + + led0: user1 { + label = "user1"; + gpios = <&gpio4 10 GPIO_ACTIVE_HIGH>; /* MX6_PANLEDG */ + default-state = "on"; + linux,default-trigger = "heartbeat"; + }; + + led1: user2 { + label = "user2"; + gpios = <&gpio4 11 GPIO_ACTIVE_HIGH>; /* MX6_PANLEDR */ + default-state = "off"; + }; + }; + + memory { + reg = <0x10000000 0x20000000>; + }; + + pps { + compatible = "pps-gpio";
arch/arm/boot/dts/imx6qdl-gw553x.dtsi line 98
Quoted 10 lines
arch/arm/boot/dts/imx6qdl-gw553x.dtsi new file +10
-0+ pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_pps>; + gpios = <&gpio1 26 GPIO_ACTIVE_HIGH>; + status = "okay"; + }; + + regulators { + compatible = "simple-bus"; + #address-cells = <1>; + #size-cells = <0>;
We had stopped doing this for a while, because DT maintainers do not like this fake simple-bus container. Please put the fixed regulator nodes directly under root with following naming schema.
reg_xxx: regulator-xxx {
...
};Quoted 70 lines
arch/arm/boot/dts/imx6qdl-gw553x.dtsi new file +70
-0+ + reg_3p3v: regulator at 0 { + compatible = "regulator-fixed"; + reg = <0>; + regulator-name = "3P0V"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + }; + + reg_5p0v: regulator at 1 { + compatible = "regulator-fixed"; + reg = <1>; + regulator-name = "5P0V"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + regulator-always-on; + }; + + reg_usb_otg_vbus: regulator at 2 { + compatible = "regulator-fixed"; + reg = <2>; + regulator-name = "usb_otg_vbus"; + regulator-min-microvolt = <5000000>; + regulator-max-microvolt = <5000000>; + gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + }; +}; + +&gpmi { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_gpmi_nand>; + status = "okay"; +}; + +&hdmi { + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_hdmi>; + ddc-i2c-bus = <&i2c3>; + status = "okay"; +}; + +&i2c1 { + clock-frequency = <100000>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_i2c1>; + status = "okay"; + + eeprom1: eeprom at 50 { + compatible = "atmel,24c02"; + reg = <0x50>; + pagesize = <16>; + }; + + eeprom2: eeprom at 51 { + compatible = "atmel,24c02"; + reg = <0x51>; + pagesize = <16>; + }; + + eeprom3: eeprom at 52 { + compatible = "atmel,24c02"; + reg = <0x52>; + pagesize = <16>; + }; + + eeprom4: eeprom at 53 { + compatible = "atmel,24c02";
arch/arm/boot/dts/imx6qdl-gw553x.dtsi line 178
Quoted 10 lines
arch/arm/boot/dts/imx6qdl-gw553x.dtsi new file +10
-0+ reg = <0x53>; + pagesize = <16>; + }; + + gpio: pca9555 at 23 { + compatible = "nxp,pca9555"; + reg = <0x23>; + gpio-controller; + #gpio-cells = <2>; + };
We generally sort the device nodes under I2C bus in order of slave address. That said, this pca9555 at 23 node should go before eeprom at 50.
Quoted 6 lines
arch/arm/boot/dts/imx6qdl-gw553x.dtsi new file +6
-0+ + rtc: ds1672 at 68 { + compatible = "dallas,ds1672"; + reg = <0x68>; + }; +};
<snip>
arch/arm/boot/dts/imx6qdl-gw553x.dtsi line 278
Quoted 2 lines
+&iomuxc {
arch/arm/boot/dts/imx6qdl-gw553x.dtsi new file +1
-0+ imx6qdl-gw553x {
Since commit 5fcdf6a7ed95 (pinctrl: imx: Allow parsing DT without function nodes), this function container node is no longer needed.
Shawn
Quoted 174 lines
arch/arm/boot/dts/imx6qdl-gw553x.dtsi new file +166
-0+ pinctrl_gpmi_nand: gpminandgrp { + fsl,pins = < + MX6QDL_PAD_NANDF_CLE__NAND_CLE 0xb0b1 + MX6QDL_PAD_NANDF_ALE__NAND_ALE 0xb0b1 + MX6QDL_PAD_NANDF_WP_B__NAND_WP_B 0xb0b1 + MX6QDL_PAD_NANDF_RB0__NAND_READY_B 0xb000 + MX6QDL_PAD_NANDF_CS0__NAND_CE0_B 0xb0b1 + MX6QDL_PAD_SD4_CMD__NAND_RE_B 0xb0b1 + MX6QDL_PAD_SD4_CLK__NAND_WE_B 0xb0b1 + MX6QDL_PAD_NANDF_D0__NAND_DATA00 0xb0b1 + MX6QDL_PAD_NANDF_D1__NAND_DATA01 0xb0b1 + MX6QDL_PAD_NANDF_D2__NAND_DATA02 0xb0b1 + MX6QDL_PAD_NANDF_D3__NAND_DATA03 0xb0b1 + MX6QDL_PAD_NANDF_D4__NAND_DATA04 0xb0b1 + MX6QDL_PAD_NANDF_D5__NAND_DATA05 0xb0b1 + MX6QDL_PAD_NANDF_D6__NAND_DATA06 0xb0b1 + MX6QDL_PAD_NANDF_D7__NAND_DATA07 0xb0b1 + >; + }; + + pinctrl_hdmi: hdmigrp { + fsl,pins = < + MX6QDL_PAD_EIM_A25__HDMI_TX_CEC_LINE 0x1f8b0 + >; + }; + + pinctrl_i2c1: i2c1grp { + fsl,pins = < + MX6QDL_PAD_EIM_D21__I2C1_SCL 0x4001b8b1 + MX6QDL_PAD_EIM_D28__I2C1_SDA 0x4001b8b1 + >; + }; + + pinctrl_i2c2: i2c2grp { + fsl,pins = < + MX6QDL_PAD_KEY_COL3__I2C2_SCL 0x4001b8b1 + MX6QDL_PAD_KEY_ROW3__I2C2_SDA 0x4001b8b1 + >; + }; + + pinctrl_i2c3: i2c3grp { + fsl,pins = < + MX6QDL_PAD_GPIO_3__I2C3_SCL 0x4001b8b1 + MX6QDL_PAD_GPIO_6__I2C3_SDA 0x4001b8b1 + >; + }; + + pinctrl_gpio_leds: gpioledsgrp { + fsl,pins = < + MX6QDL_PAD_KEY_COL2__GPIO4_IO10 0x1b0b0 + MX6QDL_PAD_KEY_ROW2__GPIO4_IO11 0x1b0b0 + >; + }; + + pinctrl_pcie: pciegrp { + fsl,pins = < + MX6QDL_PAD_GPIO_0__GPIO1_IO00 0x1b0b0 + MX6QDL_PAD_GPIO_17__GPIO7_IO12 0x4001b0b0 /* PCIESKT_WDIS# */ + >; + }; + + pinctrl_pps: ppsgrp { + fsl,pins = < + MX6QDL_PAD_ENET_RXD1__GPIO1_IO26 0x1b0b1 + >; + }; + + pinctrl_pwm2: pwm2grp { + fsl,pins = < + MX6QDL_PAD_SD1_DAT2__PWM2_OUT 0x1b0b1 + >; + }; + + pinctrl_pwm3: pwm3grp { + fsl,pins = < + MX6QDL_PAD_SD4_DAT1__PWM3_OUT 0x1b0b1 + >; + }; + + pinctrl_pwm4: pwm4grp { + fsl,pins = < + MX6QDL_PAD_SD1_CMD__PWM4_OUT 0x1b0b1 + >; + }; + + pinctrl_uart2: uart2grp { + fsl,pins = < + MX6QDL_PAD_SD4_DAT7__UART2_TX_DATA 0x1b0b1 + MX6QDL_PAD_SD4_DAT4__UART2_RX_DATA 0x1b0b1 + >; + }; + + pinctrl_uart3: uart3grp { + fsl,pins = < + MX6QDL_PAD_EIM_D24__UART3_TX_DATA 0x1b0b1 + MX6QDL_PAD_EIM_D25__UART3_RX_DATA 0x1b0b1 + >; + }; + + pinctrl_uart4: uart4grp { + fsl,pins = < + MX6QDL_PAD_KEY_COL0__UART4_TX_DATA 0x1b0b1 + MX6QDL_PAD_KEY_ROW0__UART4_RX_DATA 0x1b0b1 + >; + }; + + pinctrl_uart5: uart5grp { + fsl,pins = < + MX6QDL_PAD_KEY_COL1__UART5_TX_DATA 0x1b0b1 + MX6QDL_PAD_KEY_ROW1__UART5_RX_DATA 0x1b0b1 + >; + }; + + pinctrl_usbotg: usbotggrp { + fsl,pins = < + MX6QDL_PAD_GPIO_1__USB_OTG_ID 0x17059 + MX6QDL_PAD_EIM_D22__GPIO3_IO22 0x1b0b0 /* OTG_PWR_EN */ + >; + }; + + pinctrl_usdhc3: usdhc3grp { + fsl,pins = < + MX6QDL_PAD_SD3_CMD__SD3_CMD 0x17059 + MX6QDL_PAD_SD3_CLK__SD3_CLK 0x10059 + MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x17059 + MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x17059 + MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x17059 + MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x17059 + MX6QDL_PAD_SD3_DAT5__GPIO7_IO00 0x17059 /* CD */ + MX6QDL_PAD_NANDF_CS1__SD3_VSELECT 0x17059 + >; + }; + + pinctrl_usdhc3_100mhz: usdhc3grp100mhz { + fsl,pins = < + MX6QDL_PAD_SD3_CMD__SD3_CMD 0x170b9 + MX6QDL_PAD_SD3_CLK__SD3_CLK 0x100b9 + MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x170b9 + MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x170b9 + MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x170b9 + MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x170b9 + MX6QDL_PAD_SD3_DAT5__GPIO7_IO00 0x170b9 /* CD */ + MX6QDL_PAD_NANDF_CS1__SD3_VSELECT 0x170b9 + >; + }; + + pinctrl_usdhc3_200mhz: usdhc3grp200mhz { + fsl,pins = < + MX6QDL_PAD_SD3_CMD__SD3_CMD 0x170f9 + MX6QDL_PAD_SD3_CLK__SD3_CLK 0x100f9 + MX6QDL_PAD_SD3_DAT0__SD3_DATA0 0x170f9 + MX6QDL_PAD_SD3_DAT1__SD3_DATA1 0x170f9 + MX6QDL_PAD_SD3_DAT2__SD3_DATA2 0x170f9 + MX6QDL_PAD_SD3_DAT3__SD3_DATA3 0x170f9 + MX6QDL_PAD_SD3_DAT5__GPIO7_IO00 0x170f9 /* CD */ + MX6QDL_PAD_NANDF_CS1__SD3_VSELECT 0x170f9 + >; + }; + + pinctrl_wdog: wdoggrp { + fsl,pins = < + MX6QDL_PAD_DISP0_DAT8__WDOG1_B 0x1b0b0 + >; + }; + }; +};Signature · 7 lines
1.9.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel at lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
PATCH v3 1/1 ARM: dts: imx: add Gateworks Ventana GW553x support
In reply to Tim HarveyThe Gateworks Ventana GW553x is a single-board computer based on the NXP IMX6 SoC with the following features:
* IMX6 DualLite Soc (supports IMX6S,IMX6DL,IMX6Q)
* small form factor (35x70mm)
* 512MB DDR3 DRAM (2x32bit) (options up to 2GB)
* 256MB NAND flash (4GB option)
* Gateworks System Controller:
- hardware watchdog
- hardware monitor
- pushbutton controller
- EEPROM storage
- power control
* JTAG programmable
* 1x miniPCI socket (with PCIe, USB, SIM)
* 1x microSD socket
* 1x SIM socket
* Inertial Module (LSM9DS1 9DOF: 3x acc, 3x rate, 3x mag)
* analog CVBS video in
* GPS (optional uBlox EVA-M8M)
* Application headers:
- 2x TTL UART (TX/RX)
- 4x TTL GPIO (3x configurable as PWM)
- 3x CVBS Analog video input (1x decoder with 3x selectable inputs)
* Front panel connectors:
- micro-HDMI audio/video out
- 1x user programmable LED
- 1x configurable user pushbutton
- 1x USB OTG
See http://www.gateworks.com for more info
---
v3:
- removed unintentional change to imx6qdl-gw53xx.dtsi
- replaced bootargs with stdout-path in chosen node
- move fixed regulators directly under root node
- sort i2c child nodes by slave address
- removed function container node from iomux node that is no longer needed
v2:
- add dual license to *.dts files
- add prop for external watchdog reset
--- arch/arm/boot/dts/Makefile | 2 + arch/arm/boot/dts/imx6dl-gw553x.dts | 55 +++++ arch/arm/boot/dts/imx6q-gw553x.dts | 55 +++++ arch/arm/boot/dts/imx6qdl-gw553x.dtsi | 433 ++++++++++++++++++++++++++++++++++ 4 files changed, 545 insertions(+) create mode 100644 arch/arm/boot/dts/imx6dl-gw553x.dts create mode 100644 arch/arm/boot/dts/imx6q-gw553x.dts create mode 100644 arch/arm/boot/dts/imx6qdl-gw553x.dtsi
arch/arm/boot/dts/Makefile +2 -0
@@ -330,6 +330,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \ imx6dl-gw54xx.dtb \ imx6dl-gw551x.dtb \ imx6dl-gw552x.dtb \ + imx6dl-gw553x.dtb \ imx6dl-hummingboard.dtb \ imx6dl-nit6xlite.dtb \ imx6dl-nitrogen6x.dtb \
@@ -368,6 +369,7 @@ dtb-$(CONFIG_SOC_IMX6Q) += \ imx6q-gw54xx.dtb \ imx6q-gw551x.dtb \ imx6q-gw552x.dtb \ + imx6q-gw553x.dtb \ imx6q-h100.dtb \ imx6q-hummingboard.dtb \ imx6q-icore-rqs.dtb \
arch/arm/boot/dts/imx6dl-gw553x.dts new file +55 -0
55 lines not on this page · raw message
arch/arm/boot/dts/imx6q-gw553x.dts new file +55 -0
55 lines not on this page · raw message
arch/arm/boot/dts/imx6qdl-gw553x.dtsi new file +433 -0
433 lines not on this page · raw message
Signature · 1 line
1.9.1
Shawn Guo
AppliedPATCH v3 1/1 ARM: dts: imx: add Gateworks Ventana GW553x support
Quoted 29 lines · Tim Harvey
The Gateworks Ventana GW553x is a single-board computer based on the NXP IMX6 SoC with the following features:
* IMX6 DualLite Soc (supports IMX6S,IMX6DL,IMX6Q)
* small form factor (35x70mm)
* 512MB DDR3 DRAM (2x32bit) (options up to 2GB)
* 256MB NAND flash (4GB option)
* Gateworks System Controller:
- hardware watchdog
- hardware monitor
- pushbutton controller
- EEPROM storage
- power control
* JTAG programmable
* 1x miniPCI socket (with PCIe, USB, SIM)
* 1x microSD socket
* 1x SIM socket
* Inertial Module (LSM9DS1 9DOF: 3x acc, 3x rate, 3x mag)
* analog CVBS video in
* GPS (optional uBlox EVA-M8M)
* Application headers:
- 2x TTL UART (TX/RX)
- 4x TTL GPIO (3x configurable as PWM)
- 3x CVBS Analog video input (1x decoder with 3x selectable inputs)
* Front panel connectors:
- micro-HDMI audio/video out
- 1x user programmable LED
- 1x configurable user pushbutton
- 1x USB OTG
Quoted 3 lines
See http://www.gateworks.com for more info
Signed-off-by Tim Harvey <[email protected]>
Applied, thanks.