]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - android-sdk/kernel-video.git/blobdiff - arch/arm/boot/dts/dra72-evm.dts
ARM: dts: DRA7: enabling optional clks in DT
[android-sdk/kernel-video.git] / arch / arm / boot / dts / dra72-evm.dts
index e8680421ba0c34e11e7a436d8cbbcd2f94fc380e..080f1844a511e5e4583a6245a5484a1b00f09b63 100644 (file)
@@ -71,7 +71,7 @@
                };
        };
 
-       reserved-memory {
+       reserved_mem: reserved-memory {
                #address-cells = <1>;
                #size-cells = <1>;
                ranges;
                gpio = <&pcf_gpio_21 5 0>;
        };
 
-       evm_3v3: fixedregulator-evm_3v3 {
+       evm_3v3_sw: fixedregulator-evm_3v3 {
                compatible = "regulator-fixed";
                regulator-name = "evm_3v3";
                regulator-min-microvolt = <3300000>;
                /* TPS77018DBVT */
                compatible = "regulator-fixed";
                regulator-name = "aic_dvdd";
-               vin-supply = <&evm_3v3>;
+               vin-supply = <&evm_3v3_sw>;
                regulator-min-microvolt = <1800000>;
                regulator-max-microvolt = <1800000>;
        };
        primary_sound: primary_sound {
                compatible = "ti,dra7xx-evm-audio";
                ti,model = "DRA7xx-EVM";
+               ti,always-on;
                ti,audio-codec = <&tlv320aic3106>;
                ti,mcasp-controller = <&mcasp3>;
-               ti,codec-clock-rate = <5644800>;
+               ti,codec-clock-rate = <11289600>;
                clocks = <&atl_clkin2_ck>;
                clock-names = "mclk";
                ti,audio-routing =
                        "LINE1L",               "Line In",
                        "LINE1R",               "Line In";
        };
+
+       btwilink_sound: btwilink_sound {
+               #sound-dai-cells = <0>;
+               compatible = "linux,bt-sco-audio";
+               status = "okay";
+       };
+
+       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>;
+               };
+       };
+
+       vmmcwl_fixed: fixedregulator-mmcwl {
+               compatible = "regulator-fixed";
+               regulator-name = "vmmcwl_fixed";
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <1800000>;
+               gpio = <&gpio5 8 GPIO_ACTIVE_HIGH>; /* gpio5_8 */
+               enable-active-high;
+       };
+
+       kim {
+               compatible = "kim";
+               nshutdown_gpio = <132>;
+               dev_name = "/dev/ttyS2";
+               flow_cntrl = <1>;
+               baud_rate = <3686400>;
+       };
+
+       btwilink {
+               compatible = "btwilink";
+       };
 };
 
 &dra7_pmx_core {
+       bt_uart3_pins: pinmux_uart3_pins {
+               pinctrl-single,pins = <
+                       0x3c0 (PIN_INPUT_PULLUP | MUX_MODE1)    /* uart3_rxd */
+                       0x3c4 (PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* uart3_txd */
+                       0x3c8 (PIN_INPUT | MUX_MODE1)           /* uart3_ctsn */
+                       0x3cc (PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* uart3_rtsn */
+                       0x2bc (PIN_OUTPUT | MUX_MODE14)         /* gpio5_4 */
+               >;
+       };
+
        i2c1_pins: pinmux_i2c1_pins {
                pinctrl-single,pins = <
                        0x400 (PIN_INPUT | MUX_MODE0) /* i2c1_sda.i2c1_sda */
                >;
        };
 
+       mcasp2_pins: pinmux_mcasp2_pins {
+               pinctrl-single,pins = <
+                       0x02F4 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* mcasp2_aclkx */
+                       0x02F8 (PIN_INPUT_SLEW | MUX_MODE0)     /* mcasp2_afsx */
+                       0x0304 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* mcasp2_axr0 */
+                       0x0308 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* mcasp2_axr1 */
+                       0x030C (PIN_INPUT_SLEW | MUX_MODE0)     /* mcasp2_axr2 */
+                       0x0310 (PIN_INPUT_SLEW | MUX_MODE0)     /* mcasp2_axr3 */
+                       0x0314 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* mcasp2_axr4 */
+                       0x0318 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* mcasp2_axr5 */
+                       0x031c (PIN_INPUT_PULLDOWN | MUX_MODE0) /* mcasp2_axr6 */
+                       0x0320 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* mcasp2_axr7 */
+               >;
+       };
+
        mcasp3_pins: pinmux_mcasp3_pins {
                pinctrl-single,pins = <
                        0x324 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* mcasp3_aclkx */
                >;
        };
 
+       mcasp6_pins: pinmux_mcasp6_pins {
+               pinctrl-single,pins = <
+                       0x2d4 (PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* mcasp6_axr0 */
+                       0x2d8 (PIN_INPUT_PULLDOWN | MUX_MODE1)  /* mcasp6_axr1 */
+                       0x2dc (PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* mcasp6_clkx */
+                       0x2e0 (PIN_INPUT_PULLDOWN | MUX_MODE1)  /* mcasp6_fsx */
+               >;
+       };
+
+       mcasp7_pins: pinmux_mcasp7_pins {
+               pinctrl-single,pins = <
+                       0x2e4 (PIN_INPUT_PULLDOWN | MUX_MODE1)  /* mcasp7_axr0 */
+                       0x2e8 (PIN_OUTPUT_PULLDOWN | MUX_MODE1) /* mcasp7_axr1 */
+                       0x2ec (PIN_INPUT_PULLDOWN | MUX_MODE1)  /* mcasp7_clkx */
+                       0x2f0 (PIN_INPUT_PULLDOWN | MUX_MODE1)  /* mcasp7_fsx */
+               >;
+       };
+
+       mcasp7_sleep_pins: pinmux_mcasp7_sleep_pins {
+               pinctrl-single,pins = <
+                       0x2e4 (PIN_OFF_NONE)
+                       0x2e8 (PIN_OFF_NONE)
+                       0x2ec (PIN_OFF_NONE)
+                       0x2f0 (PIN_OFF_NONE)
+               >;
+       };
+
        usb1_pins: pinmux_usb1_pins {
                 pinctrl-single,pins = <
                        0x280 (PIN_INPUT_SLEW | MUX_MODE0) /* usb1_drvvbus */
                 >;
         };
 
+       tsc_pins: pinmux_tsc_pins {
+               pinctrl-single,pins = <
+                       0x3D4 (PIN_INPUT_PULLUP | MUX_MODE14) /* dcan1_rx -> gpio1_15 */
+               >;
+       };
+
        qspi1_pins: pinmux_qspi1_pins {
                pinctrl-single,pins = <
                        0x74 (PIN_OUTPUT | MUX_MODE1)   /* gpmc_a13.qspi1_rtclk */
                        0x418   (MUX_MODE15 | PULL_UP)  /* wakeup0.off */
                >;
        };
+
+       radio_pins: pinmux_radio_pins {
+               pinctrl-single,pins = <
+                       0x0334 (PIN_INPUT | MUX_MODE4)          /* i2c4_sda */
+                       0x0338 (PIN_INPUT | MUX_MODE4)          /* i2c4_scl */
+                       0x02A0 (PIN_INPUT | MUX_MODE14)         /* gpio6_20 */
+               >;
+       };
+
+       wlan_pins: pinmux_wlan_pins {
+               pinctrl-single,pins = <
+                       0x3e8 (PIN_INPUT_PULLUP | MUX_MODE3)    /* uart1_ctsn.mmc4_clk */
+                       0x3ec (PIN_INPUT_PULLUP | MUX_MODE3)    /* uart1_rtsn.mmc4_cmd */
+                       0x3f0 (PIN_INPUT_PULLUP | MUX_MODE3)    /* uart2_rxd.mmc4_dat0 */
+                       0x3f4 (PIN_INPUT_PULLUP | MUX_MODE3)    /* uart2_txd.mmc4_dat1 */
+                       0x3f8 (PIN_INPUT_PULLUP | MUX_MODE3)    /* uart2_ctsn.mmc4_dat2 */
+                       0x3fc (PIN_INPUT_PULLUP | MUX_MODE3)    /* uart2_rtsn.mmc4_dat3 */
+                       0x2cc (PIN_OUTPUT | MUX_MODE14)         /* mcasp1_axr6.gpio5_8 - WLAN_EN */
+               >;
+       };
+
+       wlirq_pins: pinmux_wlirq_pins {
+               pinctrl-single,pins = <
+                       0x2c8 (PIN_INPUT_PULLDOWN | MUX_MODE14 ) /* mcasp1_axr5.gpio5_7 - WLAN_IRQ */
+               >;
+       };
+
+       vin1a_pins: pinmux_vin1a_pins {
+               pinctrl-single,pins = <
+                       0x0DC   (PIN_INPUT | MUX_MODE0) /* vin1a_clk0 */
+                       0x0E4   (PIN_INPUT | MUX_MODE0) /* vin1a_de0 */
+                       0x0E8   (PIN_INPUT | MUX_MODE0) /* vin1a_fld0 */
+                       0x0EC   (PIN_INPUT | MUX_MODE0) /* vin1a_hsync0 */
+                       0x0F0   (PIN_INPUT | MUX_MODE0) /* vin1a_vsync0 */
+                       0x0F4   (PIN_INPUT | MUX_MODE0) /* vin1a_d0 */
+                       0x0F8   (PIN_INPUT | MUX_MODE0) /* vin1a_d1 */
+                       0x0FC   (PIN_INPUT | MUX_MODE0) /* vin1a_d2 */
+                       0x100   (PIN_INPUT | MUX_MODE0) /* vin1a_d3 */
+                       0x104   (PIN_INPUT | MUX_MODE0) /* vin1a_d4 */
+                       0x108   (PIN_INPUT | MUX_MODE0) /* vin1a_d5 */
+                       0x10C   (PIN_INPUT | MUX_MODE0) /* vin1a_d6 */
+                       0x110   (PIN_INPUT | MUX_MODE0) /* vin1a_d7 */
+                       0x114   (PIN_INPUT | MUX_MODE0) /* vin1a_d8 */
+                       0x118   (PIN_INPUT | MUX_MODE0) /* vin1a_d9 */
+                       0x11C   (PIN_INPUT | MUX_MODE0) /* vin1a_d10 */
+                       0x120   (PIN_INPUT | MUX_MODE0) /* vin1a_d11 */
+                       0x124   (PIN_INPUT | MUX_MODE0) /* vin1a_d12 */
+                       0x128   (PIN_INPUT | MUX_MODE0) /* vin1a_d13 */
+                       0x12C   (PIN_INPUT | MUX_MODE0) /* vin1a_d14 */
+                       0x130   (PIN_INPUT | MUX_MODE0) /* vin1a_d15 */
+               >;
+       };
+
+       vin1a_d16_d23_pins: pinmux_vin1a_d16_d23_pins {
+               pinctrl-single,pins = <
+                       0x134   (PIN_INPUT | MUX_MODE0) /* vin1a_d16 */
+                       0x138   (PIN_INPUT | MUX_MODE0) /* vin1a_d17 */
+                       0x13C   (PIN_INPUT | MUX_MODE0) /* vin1a_d18 */
+                       0x140   (PIN_INPUT | MUX_MODE0) /* vin1a_d19 */
+                       0x144   (PIN_INPUT | MUX_MODE0) /* vin1a_d20 */
+                       0x148   (PIN_INPUT | MUX_MODE0) /* vin1a_d21 */
+                       0x14C   (PIN_INPUT | MUX_MODE0) /* vin1a_d22 */
+                       0x150   (PIN_INPUT | MUX_MODE0) /* vin1a_d23 */
+
+               >;
+       };
+
+       vin2a_pins: pinmux_vin2a_pins {
+               pinctrl-single,pins = <
+                       0x154   (PIN_INPUT | MUX_MODE0) /* vin2a_clk0 */
+                       0x160   (PIN_INPUT | MUX_MODE0) /* vin2a_hsync0 */
+                       0x164   (PIN_INPUT | MUX_MODE0) /* vin2a_vsync0 */
+                       0x168   (PIN_INPUT | MUX_MODE0) /* vin2a_d0 */
+                       0x16c   (PIN_INPUT | MUX_MODE0) /* vin2a_d1 */
+                       0x170   (PIN_INPUT | MUX_MODE0) /* vin2a_d2 */
+                       0x174   (PIN_INPUT | MUX_MODE0) /* vin2a_d3 */
+                       0x178   (PIN_INPUT | MUX_MODE0) /* vin2a_d4 */
+                       0x17c   (PIN_INPUT | MUX_MODE0) /* vin2a_d5 */
+                       0x180   (PIN_INPUT | MUX_MODE0) /* vin2a_d6 */
+                       0x184   (PIN_INPUT | MUX_MODE0) /* vin2a_d7 */
+               >;
+       };
+
 };
 
 &i2c1 {
                                        regulator-name = "ldo1";
                                        regulator-min-microvolt = <1800000>;
                                        regulator-max-microvolt = <3300000>;
+                                       regulator-always-on;
                                        regulator-boot-on;
                                };
 
                interrupt-controller;
                #interrupt-cells = <2>;
 
-               cpsw_sel_s0 {
+               sel_enet_mux_hog: cpsw_sel_s0 {
                        gpio-hog;
                        gpios = <4 GPIO_ACTIVE_HIGH>;
                        output-low;
                status = "okay";
 
                /* Regulators */
-               AVDD-supply = <&evm_3v3>;
-               IOVDD-supply = <&evm_3v3>;
-               DRVDD-supply = <&evm_3v3>;
+               AVDD-supply = <&evm_3v3_sw>;
+               IOVDD-supply = <&evm_3v3_sw>;
+               DRVDD-supply = <&evm_3v3_sw>;
                DVDD-supply = <&aic_dvdd>;
        };
 };
        };
 };
 
-&i2c5 {
+i2c_p3_exp: &i2c5 {
        status = "okay";
        pinctrl-names = "default";
        pinctrl-0 = <&i2c5_pins>;
                 */
                lines-initial-states = <0x0f2b>;
        };
+
+       ov10633@37 {
+               compatible = "ovti,ov10633";
+               reg = <0x37>;
+
+               mux-gpios = <&pcf_hdmi 2        GPIO_ACTIVE_HIGH>, /* VIN2_S0 */
+                           <&pcf_hdmi 6        GPIO_ACTIVE_LOW>; /* VIN2_S2 */
+               port {
+                       onboardLI: endpoint {
+                               remote-endpoint = <&vin2a>;
+                               hsync-active = <1>;
+                               vsync-active = <1>;
+                               pclk-sample = <0>;
+                       };
+               };
+       };
 };
 
 &uart1 {
        status = "okay";
 };
 
+&uart3 {
+       status = "okay";
+       gpios = <&pcf_gpio_21 14 GPIO_ACTIVE_LOW>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&bt_uart3_pins>;
+};
+
 &mmc1 {
        /* Using default configured pins */
        status = "okay";
 &mmc2 {
        /* Using default configured pins */
        status = "okay";
-       vmmc-supply = <&evm_3v3>;
+       vmmc-supply = <&evm_3v3_sw>;
        bus-width = <8>;
        ti,non-removable;
        mmc-hs200-1_8v;
        max-frequency = <192000000>;
 };
 
+&mmc4 {
+       status = "okay";
+       vmmc-supply = <&vmmcwl_fixed>;
+       bus-width = <4>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&wlan_pins &wlirq_pins>;
+       cap-power-off-card;
+       keep-power-in-suspend;
+       ti,non-removable;
+
+       #address-cells = <1>;
+       #size-cells = <0>;
+       wlcore: wlcore@0 {
+               compatible = "ti,wl1835";
+               reg = <2>;
+               interrupt-parent = <&gpio5>;
+               interrupts = <7 IRQ_TYPE_LEVEL_HIGH>;
+       };
+};
+
 &mac {
        status = "okay";
        pinctrl-names = "default", "sleep";
 
 &dss {
        status = "ok";
+       ti,enable-opt-clks-on-reset;
 
        vdda_video-supply = <&ldo5_reg>;
 };
        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>;
 };
 
 &atl {
        };
 };
 
+&mcasp2 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&mcasp2_pins>;
+};
+
 &mcasp3 {
        pinctrl-names = "default", "sleep";
        pinctrl-0 = <&mcasp3_pins>;
        serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
                1 2 0 0
        >;
+       tx-num-evt = <8>;
+       rx-num-evt = <8>;
+};
+
+&mcasp6 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&mcasp6_pins>;
+};
+
+&mcasp7 {
+       #sound-dai-cells = <0>;
+       pinctrl-names = "default", "sleep";
+       pinctrl-0 = <&mcasp7_pins>;
+       pinctrl-1 = <&mcasp7_sleep_pins>;
+
+       status = "okay";
+
+       op-mode = <0>;  /* MCASP_IIS_MODE */
+       tdm-slots = <4>;
+       /* 4 serializer */
+       serial-dir = <  /* 0: INACTIVE, 1: TX, 2: RX */
+               2 1 0 0
+       >;
+       tx-num-evt = <8>;
+       rx-num-evt = <8>;
 };
 
 &omap_dwc3_1 {
 };
 
 &usb1 {
-       dr_mode = "otg";
+       dr_mode = "peripheral";
        pinctrl-names = "default";
        pinctrl-0 = <&usb1_pins>;
 };
        pinctrl-0 = <&dcan1_pins_default>;
        pinctrl-1 = <&dcan1_pins_sleep>;
 };
+
+&vip1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&vin2a_pins>;
+       status = "okay";
+};
+
+video_in: &vin2a {
+       status = "okay";
+       endpoint@0 {
+               slave-mode;
+               remote-endpoint = <&onboardLI>;
+       };
+};
+
+#include "dra7xx-jamr3.dtsi"
+&cal {
+       status = "okay";
+};
+
+&dsp_radio {
+        pinctrl-names = "default";
+        pinctrl-0 = <&radio_pins>;
+};
+
+&tvp_5158{
+       mux-gpios = <&pcf_hdmi 2 GPIO_ACTIVE_LOW>,      /*VIN2_S0*/
+                       <&pcf_jamr3_21 8 GPIO_ACTIVE_LOW>,      /*SEL_TVP_FPD*/
+                       <&pcf_hdmi 6 GPIO_ACTIVE_HIGH>; /*VIN2_S2*/
+};