]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - arch/arm/boot/dts/am335x-cm-t335.dts
Merge branches 'for-4.6/upstream-fixes', 'for-4.7/asus', 'for-4.7/hidraw' and 'for...
[karo-tx-linux.git] / arch / arm / boot / dts / am335x-cm-t335.dts
index 42e9b665582ab2672f6b112549d4178e5dc63d38..e835644c5054df0757727daa9a3be1681cbb9ded 100644 (file)
@@ -11,6 +11,7 @@
 /dts-v1/;
 
 #include "am33xx.dtsi"
+#include <dt-bindings/interrupt-controller/irq.h>
 
 / {
        model = "CompuLab CM-T335";
                regulator-max-microvolt = <3300000>;
        };
 
+       /* Regulator for WiFi */
+       vwlan_fixed: fixedregulator@2 {
+               compatible = "regulator-fixed";
+               regulator-name = "vwlan_fixed";
+               gpio = <&gpio0 20 GPIO_ACTIVE_HIGH>; /* gpio0_20 */
+               enable-active-high;
+               regulator-boot-off;
+       };
+
        backlight {
                compatible = "pwm-backlight";
                pwms = <&ecap0 0 50000 0>;
                brightness-levels = <0 51 53 56 62 75 101 152 255>;
                default-brightness-level = <8>;
        };
+
+       sound {
+               compatible = "simple-audio-card";
+               simple-audio-card,name = "cm-t335";
+
+               simple-audio-card,widgets =
+                       "Microphone", "Mic Jack",
+                       "Line", "Line In",
+                       "Headphone", "Headphone Jack";
+
+               simple-audio-card,routing =
+                       "Headphone Jack", "LHPOUT",
+                       "Headphone Jack", "RHPOUT",
+                       "LLINEIN", "Line In",
+                       "RLINEIN", "Line In",
+                       "MICIN", "Mic Jack";
+
+               simple-audio-card,format = "i2s";
+               simple-audio-card,bitclock-master = <&sound_master>;
+               simple-audio-card,frame-master = <&sound_master>;
+
+               simple-audio-card,cpu {
+                       sound-dai = <&mcasp1>;
+               };
+
+               sound_master: simple-audio-card,codec {
+                       sound-dai = <&tlv320aic23>;
+                       system-clock-frequency = <12000000>;
+               };
+       };
 };
 
 &am33xx_pinmux {
                >;
        };
 
+       dcan0_pins: pinmux_dcan0_pins {
+               pinctrl-single,pins = <
+                       /* uart1_ctsn.dcan0_tx */
+                       AM33XX_IOPAD(0x978, PIN_OUTPUT | MUX_MODE2)
+                       /* uart1_rtsn.dcan0_rx */
+                       AM33XX_IOPAD(0x97C, PIN_INPUT | MUX_MODE2)
+               >;
+       };
+
+       dcan1_pins: pinmux_dcan1_pins {
+               pinctrl-single,pins = <
+                       /* uart1_rxd.dcan1_tx */
+                       AM33XX_IOPAD(0x980, PIN_OUTPUT | MUX_MODE2)
+                       /* uart1_txd.dcan1_rx */
+                       AM33XX_IOPAD(0x984, PIN_INPUT | MUX_MODE2)
+               >;
+       };
+
        ecap0_pins: pinmux_ecap0_pins {
                pinctrl-single,pins = <
                        /* eCAP0_in_PWM0_out.eCAP0_in_PWM0_out MODE0 */
                >;
        };
 
+       spi0_pins: pinmux_spi0_pins {
+               pinctrl-single,pins = <
+                       /* spi0_sclk.spi0_sclk */
+                       AM33XX_IOPAD(0x950, PIN_INPUT | MUX_MODE0)
+                       /* spi0_d0.spi0_d0 */
+                       AM33XX_IOPAD(0x954, PIN_OUTPUT_PULLUP | MUX_MODE0)
+                       /* spi0_d1.spi0_d1 */
+                       AM33XX_IOPAD(0x958, PIN_INPUT | MUX_MODE0)
+                       /* spi0_cs0.spi0_cs0 */
+                       AM33XX_IOPAD(0x95C, PIN_OUTPUT | MUX_MODE0)
+                       /* spi0_cs1.spi0_cs1 */
+                       AM33XX_IOPAD(0x960, PIN_OUTPUT | MUX_MODE0)
+               >;
+       };
+
        /* wl1271 bluetooth */
        bluetooth_pins: pinmux_bluetooth_pins {
                pinctrl-single,pins = <
                        AM33XX_IOPAD(0x9b0, PIN_OUTPUT_PULLUP | MUX_MODE7)
                >;
        };
