imx6: add canbus support for Ventana boards
[openwrt.git] / target / linux / imx6 / files-3.10 / arch / arm / boot / dts / imx6q-gw54xx.dts
index 9c2c447..828fc81 100644 (file)
@@ -13,7 +13,7 @@
 #include "imx6q.dtsi"
 
 / {
-       model = "Gateworks Ventana GW54XX";
+       model = "Gateworks Ventana i.MX6 Quad GW54XX";
        compatible = "gw,imx6q-gw54xx", "gw,ventana", "fsl,imx6q";
 
        /* these are used by bootloader for disabling nodes */
                i2c0 = &i2c1;
                i2c1 = &i2c2;
                i2c2 = &i2c3;
-               ipu0 = &ipu1;
-               ipu1 = &ipu2;
                led0 = &led0;
                led1 = &led1;
                led2 = &led2;
                nand = &gpmi;
-               pwm0 = &pwm1;
-               pwm1 = &pwm2;
-               pwm2 = &pwm3;
-               pwm3 = &pwm4;
                sky2 = &eth1;
-               spi0 = &ecspi1;
-               spi1 = &ecspi2;
-               spi2 = &ecspi3;
-               spi3 = &ecspi4;
-               spi4 = &ecspi5;
                ssi0 = &ssi1;
-               ssi1 = &ssi2;
-               usb0 = &usbh3;
+               usb0 = &usbh1;
                usb1 = &usbotg;
-               usdhc0 = &usdhc1;
-               usdhc1 = &usdhc2;
                usdhc2 = &usdhc3;
-               usdhc3 = &usdhc4;
        };
 
        chosen {
        regulators {
                compatible = "simple-bus";
 
-               reg_2p5v: 2p5v {
+               reg_1p0v: 1p0v {
                        compatible = "regulator-fixed";
-                       regulator-name = "2P5V";
-                       regulator-min-microvolt = <2500000>;
-                       regulator-max-microvolt = <2500000>;
+                       regulator-name = "1P0V";
+                       regulator-min-microvolt = <1000000>;
+                       regulator-max-microvolt = <1000000>;
                        regulator-always-on;
                };
 
                        regulator-always-on;
                };
 
+               reg_usb_h1_vbus: usb_h1_vbus {
+                       compatible = "regulator-fixed";
+                       regulator-name = "usb_h1_vbus";
+                       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";
 
 &audmux {
        pinctrl-names = "default";
-       pinctrl-0 = <&pinctrl_audmux_3>;
+       pinctrl-0 = <&pinctrl_audmux_1>;
        status = "okay";
 };
 
 &can1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&pinctrl_flexcan1_1>;
        status = "okay";
 };
 
 };
 
 &i2c1 {
-       status = "okay";
        clock-frequency = <100000>;
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_i2c1_1>;
-
-       eeprom: eeprom@50 {
-               compatible = "atmel,24c02";
-               reg = <0x50>;
-               pagesize = <16>;
-       };
+       status = "okay";
 
        eeprom1: eeprom@50 {
                compatible = "atmel,24c02";
                pagesize = <16>;
        };
 
-       rtc: ds1672@68 {
-               compatible = "dallas,ds1672";
-               reg = <0x68>;
-       };
-
        gpio: pca9555@23 {
                compatible = "nxp,pca9555";
                reg = <0x23>;
                compatible = "gw,gsp";
                reg = <0x29>;
        };
+
+       rtc: ds1672@68 {
+               compatible = "dallas,ds1672";
+               reg = <0x68>;
+       };
 };
 
 &i2c2 {
-       status = "okay";
        clock-frequency = <100000>;
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_i2c2_2>;
+       status = "okay";
 
-       pmic: pfuze@08 {
+       pmic: pfuze100@08 {
                compatible = "fsl,pfuze100";
                reg = <0x08>;
+
+               regulators {
+                       sw1a_reg: sw1ab {
+                               regulator-min-microvolt = <300000>;
+                               regulator-max-microvolt = <1875000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                               regulator-ramp-delay = <6250>;
+                       };
+
+                       sw1c_reg: sw1c {
+                               regulator-min-microvolt = <300000>;
+                               regulator-max-microvolt = <1875000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                               regulator-ramp-delay = <6250>;
+                       };
+
+                       sw2_reg: sw2 {
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <3950000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       sw3a_reg: sw3a {
+                               regulator-min-microvolt = <400000>;
+                               regulator-max-microvolt = <1975000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       sw3b_reg: sw3b {
+                               regulator-min-microvolt = <400000>;
+                               regulator-max-microvolt = <1975000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       sw4_reg: sw4 {
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <3300000>;
+                       };
+
+                       swbst_reg: swbst {
+                               regulator-min-microvolt = <5000000>;
+                               regulator-max-microvolt = <5150000>;
+                       };
+
+                       snvs_reg: vsnvs {
+                               regulator-min-microvolt = <1000000>;
+                               regulator-max-microvolt = <3000000>;
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       vref_reg: vrefddr {
+                               regulator-boot-on;
+                               regulator-always-on;
+                       };
+
+                       vgen1_reg: vgen1 {
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <1550000>;
+                       };
+
+                       vgen2_reg: vgen2 {
+                               regulator-min-microvolt = <800000>;
+                               regulator-max-microvolt = <1550000>;
+                       };
+
+                       vgen3_reg: vgen3 {
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <3300000>;
+                       };
+
+                       vgen4_reg: vgen4 {
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-always-on;
+                       };
+
+                       vgen5_reg: vgen5 {
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-always-on;
+                       };
+
+                       vgen6_reg: vgen6 {
+                               regulator-min-microvolt = <1800000>;
+                               regulator-max-microvolt = <3300000>;
+                               regulator-always-on;
+                       };
+               };
        };
 
        pciswitch: pex8609@3f {
 };
 
 &i2c3 {
-       status = "okay";
        clock-frequency = <100000>;
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_i2c3_2>;
+       status = "okay";
+
+       accelerometer: fxos8700@1e {
+               compatible = "fsl,fxos8700";
+               reg = <0x1e>;
+       };
 
        codec: sgtl5000@0a {
                compatible = "fsl,sgtl5000";
                reg = <0x0a>;
                clocks = <&clks 169>;
-               VDDA-supply = <&reg_2p5v>;
+               VDDA-supply = <&sw4_reg>;
                VDDIO-supply = <&reg_3p3v>;
        };
 
-       accelerometer: mma8450@1c {
-               compatible = "fsl,mma8450";
-               reg = <0x1c>;
+       hdmiin: adv7611@4c {
+               compatible = "adi,adv7611";
+               reg = <0x4c>;
+       };
+
+       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>;
        };
 
        videoout: adv7393@2a {
                compatible = "adi,adv7180";
                reg = <0x20>;
        };
-
-       hdmiin: adv7611@4c {
-               compatible = "adi,adv7611";
-               reg = <0x4c>;
-       };
-
-       touchscreen: egalax_ts@04 {
-               compatible = "eeti,egalax_ts";
-               reg = <0x04>;
-               wakeup-gpios = <&gpio1 12 0>;
-       };
 };
 
 &iomuxc {
                        fsl,pins = <
                                MX6Q_PAD_EIM_D22__GPIO3_IO22    0x80000000 /* OTG_PWR_EN */
                                MX6Q_PAD_EIM_D19__GPIO3_IO19    0x80000000 /* SPINOR_CS0# */
+                               MX6Q_PAD_ENET_TX_EN__GPIO1_IO28 0x80000000 /* PCIE IRQ */
+                               MX6Q_PAD_ENET_TXD1__GPIO1_IO29  0x80000000 /* PCIE RST */
+                               MX6Q_PAD_GPIO_0__CCM_CLKO1      0x000130b0 /* AUD4_MCK */
+                               MX6Q_PAD_GPIO_2__GPIO1_IO02     0x80000000 /* CAN_STBY */
+                               MX6Q_PAD_GPIO_17__GPIO7_IO12    0x80000000 /* TOUCH_IRQ# */
                                MX6Q_PAD_KEY_COL0__GPIO4_IO06   0x80000000 /* user1 led */
                                MX6Q_PAD_KEY_ROW0__GPIO4_IO07   0x80000000 /* user2 led */
                                MX6Q_PAD_KEY_ROW4__GPIO4_IO15   0x80000000 /* user3 led */
                                MX6Q_PAD_SD1_DAT0__GPIO1_IO16   0x80000000 /* USBHUB_RST# */
-                               MX6Q_PAD_ENET_TX_EN__GPIO1_IO28 0x80000000 /* PCIE IRQ */
-                               MX6Q_PAD_ENET_TXD1__GPIO1_IO29  0x80000000 /* PCIE RST */
                                MX6Q_PAD_SD1_DAT3__GPIO1_IO21   0x80000000 /* MIPI_DIO */
-                               MX6Q_PAD_GPIO_0__CCM_CLKO1      0x000130b0 /* AUD4_MCK */
-                               MX6Q_PAD_GPIO_2__GPIO1_IO02     0x80000000 /* CAN_STBY */
                         >;
                };
        };
 };
 
+&ldb {
+       status = "okay";
+       lvds-channel@0 {
+               crtcs = <&ipu1 0>, <&ipu1 1>, <&ipu2 0>, <&ipu2 1>;
+       };
+};
+
 &pcie {
        reset-gpio = <&gpio1 29 0>;
        status = "okay";
 };
 
 &uart5 {
-       status = "okay";
        pinctrl-names = "default";
        pinctrl-0 = <&pinctrl_uart5_1>;
+       status = "okay";
 };
 
 &usbotg {
 };
 
 &usbh1 {
+       vbus-supply = <&reg_usb_h1_vbus>;
        status = "okay";
 };