]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - android-sdk/kernel-video.git/blobdiff - arch/arm/boot/dts/dra7-evm.dts
Merge branch 'p-ti-linux-3.14.y-common' into p-ti-linux-3.14.y-android
[android-sdk/kernel-video.git] / arch / arm / boot / dts / dra7-evm.dts
index aee1a1e89e77330a29daf3f686781a5aa4732708..de17eb326edab8b52a3173519e86c95878f217f0 100644 (file)
@@ -21,7 +21,7 @@
                reg = <0x80000000 0x60000000>; /* 1536 MB */
        };
 
-       reserved-memory {
+       reserved_mem: reserved-memory {
                #address-cells = <1>;
                #size-cells = <1>;
                ranges;
                        reusable;
                        status = "okay";
                };
-
-               /* Required by cmem driver used by radio */
-               cmem_radio: cmem@95400000 {
-                       reg = <0x95400000 0x400000>;
-                       no-map;
-                       status = "okay";
-               };
        };
 
-       extcon1: dra7x_usbid_extcon1 {
-               compatible = "linux,extcon-gpio";
-               gpios = <&pcf_gpio_21 1 GPIO_ACTIVE_LOW>;
-               cable-name = "USB-HOST";
+       extcon_usb1: extcon_usb1 {
+               compatible = "linux,extcon-usb-gpio";
+               id-gpios = <&pcf_gpio_21 1 GPIO_ACTIVE_HIGH>;
        };
 
-       extcon2: dra7x_usbid_extcon2 {
-               compatible = "linux,extcon-gpio";
-               gpios = <&pcf_gpio_21 2 GPIO_ACTIVE_LOW>;
-               cable-name = "USB-HOST";
+       extcon_usb2: extcon_usb2 {
+               compatible = "linux,extcon-usb-gpio";
+               id-gpios = <&pcf_gpio_21 2 GPIO_ACTIVE_HIGH>;
        };
 
        evm_3v3_sd: fixedregulator-sd {
                        "LINE1R",               "Line In";
        };
 
-       radio {
-               compatible = "ti,dra7xx_radio";
-               gpios = <&gpio6 20 0>;
+       btwilink_sound: btwilink_sound {
+               #sound-dai-cells = <0>;
+               compatible = "linux,bt-sco-audio";
+               status = "okay";
        };
-};
 
-&dra7_pmx_core {
-       i2c2_pins: pinmux_i2c2_pins {
-               pinctrl-single,pins = <
-                       0x408 (PIN_INPUT | MUX_MODE0) /* i2c2_sda */
-                       0x40c (PIN_INPUT | MUX_MODE0) /* i2c2_scl */
-               >;
+       simple_bt_sco_card: bt_sco_card {
+               compatible = "simple-audio-card";
+               simple-audio-card,name = "DRA7xx-WiLink";
+               simple-audio-card,format = "dsp_a";
+               simple-audio-card,frame-master = <&btwilink_codec>;
+               simple-audio-card,bitclock-master = <&btwilink_codec>;
+               simple-audio-card,frame-inversion;
+
+               simple-audio-card,cpu {
+                       sound-dai = <&mcasp7>;
+               };
+
+               btwilink_codec: simple-audio-card,codec {
+                       sound-dai = <&btwilink_sound>;
+               };
        };
+};
 
+&dra7_pmx_core {
        dcan1_pins_default: dcan1_pins_default {
                pinctrl-single,pins = <
                        0x3d0   (PIN_OUTPUT_PULLUP | MUX_MODE0) /* dcan1_tx */
                >;
        };
 
+       mmc1_pins_sdr12: pinmux_mmc1_sdr12_pins {
+               pinctrl-single,pins = <
+                       0x354 (PIN_INPUT_PULLUP | MUX_MODE0)    /* mmc1_clk.clk */
+                       0x358 (PIN_INPUT_PULLUP | MUX_MODE0)    /* mmc1_cmd.cmd */
+                       0x35c (PIN_INPUT_PULLUP | MUX_MODE0)    /* mmc1_dat0.dat0 */
+                       0x360 (PIN_INPUT_PULLUP | MUX_MODE0)    /* mmc1_dat1.dat1 */
+                       0x364 (PIN_INPUT_PULLUP | MUX_MODE0)    /* mmc1_dat2.dat2 */
+                       0x368 (PIN_INPUT_PULLUP | MUX_MODE0)    /* mmc1_dat3.dat3 */
+               >;
+       };
+
        mmc1_pins_hs: pinmux_mmc1_hs_pins {
                pinctrl-single,pins = <
                        0x354 (PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0)       /* mmc1_clk.clk */
                >;
        };
 
+       mmc1_pins_sdr25: pinmux_mmc1_sdr25_pins {
+               pinctrl-single,pins = <
+                       0x354 (PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0)       /* mmc1_clk.clk */
+                       0x358 (PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0)       /* mmc1_cmd.cmd */
+                       0x35c (PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0)       /* mmc1_dat0.dat0 */
+                       0x360 (PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0)       /* mmc1_dat1.dat1 */
+                       0x364 (PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0)       /* mmc1_dat2.dat2 */
+                       0x368 (PIN_INPUT_PULLUP | MUX_VIRTUAL_MODE11 | MUX_MODE0)       /* mmc1_dat3.dat3 */
+               >;
+       };
+
+       mmc1_pins_ddr50: pinmux_mmc1_ddr50_pins {
+               pinctrl-single,pins = <
+                       0x354 (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE0)      /* mmc1_clk.clk */
+                       0x358 (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE0)      /* mmc1_cmd.cmd */
+                       0x35c (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE0)      /* mmc1_dat0.dat0 */
+                       0x360 (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE0)      /* mmc1_dat1.dat1 */
+                       0x364 (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE0)      /* mmc1_dat2.dat2 */
+                       0x368 (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE0)      /* mmc1_dat3.dat3 */
+               >;
+       };
+
        mmc2_pins_default: mmc2_pins_default {
                pinctrl-single,pins = <
                        0x9c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a23.mmc2_clk */
                        0x98 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_a22.mmc2_dat7 */
                >;
        };
+
+       mmc2_pins_ddr_3_3v: pinmux_mmc2_ddr_3_3v_pins {
+               pinctrl-single,pins = <
+                       0x9c (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE1) /* gpmc_a23.mmc2_clk */
+                       0xb0 (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE1) /* gpmc_cs1.mmc2_cmd */
+                       0xa0 (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE1) /* gpmc_a24.mmc2_dat0 */
+                       0xa4 (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE1) /* gpmc_a25.mmc2_dat1 */
+                       0xa8 (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE1) /* gpmc_a26.mmc2_dat2 */
+                       0xac (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE1) /* gpmc_a27.mmc2_dat3 */
+                       0x8c (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE1) /* gpmc_a19.mmc2_dat4 */
+                       0x90 (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE1) /* gpmc_a20.mmc2_dat5 */
+                       0x94 (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE1) /* gpmc_a21.mmc2_dat6 */
+                       0x98 (PIN_INPUT_PULLUP | MANUAL_MODE | MUX_MODE1) /* gpmc_a22.mmc2_dat7 */
+               >;
+       };
+};
+
+&dra7_iodelay_core {
+       mmc1_iodelay_ddr50_conf: mmc1_iodelay_ddr50_conf {
+               pinctrl-single,pins = <
+                       0x618 (A_DELAY(572) | G_DELAY(540))     /* CFG_MMC1_CLK_IN */
+                       0x624 (A_DELAY(0) | G_DELAY(600))       /* CFG_MMC1_CMD_IN */
+                       0x630 (A_DELAY(403) | G_DELAY(120))     /* CFG_MMC1_DAT0_IN */
+                       0x63c (A_DELAY(23) | G_DELAY(60))       /* CFG_MMC1_DAT1_IN */
+                       0x648 (A_DELAY(25) | G_DELAY(60))       /* CFG_MMC1_DAT2_IN */
+                       0x654 (A_DELAY(0) | G_DELAY(0))         /* CFG_MMC1_DAT3_IN */
+                       0x620 (A_DELAY(1525) | G_DELAY(0))      /* CFG_MMC1_CLK_IN */
+                       0x628 (A_DELAY(0) | G_DELAY(0))         /* CFG_MMC1_CMD_OEN */
+                       0x62c (A_DELAY(55) | G_DELAY(0))        /* CFG_MMC1_CMD_OUT */
+                       0x634 (A_DELAY(0) | G_DELAY(0))         /* CFG_MMC1_DAT0_OEN */
+                       0x638 (A_DELAY(0) | G_DELAY(0))         /* CFG_MMC1_DAT0_OUT */
+                       0x640 (A_DELAY(0) | G_DELAY(0))         /* CFG_MMC1_DAT1_OEN */
+                       0x644 (A_DELAY(0) | G_DELAY(0))         /* CFG_MMC1_DAT1_OUT */
+                       0x64c (A_DELAY(0) | G_DELAY(0))         /* CFG_MMC1_DAT2_OEN */
+                       0x650 (A_DELAY(0) | G_DELAY(0))         /* CFG_MMC1_DAT2_OUT */
+                       0x658 (A_DELAY(0) | G_DELAY(0))         /* CFG_MMC1_DAT3_OEN */
+                       0x65c (A_DELAY(0) | G_DELAY(0))         /* CFG_MMC1_DAT3_OUT */
+               >;
+       };
+
+       mmc2_iodelay_ddr_3_3v_conf: mmc2_iodelay_ddr_3_3v_conf {
+               pinctrl-single,pins = <
+                       0x18c (A_DELAY(0) | G_DELAY(120))       /* CFG_GPMC_A19_IN */
+                       0x1a4 (A_DELAY(265) | G_DELAY(360))     /* CFG_GPMC_A20_IN */
+                       0x1b0 (A_DELAY(0) | G_DELAY(120))       /* CFG_GPMC_A21_IN */
+                       0x1bc (A_DELAY(0) | G_DELAY(120))       /* CFG_GPMC_A22_IN */
+                       0x1c8 (A_DELAY(287) | G_DELAY(420))     /* CFG_GPMC_A23_IN */
+                       0x1d4 (A_DELAY(144) | G_DELAY(240))     /* CFG_GPMC_A24_IN */
+                       0x1e0 (A_DELAY(0) | G_DELAY(0))         /* CFG_GPMC_A25_IN */
+                       0x1ec (A_DELAY(0) | G_DELAY(120))       /* CFG_GPMC_A26_IN */
+                       0x1f8 (A_DELAY(120) | G_DELAY(180))     /* CFG_GPMC_A27_IN */
+                       0x360 (A_DELAY(0) | G_DELAY(0))         /* CFG_GPMC_CS1_IN */
+                       0x190 (A_DELAY(0) | G_DELAY(0))         /* CFG_GPMC_A19_OEN */
+                       0x194 (A_DELAY(174) | G_DELAY(0))       /* CFG_GPMC_A19_OUT */
+                       0x1a8 (A_DELAY(0) | G_DELAY(0))         /* CFG_GPMC_A20_OEN */
+                       0x1ac (A_DELAY(168) | G_DELAY(0))       /* CFG_GPMC_A20_OUT */
+                       0x1b4 (A_DELAY(0) | G_DELAY(0))         /* CFG_GPMC_A21_OEN */
+                       0x1b8 (A_DELAY(136) | G_DELAY(0))       /* CFG_GPMC_A21_OUT */
+                       0x1c0 (A_DELAY(0) | G_DELAY(0))         /* CFG_GPMC_A22_OEN */
+                       0x1c4 (A_DELAY(0) | G_DELAY(0))         /* CFG_GPMC_A22_OUT */
+                       0x1d0 (A_DELAY(879) | G_DELAY(0))       /* CFG_GPMC_A23_OUT */
+                       0x1d8 (A_DELAY(0) | G_DELAY(0))         /* CFG_GPMC_A24_OEN */
+                       0x1dc (A_DELAY(0) | G_DELAY(0))         /* CFG_GPMC_A24_OUT */
+                       0x1e4 (A_DELAY(0) | G_DELAY(0))         /* CFG_GPMC_A25_OEN */
+                       0x1e8 (A_DELAY(34) | G_DELAY(0))        /* CFG_GPMC_A25_OUT */
+                       0x1f0 (A_DELAY(0) | G_DELAY(0))         /* CFG_GPMC_A26_OEN */
+                       0x1f4 (A_DELAY(120) | G_DELAY(0))       /* CFG_GPMC_A26_OUT */
+                       0x1fc (A_DELAY(0) | G_DELAY(0))         /* CFG_GPMC_A27_OEN */
+                       0x200 (A_DELAY(0) | G_DELAY(0))         /* CFG_GPMC_A27_OUT */
+                       0x364 (A_DELAY(0) | G_DELAY(0))         /* CFG_GPMC_CS1_OEN */
+                       0x368 (A_DELAY(11) | G_DELAY(0))        /* CFG_GPMC_CS1_OUT */
+               >;
+       };
 };
 
 &i2c1 {
        };
 
        pcf_gpio_21: gpio@21 {
-               compatible = "ti,pcf8575";
+               compatible = "nxp,pcf8575";
                reg = <0x21>;
                lines-initial-states = <0x1408>;
                gpio-controller;
                #interrupt-cells = <2>;
        };
 
-       mxt244: touchscreen@4a {
-               compatible = "atmel,mXT244";
-               status = "okay";
-               reg = <0x4a>;
-               interrupts = <GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>;
-
-               atmel,config = <
-                       /* MXT244_GEN_COMMAND(6) */
-                       0x00 0x00 0x00 0x00 0x00 0x00
-                       /* MXT244_GEN_POWER(7) */
-                       0x20 0xff 0x32
-                       /* MXT244_GEN_ACQUIRE(8) */
-                       0x0a 0x00 0x05 0x00 0x00 0x00 0x09 0x23
-                       /* MXT244_TOUCH_MULTI(9) */
-                       0x00 0x00 0x00 0x13 0x0b 0x00 0x00 0x00 0x02 0x00
-                       0x00 0x01 0x01 0x0e 0x0a 0x0a 0x0a 0x0a 0x00 0x00
-                       0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
-                       0x00
-                       /* MXT244_TOUCH_KEYARRAY(15) */
-                       0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
-                       0x00
-                       /* MXT244_COMMSCONFIG_T18(2) */
-                       0x00 0x00
-                       /* MXT244_SPT_GPIOPWM(19) */
-                       0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
-                       0x00 0x00 0x00 0x00 0x00 0x00
-                       /* MXT244_PROCI_GRIPFACE(20) */
-                       0x07 0x00 0x00 0x00 0x00 0x00 0x00 0x50 0x28 0x04
-                       0x0f 0x0a
-                       /* MXT244_PROCG_NOISE(22) */
-                       0x05 0x00 0x00 0x00 0x00 0x00 0x00 0x03 0x23 0x00
-                       0x00 0x05 0x0f 0x19 0x23 0x2d 0x03
-                       /* MXT244_TOUCH_PROXIMITY(23) */
-                       0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
-                       0x00 0x00 0x00 0x00 0x00
-                       /* MXT244_PROCI_ONETOUCH(24) */
-                       0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
-                       0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
-                       /* MXT244_SPT_SELFTEST(25) */
-                       0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
-                       0x00 0x00 0x00 0x00
-                       /* MXT244_PROCI_TWOTOUCH(27) */
-                       0x00 0x00 0x00 0x00 0x00 0x00 0x00
-                       /* MXT244_SPT_CTECONFIG(28) */
-                       0x00 0x00 0x02 0x08 0x10 0x00
-               >;
-
-               atmel,x_line = <18>;
-               atmel,y_line = <12>;
-               atmel,x_size = <800>;
-               atmel,y_size = <480>;
-               atmel,blen = <0x01>;
-               atmel,threshold = <30>;
-               atmel,voltage = <2800000>;
-               atmel,orient = <0x4>;
-       };
 
        tlv320aic3106: tlv320aic3106@18 {
                compatible = "ti,tlv320aic3106";
        };
 };
 
-&i2c2 {
+i2c_p3_exp: &i2c2 {
        status = "okay";
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c2_pins>;
        clock-frequency = <400000>;
 
        pcf_hdmi: gpio@26 {
                                remote-endpoint = <&vin1a>;
                                hsync-active = <1>;
                                vsync-active = <1>;
-                               pclk-sample = <1>;
+                               pclk-sample = <0>;
                        };
                };
        };
         * is always hardwired.
         */
        cd-gpios = <&gpio6 27 0>;
-       pinctrl-names = "default", "hs";
+       pinctrl-names = "default", "hs", "sdr12", "sdr25", "ddr50";
        pinctrl-0 = <&mmc1_pins_default>;
        pinctrl-1 = <&mmc1_pins_hs>;
+       pinctrl-2 = <&mmc1_pins_sdr12>;
+       pinctrl-3 = <&mmc1_pins_sdr25>;
+       pinctrl-4 = <&mmc1_pins_ddr50 &mmc1_iodelay_ddr50_conf>;
+       sd-uhs-ddr50;
+       sd-uhs-sdr25;
+       sd-uhs-sdr12;
 };
 
 &mmc2 {
        status = "okay";
        vmmc-supply = <&evm_3v3_sw>;
        bus-width = <8>;
-       pinctrl-names = "default", "hs";
+       pinctrl-names = "default", "hs", "ddr_3_3v";
        pinctrl-0 = <&mmc2_pins_default>;
        pinctrl-1 = <&mmc2_pins_hs>;
+       pinctrl-2 = <&mmc2_pins_ddr_3_3v &mmc2_iodelay_ddr_3_3v_conf>;
+       mmc-ddr-1_8v;
 };
 
 &mmc4 {
                compatible = "ti,wlcore";
                reg = <2>;
                interrupt-parent = <&gpio5>;
-               interrupts = <7 IRQ_TYPE_NONE>;
+               interrupts = <7 IRQ_TYPE_LEVEL_HIGH>;
        };
 };
 
 };
 
 &omap_dwc3_1 {
-       extcon = <&extcon1>;
+       extcon = <&extcon_usb1>;
 };
 
 &omap_dwc3_2 {
-       extcon = <&extcon2>;
+       extcon = <&extcon_usb2>;
 };
 
 &usb1 {
        memory-region = <&ipu1_cma_pool>;
        mboxes = <&mailbox5 &mbox_ipu1_legacy>;
        timers = <&timer11>;
+       watchdog-timers = <&timer7>, <&timer8>;
 };
 
 &dsp1 {
        memory-region = <&dsp1_cma_pool>;
        mboxes = <&mailbox5 &mbox_dsp1_legacy>;
        timers = <&timer5>;
+       watchdog-timers = <&timer10>;
 };
 
 &dsp2 {
 &atl {
        status = "okay";
 
-       atl1 {
-               bws = <DRA7_ATL_WS_MCASP2_FSX>;
-               aws = <DRA7_ATL_WS_MCASP6_FSX>;
-       };
-
        atl2 {
                bws = <DRA7_ATL_WS_MCASP2_FSX>;
                aws = <DRA7_ATL_WS_MCASP3_FSX>;
        };
 };
 
-&mcasp2 {
-       fck_parent = "atl_clkin2_ck";
-
-       status = "okay";
-
-       op-mode = <0>;  /* MCASP_IIS_MODE */
-       tdm-slots = <2>;
-       /* 8 serializer */
-       serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
-               1 1 1 1 1 1 1 1
-       >;
-};
-
 &mcasp3 {
        fck_parent = "atl_clkin2_ck";
 
        >;
 };
 
-&mcasp6 {
-       fck_parent = "atl_clkin1_ck";
+&mcasp7 {
+       #sound-dai-cells = <0>;
 
        status = "okay";
 
-       op-mode = <0>;  /* MCASP_IIS_MODE */
-       tdm-slots = <8>;
+       op-mode = <0>;  /* MCASP_IIS_MODE */
+       tdm-slots = <4>;
        /* 4 serializer */
-       serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
-               1 2 0 0
+       serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
+               2 1 0 0
        >;
        tx-num-evt = <8>;
        rx-num-evt = <8>;
                remote-endpoint = <&onboardLI>;
        };
 };
+
+#include "dra7xx-jamr3.dtsi"