+
+       /* TLV320AIC23B codec */
+       mcasp1_pins: pinmux_mcasp1_pins {
+               pinctrl-single,pins = <
+                       /* MII1_CRS.mcasp1_aclkx */
+                       AM33XX_IOPAD(0x90c, PIN_INPUT_PULLDOWN | MUX_MODE4)
+                       /* MII1_RX_ER.mcasp1_fsx */
+                       AM33XX_IOPAD(0x910, PIN_INPUT_PULLDOWN | MUX_MODE4)
+                       /* MII1_COL.mcasp1_axr2 */
+                       AM33XX_IOPAD(0x908, PIN_INPUT_PULLDOWN | MUX_MODE4)
+                       /* RMII1_REF_CLK.mcasp1_axr3 */
+                       AM33XX_IOPAD(0x944, PIN_INPUT_PULLDOWN | MUX_MODE4)
+               >;
+       };
+
+       /* wl1271 WiFi */
+       wifi_pins: pinmux_wifi_pins {
+               pinctrl-single,pins = <
+                       /* EMU1.gpio3_8 - WiFi IRQ */
+                       AM33XX_IOPAD(0x9e8, PIN_INPUT_PULLUP | MUX_MODE7)
+                       /* XDMA_EVENT_INTR1.gpio0_20 - WiFi enable */
+                       AM33XX_IOPAD(0x9b4, PIN_OUTPUT | MUX_MODE7)
+               >;
+       };
 };
 
 &uart0 {
@@ -264,6 +361,13 @@ status = "okay";
                compatible = "emmicro,em3027";
                reg = <0x56>;
        };
+       /* Audio codec */
+       tlv320aic23: codec@1a {
+               compatible = "ti,tlv320aic23";
+               reg = <0x1a>;
+               #sound-dai-cells= <0>;
+               status = "okay";
+       };
 };
 
 &usb {
@@ -302,7 +406,11 @@ status = "okay";
        pinctrl-0 = <&nandflash_pins>;
        ranges = <0 0 0x08000000 0x10000000>;   /* CS0: NAND */
        nand@0,0 {
-               reg = <0 0 0>; /* CS0, offset 0 */
+               compatible = "ti,omap2-nand";
+               reg = <0 0 4>; /* CS0, offset 0, IO size 4 */
+               interrupt-parent = <&gpmc>;
+               interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */
+                            <1 IRQ_TYPE_NONE>; /* termcount */
                ti,nand-ecc-opt = "bch8";
                ti,elm-id = <&elm>;
                nand-bus-width = <8>;
@@ -321,12 +429,9 @@ status = "okay";
                gpmc,access-ns = <64>;
                gpmc,rd-cycle-ns = <82>;
                gpmc,wr-cycle-ns = <82>;
-               gpmc,wait-on-read = "true";
-               gpmc,wait-on-write = "true";
                gpmc,bus-turnaround-ns = <0>;
                gpmc,cycle2cycle-delay-ns = <0>;
                gpmc,clk-activation-ns = <0>;
-               gpmc,wait-monitoring-ns = <0>;
                gpmc,wr-access-ns = <40>;
                gpmc,wr-data-mux-bus-ns = <0>;
                /* MTD partition table */
@@ -394,3 +499,70 @@ status = "okay";
        pinctrl-names = "default";
        pinctrl-0 = <&mmc1_pins>;
 };
+
+&dcan0 {
+       status = "okay";
+       pinctrl-names = "default";
+       pinctrl-0 = <&dcan0_pins>;
+};
+
+&dcan1 {
+       status = "okay";
+       pinctrl-names = "default";
+       pinctrl-0 = <&dcan1_pins>;
+};
+
+/* Touschscreen and analog digital converter */
+&tscadc {
+       status = "okay";
+       tsc {
+               ti,wires = <4>;
+               ti,x-plate-resistance = <200>;
+               ti,coordinate-readouts = <5>;
+               ti,wire-config = <0x01 0x10 0x23 0x32>;
+               ti,charge-delay = <0x400>;
+       };
+
+       adc {
+               ti,adc-channels = <4 5 6 7>;
+       };
+};
+
+/* CPU audio */
+&mcasp1 {
+               pinctrl-names = "default";
+               pinctrl-0 = <&mcasp1_pins>;
+
+               op-mode = <0>;          /* MCASP_IIS_MODE */
+               tdm-slots = <2>;
+               /* 16 serializers */
+               num-serializer = <16>;
+               serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
+                       0 0 2 1 0 0 0 0 0 0 0 0 0 0 0 0
+               >;
+               tx-num-evt = <1>;
+               rx-num-evt = <1>;
+
+               #sound-dai-cells= <0>;
+               status = "okay";
+};
+
+&spi0 {
+       status = "okay";
+       pinctrl-names = "default";
+       pinctrl-0 = <&spi0_pins>;
+       ti,pindir-d0-out-d1-in = <1>;
+       /* WLS1271 WiFi */
+       wlcore: wlcore@1 {
+               compatible = "ti,wl1271";
+               pinctrl-names = "default";
+               pinctrl-0 = <&wifi_pins>;
+               reg = <1>;
+               spi-max-frequency = <48000000>;
+               clock-xtal;
+               ref-clock-frequency = <38400000>;
+               interrupt-parent = <&gpio3>;
+               interrupts = <8 IRQ_TYPE_LEVEL_HIGH>;
+               vwlan-supply = <&vwlan_fixed>;
+       };
+};