The Gateworks GW51xx family of products is based on the Freescale i.MX6DL SoC and offers a small form-factor with peripherals such as: * i.MX6DL 512MB DDR3 * 256MB NAND FLASH * 2x PCIe * 1x USB EHCI (to PCIe socket2) * 1x USB OTG (to front panel or PCIe socket1) * 1x uSD * LVDS * HDMI AudioVideo out * Analog Video in * Digital IO * Gateworks System Controller Signed-off-by: Tim Harvey <tharvey@gateworks.com> SVN-Revision: 38425master
parent
365ed4d22f
commit
0a0ac79cb7
@ -0,0 +1,372 @@ |
||||
/* |
||||
* Copyright 2013 Gateworks Corporation |
||||
* |
||||
* 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 "imx6dl.dtsi" |
||||
|
||||
/ { |
||||
model = "Gateworks Ventana GW52XX"; |
||||
compatible = "gw,imx6dl-gw52xx", "gw,ventana", "fsl,imx6dl"; |
||||
|
||||
/* these are used by bootloader for disabling nodes */ |
||||
aliases { |
||||
ethernet0 = &fec; |
||||
i2c0 = &i2c1; |
||||
i2c1 = &i2c2; |
||||
i2c2 = &i2c3; |
||||
led0 = &led0; |
||||
led1 = &led1; |
||||
led2 = &led2; |
||||
nand = &gpmi; |
||||
ssi0 = &ssi1; |
||||
usb0 = &usbh1; |
||||
usb1 = &usbotg; |
||||
usdhc2 = &usdhc3; |
||||
}; |
||||
|
||||
memory { |
||||
reg = <0x10000000 0x20000000>; |
||||
}; |
||||
|
||||
leds { |
||||
compatible = "gpio-leds"; |
||||
|
||||
led0: user1 { |
||||
label = "user1"; |
||||
gpios = <&gpio4 6 0>; /* 102 -> MX6_PANLEDG */ |
||||
default-state = "on"; |
||||
linux,default-trigger = "heartbeat"; |
||||
}; |
||||
|
||||
led1: user2 { |
||||
label = "user2"; |
||||
gpios = <&gpio4 7 0>; /* 103 -> MX6_PANLEDR */ |
||||
default-state = "off"; |
||||
}; |
||||
|
||||
led2: user3 { |
||||
label = "user3"; |
||||
gpios = <&gpio4 15 1>; /* 111 - MX6_LOCLED# */ |
||||
default-state = "off"; |
||||
}; |
||||
}; |
||||
|
||||
regulators { |
||||
compatible = "simple-bus"; |
||||
|
||||
reg_1p0v: 1p0v { |
||||
compatible = "regulator-fixed"; |
||||
regulator-name = "1P0V"; |
||||
regulator-min-microvolt = <1000000>; |
||||
regulator-max-microvolt = <1000000>; |
||||
regulator-always-on; |
||||
}; |
||||
|
||||
/* remove this fixed regulator once ltc3676__sw2 driver available */ |
||||
reg_1p8v: 1p8v { |
||||
compatible = "regulator-fixed"; |
||||
regulator-name = "1P8V"; |
||||
regulator-min-microvolt = <1800000>; |
||||
regulator-max-microvolt = <1800000>; |
||||
regulator-always-on; |
||||
}; |
||||
|
||||
reg_3p3v: 3p3v { |
||||
compatible = "regulator-fixed"; |
||||
regulator-name = "3P3V"; |
||||
regulator-min-microvolt = <3300000>; |
||||
regulator-max-microvolt = <3300000>; |
||||
regulator-always-on; |
||||
}; |
||||
|
||||
reg_5p0v: 5p0v { |
||||
compatible = "regulator-fixed"; |
||||
regulator-name = "5P0V"; |
||||
regulator-min-microvolt = <5000000>; |
||||
regulator-max-microvolt = <5000000>; |
||||
regulator-always-on; |
||||
}; |
||||
|
||||
reg_usb_otg_vbus: usb_otg_vbus { |
||||
compatible = "regulator-fixed"; |
||||
regulator-name = "usb_otg_vbus"; |
||||
regulator-min-microvolt = <5000000>; |
||||
regulator-max-microvolt = <5000000>; |
||||
gpio = <&gpio3 22 0>; |
||||
enable-active-high; |
||||
}; |
||||
}; |
||||
|
||||
sound { |
||||
compatible = "fsl,imx6q-sabrelite-sgtl5000", |
||||
"fsl,imx-audio-sgtl5000"; |
||||
model = "imx6q-sabrelite-sgtl5000"; |
||||
ssi-controller = <&ssi1>; |
||||
audio-codec = <&codec>; |
||||
audio-routing = |
||||
"MIC_IN", "Mic Jack", |
||||
"Mic Jack", "Mic Bias", |
||||
"Headphone Jack", "HP_OUT"; |
||||
mux-int-port = <1>; |
||||
mux-ext-port = <4>; |
||||
}; |
||||
}; |
||||
|
||||
&audmux { |
||||
pinctrl-names = "default"; |
||||
pinctrl-0 = <&pinctrl_audmux_1>; |
||||
status = "okay"; |
||||
}; |
||||
|
||||
&fec { |
||||
pinctrl-names = "default"; |
||||
pinctrl-0 = <&pinctrl_enet_1>; |
||||
phy-mode = "rgmii"; |
||||
phy-reset-gpios = <&gpio1 30 0>; |
||||
status = "okay"; |
||||
}; |
||||
|
||||
&gpmi { |
||||
pinctrl-names = "default"; |
||||
pinctrl-0 = <&pinctrl_gpmi_nand_2>; |
||||
status = "okay"; |
||||
}; |
||||
|
||||
&i2c1 { |
||||
clock-frequency = <100000>; |
||||
pinctrl-names = "default"; |
||||
pinctrl-0 = <&pinctrl_i2c1_1>; |
||||
status = "okay"; |
||||
|
||||
eeprom1: eeprom@50 { |
||||
compatible = "atmel,24c02"; |
||||
reg = <0x50>; |
||||
pagesize = <16>; |
||||
}; |
||||
|
||||
eeprom2: eeprom@51 { |
||||
compatible = "atmel,24c02"; |
||||
reg = <0x51>; |
||||
pagesize = <16>; |
||||
}; |
||||
|
||||
eeprom3: eeprom@52 { |
||||
compatible = "atmel,24c02"; |
||||
reg = <0x52>; |
||||
pagesize = <16>; |
||||
}; |
||||
|
||||
eeprom4: eeprom@53 { |
||||
compatible = "atmel,24c02"; |
||||
reg = <0x53>; |
||||
pagesize = <16>; |
||||
}; |
||||
|
||||
gpio: pca9555@23 { |
||||
compatible = "nxp,pca9555"; |
||||
reg = <0x23>; |
||||
gpio-controller; |
||||
#gpio-cells = <2>; |
||||
}; |
||||
|
||||
hwmon: gsc@29 { |
||||
compatible = "gw,gsp"; |
||||
reg = <0x29>; |
||||
}; |
||||
|
||||
rtc: ds1672@68 { |
||||
compatible = "dallas,ds1672"; |
||||
reg = <0x68>; |
||||
}; |
||||
}; |
||||
|
||||
&i2c2 { |
||||
clock-frequency = <100000>; |
||||
pinctrl-names = "default"; |
||||
pinctrl-0 = <&pinctrl_i2c2_2>; |
||||
status = "okay"; |
||||
|
||||
pciswitch: pex8609@3f { |
||||
compatible = "plx,pex8609"; |
||||
reg = <0x3f>; |
||||
}; |
||||
|
||||
pmic: ltc3676@3c { |
||||
compatible = "ltc,ltc3676"; |
||||
reg = <0x3c>; |
||||
|
||||
regulators { |
||||
sw1_reg: ltc3676__sw1 { |
||||
regulator-min-microvolt = <1175000>; |
||||
regulator-max-microvolt = <1175000>; |
||||
regulator-boot-on; |
||||
regulator-always-on; |
||||
}; |
||||
|
||||
sw2_reg: ltc3676__sw2 { |
||||
regulator-min-microvolt = <1800000>; |
||||
regulator-max-microvolt = <1800000>; |
||||
regulator-boot-on; |
||||
regulator-always-on; |
||||
}; |
||||
|
||||
sw3_reg: ltc3676__sw3 { |
||||
regulator-min-microvolt = <1175000>; |
||||
regulator-max-microvolt = <1175000>; |
||||
regulator-boot-on; |
||||
regulator-always-on; |
||||
}; |
||||
|
||||
sw4_reg: ltc3676__sw4 { |
||||
regulator-min-microvolt = <1500000>; |
||||
regulator-max-microvolt = <1500000>; |
||||
regulator-boot-on; |
||||
regulator-always-on; |
||||
}; |
||||
|
||||
ldo2_reg: ltc3676__ldo2 { |
||||
regulator-min-microvolt = <2500000>; |
||||
regulator-max-microvolt = <2500000>; |
||||
regulator-boot-on; |
||||
regulator-always-on; |
||||
}; |
||||
|
||||
ldo3_reg: ltc3676__ldo3 { |
||||
regulator-min-microvolt = <1800000>; |
||||
regulator-max-microvolt = <1800000>; |
||||
regulator-boot-on; |
||||
regulator-always-on; |
||||
}; |
||||
|
||||
ldo4_reg: ltc3676__ldo4 { |
||||
regulator-min-microvolt = <3000000>; |
||||
regulator-max-microvolt = <3000000>; |
||||
}; |
||||
}; |
||||
}; |
||||
}; |
||||
|
||||
&i2c3 { |
||||
clock-frequency = <100000>; |
||||
pinctrl-names = "default"; |
||||
pinctrl-0 = <&pinctrl_i2c3_2>; |
||||
status = "okay"; |
||||
|
||||
accelerometer: fxos8700@1e { |
||||
compatible = "fsl,fxos8700"; |
||||
reg = <0x13>; |
||||
}; |
||||
|
||||
codec: sgtl5000@0a { |
||||
compatible = "fsl,sgtl5000"; |
||||
reg = <0x0a>; |
||||
clocks = <&clks 169>; |
||||
VDDA-supply = <®_1p8v>; |
||||
VDDIO-supply = <®_3p3v>; |
||||
}; |
||||
|
||||
touchscreen: egalax_ts@04 { |
||||
compatible = "eeti,egalax_ts"; |
||||
reg = <0x04>; |
||||
interrupt-parent = <&gpio7>; |
||||
interrupts = <12 2>; /* gpio7_12 active low */ |
||||
wakeup-gpios = <&gpio7 12 0>; |
||||
}; |
||||
|
||||
videoin: adv7180@20 { |
||||
compatible = "adi,adv7180"; |
||||
reg = <0x20>; |
||||
}; |
||||
}; |
||||
|
||||
&iomuxc { |
||||
pinctrl-names = "default"; |
||||
pinctrl-0 = <&pinctrl_hog>; |
||||
|
||||
hog { |
||||
pinctrl_hog: hoggrp { |
||||
fsl,pins = < |
||||
MX6DL_PAD_EIM_A19__GPIO2_IO19 0x80000000 /* MEZZ_DIO0 */ |
||||
MX6DL_PAD_EIM_A20__GPIO2_IO18 0x80000000 /* MEZZ_DIO1 */ |
||||
MX6DL_PAD_EIM_D22__GPIO3_IO22 0x80000000 /* OTG_PWR_EN */ |
||||
MX6DL_PAD_EIM_D31__GPIO3_IO31 0x80000000 /* VIDDEC_PDN# */ |
||||
MX6DL_PAD_ENET_TXD0__GPIO1_IO30 0x80000000 /* PHY Reset */ |
||||
MX6DL_PAD_ENET_TXD1__GPIO1_IO29 0x80000000 /* PCIE_RST# */ |
||||
MX6DL_PAD_ENET_RXD0__GPIO1_IO27 0x80000000 /* GPS_PWDN */ |
||||
MX6DL_PAD_ENET_RXD1__GPIO1_IO26 0x80000000 /* GPS_PPS */ |
||||
MX6DL_PAD_GPIO_0__CCM_CLKO1 0x000130b0 /* AUD4_MCK */ |
||||
MX6DL_PAD_GPIO_2__GPIO1_IO02 0x80000000 /* USB_SEL_PCI */ |
||||
MX6DL_PAD_GPIO_17__GPIO7_IO12 0x80000000 /* TOUCH_IRQ# */ |
||||
MX6DL_PAD_KEY_COL0__GPIO4_IO06 0x80000000 /* user1 led */ |
||||
MX6DL_PAD_KEY_ROW0__GPIO4_IO07 0x80000000 /* user2 led */ |
||||
MX6DL_PAD_KEY_ROW4__GPIO4_IO15 0x80000000 /* user3 led */ |
||||
MX6DL_PAD_SD2_CMD__GPIO1_IO11 0x80000000 /* LVDS_TCH# */ |
||||
MX6DL_PAD_SD3_DAT5__GPIO7_IO00 0x80000000 /* SD3_CD# */ |
||||
MX6DL_PAD_SD4_DAT3__GPIO2_IO11 0x80000000 /* UART2_EN# */ |
||||
>; |
||||
}; |
||||
}; |
||||
}; |
||||
|
||||
&ldb { |
||||
status = "okay"; |
||||
lvds-channel@0 { |
||||
crtcs = <&ipu1 0>, <&ipu1 1>; |
||||
}; |
||||
}; |
||||
|
||||
&pcie { |
||||
reset-gpio = <&gpio1 29 0>; |
||||
status = "okay"; |
||||
}; |
||||
|
||||
&ssi1 { |
||||
fsl,mode = "i2s-slave"; |
||||
status = "okay"; |
||||
}; |
||||
|
||||
&uart1 { |
||||
pinctrl-names = "default"; |
||||
pinctrl-0 = <&pinctrl_uart1_2>; |
||||
status = "okay"; |
||||
}; |
||||
|
||||
&uart2 { |
||||
pinctrl-names = "default"; |
||||
pinctrl-0 = <&pinctrl_uart2_1>; |
||||
status = "okay"; |
||||
}; |
||||
|
||||
&uart5 { |
||||
pinctrl-names = "default"; |
||||
pinctrl-0 = <&pinctrl_uart5_1>; |
||||
status = "okay"; |
||||
}; |
||||
|
||||
&usbotg { |
||||
vbus-supply = <®_usb_otg_vbus>; |
||||
pinctrl-names = "default"; |
||||
pinctrl-0 = <&pinctrl_usbotg_1>; |
||||
disable-over-current; |
||||
status = "okay"; |
||||
}; |
||||
|
||||
&usbh1 { |
||||
status = "okay"; |
||||
}; |
||||
|
||||
&usdhc3 { |
||||
pinctrl-names = "default"; |
||||
pinctrl-0 = <&pinctrl_usdhc3_2>; |
||||
cd-gpios = <&gpio7 0 0>; |
||||
vmmc-supply = <®_3p3v>; |
||||
status = "okay"; |
||||
}; |
@ -0,0 +1,57 @@ |
||||
--- a/arch/arm/boot/dts/Makefile
|
||||
+++ b/arch/arm/boot/dts/Makefile
|
||||
@@ -120,6 +120,7 @@ dtb-$(CONFIG_ARCH_MXC) += \
|
||||
imx6q-gw5400-a.dtb \
|
||||
imx6q-gw54xx.dtb \
|
||||
imx6dl-gw51xx.dtb \
|
||||
+ imx6dl-gw52xx.dtb \
|
||||
imx6q-sabreauto.dtb \
|
||||
imx6q-sabrelite.dtb \
|
||||
imx6q-sabresd.dtb \
|
||||
--- a/arch/arm/boot/dts/imx6dl.dtsi
|
||||
+++ b/arch/arm/boot/dts/imx6dl.dtsi
|
||||
@@ -37,6 +37,18 @@
|
||||
compatible = "fsl,imx6dl-iomuxc";
|
||||
reg = <0x020e0000 0x4000>;
|
||||
|
||||
+ /* shared pinctrl settings */
|
||||
+ audmux {
|
||||
+ pinctrl_audmux_1: audmux-1 {
|
||||
+ fsl,pins = <
|
||||
+ MX6DL_PAD_SD2_DAT0__AUD4_RXD 0x80000000
|
||||
+ MX6DL_PAD_SD2_DAT1__AUD4_TXFS 0x80000000
|
||||
+ MX6DL_PAD_SD2_DAT2__AUD4_TXD 0x80000000
|
||||
+ MX6DL_PAD_SD2_DAT3__AUD4_TXC 0x80000000
|
||||
+ >;
|
||||
+ };
|
||||
+ };
|
||||
+
|
||||
enet {
|
||||
pinctrl_enet_1: enetgrp-1 {
|
||||
fsl,pins = <
|
||||
@@ -197,6 +209,12 @@
|
||||
MX6DL_PAD_SD4_DAT4__UART2_TX_DATA 0x1b0b1
|
||||
>;
|
||||
};
|
||||
+ pinctrl_uart2_3: uart2grp-3 {
|
||||
+ fsl,pins = <
|
||||
+ MX6DL_PAD_SD4_DAT7__UART2_TX_DATA 0x1b0b1
|
||||
+ MX6DL_PAD_SD4_DAT4__UART2_RX_DATA 0x1b0b1
|
||||
+ >;
|
||||
+ };
|
||||
};
|
||||
|
||||
uart3 {
|
||||
@@ -227,6 +245,12 @@
|
||||
};
|
||||
|
||||
usbotg {
|
||||
+ pinctrl_usbotg_1: usbotggrp-1 {
|
||||
+ fsl,pins = <
|
||||
+ MX6DL_PAD_GPIO_1__USB_OTG_ID 0x17059
|
||||
+ >;
|
||||
+ };
|
||||
+
|
||||
pinctrl_usbotg_2: usbotggrp-2 {
|
||||
fsl,pins = <
|
||||
MX6DL_PAD_ENET_RX_ER__USB_OTG_ID 0x17059
|
Loading…
Reference in new issue