Commit f5196776 authored by Olof Johansson's avatar Olof Johansson

Merge tag 'omap-for-v3.16/dt-part2-v2' of...

Merge tag 'omap-for-v3.16/dt-part2-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt

Merge "ARM: omap dt changes for v3.16 merge window, part 2" From Tony Lindgren:

Device tree related changes for omaps.

* tag 'omap-for-v3.16/dt-part2-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (49 commits)
  ARM: dts: Enable mcpdm and mcbsp1 on DuoVero
  ARM: dts: Convert DuoVero Parlor to use IOPAD macro
  ARM: dts: am43xx: fix starting offset of NAND.filesystem MTD partition
  ARM: dts: dra7: add support for parallel NAND flash
  ARM: dts: am437x-gp-evm: Add ethernet support for GP EVM
  ARM: dts: am4372: Add cpsw phy sel dt node
  ARM: OMAP2+: Use pdata quirks for wl12xx on VAR-STK/DVK-OM44
  ARM: dts: Add VAR-SOM-OM44 WLAN nodes
  ARM: dts: Add support for OMAP4 VAR-DVK-OM44
  ARM: dts: Add support for OMAP4 Variscite OM44 family
  ARM: dts: Change IOPAD macro's for OMAP4/5
  ARM: dts: AM33XX: fix ethernet and mdio default state
  ARM: dts: am4372: Add hdq device tree data
  ARM: omap2+: skip device build from platform code for dt
  dts: dra7-evm: add USB support
  ARM: dts: dra7: Add USB related nodes
  ARM: dts: dra7-clock: Add "l3init_960m_gfclk" clock gate
  ARM: dts: omap4+: Add clocks to USB2 PHY node
  ARM: dts: dra7: add OCP2SCP3 and SATA nodes
  ARM: dts: omap5: add sata node
  ...
Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parents 805e55d5 d712ff63
...@@ -80,7 +80,10 @@ SoCs: ...@@ -80,7 +80,10 @@ SoCs:
compatible = "ti,omap5432", "ti,omap5" compatible = "ti,omap5432", "ti,omap5"
- DRA742 - DRA742
compatible = "ti,dra7xx", "ti,dra7" compatible = "ti,dra742", "ti,dra74", "ti,dra7"
- DRA722
compatible = "ti,dra722", "ti,dra72", "ti,dra7"
- AM4372 - AM4372
compatible = "ti,am4372", "ti,am43" compatible = "ti,am4372", "ti,am43"
...@@ -102,6 +105,12 @@ Boards: ...@@ -102,6 +105,12 @@ Boards:
- OMAP4 DuoVero with Parlor : Commercial expansion board with daughter board - OMAP4 DuoVero with Parlor : Commercial expansion board with daughter board
compatible = "gumstix,omap4-duovero-parlor", "gumstix,omap4-duovero", "ti,omap4430", "ti,omap4"; compatible = "gumstix,omap4-duovero-parlor", "gumstix,omap4-duovero", "ti,omap4430", "ti,omap4";
- OMAP4 VAR-STK-OM44 : Commercial dev kit with VAR-OM44CustomBoard and VAR-SOM-OM44 w/WLAN
compatible = "variscite,var-stk-om44", "variscite,var-som-om44", "ti,omap4460", "ti,omap4";
- OMAP4 VAR-DVK-OM44 : Commercial dev kit with VAR-OM44CustomBoard, VAR-SOM-OM44 w/WLAN and LCD touchscreen
compatible = "variscite,var-dvk-om44", "variscite,var-som-om44", "ti,omap4460", "ti,omap4";
- OMAP3 EVM : Software Development Board for OMAP35x, AM/DM37x - OMAP3 EVM : Software Development Board for OMAP35x, AM/DM37x
compatible = "ti,omap3-evm", "ti,omap3" compatible = "ti,omap3-evm", "ti,omap3"
...@@ -120,5 +129,8 @@ Boards: ...@@ -120,5 +129,8 @@ Boards:
- AM437x GP EVM - AM437x GP EVM
compatible = "ti,am437x-gp-evm", "ti,am4372", "ti,am43" compatible = "ti,am437x-gp-evm", "ti,am4372", "ti,am43"
- DRA7 EVM: Software Developement Board for DRA7XX - DRA742 EVM: Software Developement Board for DRA742
compatible = "ti,dra7-evm", "ti,dra7" compatible = "ti,dra7-evm", "ti,dra742", "ti,dra74", "ti,dra7"
- DRA722 EVM: Software Development Board for DRA722
compatible = "ti,dra72-evm", "ti,dra722", "ti,dra72", "ti,dra7"
...@@ -44,7 +44,9 @@ Board specific device node entry ...@@ -44,7 +44,9 @@ Board specific device node entry
}; };
OMAP DWC3 GLUE OMAP DWC3 GLUE
- compatible : Should be "ti,dwc3" - compatible : Should be
* "ti,dwc3" for OMAP5 and DRA7
* "ti,am437x-dwc3" for AM437x
- ti,hwmods : Should be "usb_otg_ss" - ti,hwmods : Should be "usb_otg_ss"
- reg : Address and length of the register set for the device. - reg : Address and length of the register set for the device.
- interrupts : The irq number of this device that is used to interrupt the - interrupts : The irq number of this device that is used to interrupt the
......
...@@ -130,6 +130,7 @@ toshiba Toshiba Corporation ...@@ -130,6 +130,7 @@ toshiba Toshiba Corporation
toumaz Toumaz toumaz Toumaz
usi Universal Scientifc Industrial Co., Ltd. usi Universal Scientifc Industrial Co., Ltd.
v3 V3 Semiconductor v3 V3 Semiconductor
variscite Variscite Ltd.
via VIA Technologies, Inc. via VIA Technologies, Inc.
voipac Voipac Technologies s.r.o. voipac Voipac Technologies s.r.o.
winbond Winbond Electronics corp. winbond Winbond Electronics corp.
......
...@@ -239,65 +239,69 @@ dtb-$(CONFIG_ARCH_NOMADIK) += ste-nomadik-s8815.dtb ...@@ -239,65 +239,69 @@ dtb-$(CONFIG_ARCH_NOMADIK) += ste-nomadik-s8815.dtb
dtb-$(CONFIG_ARCH_NSPIRE) += nspire-cx.dtb \ dtb-$(CONFIG_ARCH_NSPIRE) += nspire-cx.dtb \
nspire-tp.dtb \ nspire-tp.dtb \
nspire-clp.dtb nspire-clp.dtb
dtb-$(CONFIG_ARCH_OMAP2PLUS) += omap2420-h4.dtb \ dtb-$(CONFIG_ARCH_OMAP2) += omap2420-h4.dtb \
omap2430-sdp.dtb \
omap2420-n800.dtb \ omap2420-n800.dtb \
omap2420-n810.dtb \ omap2420-n810.dtb \
omap2420-n810-wimax.dtb \ omap2420-n810-wimax.dtb \
omap2430-sdp.dtb
dtb-$(CONFIG_ARCH_OMAP3) += am3517-craneboard.dtb \
am3517-evm.dtb \
am3517_mt_ventoux.dtb \
omap3430-sdp.dtb \ omap3430-sdp.dtb \
omap3-beagle.dtb \ omap3-beagle.dtb \
omap3-beagle-xm.dtb \
omap3-beagle-xm-ab.dtb \
omap3-cm-t3517.dtb \ omap3-cm-t3517.dtb \
omap3-sbc-t3517.dtb \
omap3-cm-t3530.dtb \ omap3-cm-t3530.dtb \
omap3-sbc-t3530.dtb \
omap3-cm-t3730.dtb \ omap3-cm-t3730.dtb \
omap3-sbc-t3730.dtb \
omap3-devkit8000.dtb \ omap3-devkit8000.dtb \
omap3-beagle-xm.dtb \
omap3-beagle-xm-ab.dtb \
omap3-evm.dtb \ omap3-evm.dtb \
omap3-evm-37xx.dtb \ omap3-evm-37xx.dtb \
omap3-gta04.dtb \
omap3-igep0020.dtb \
omap3-igep0030.dtb \
omap3-ldp.dtb \ omap3-ldp.dtb \
omap3-lilly-dbb056.dtb \
omap3-n900.dtb \ omap3-n900.dtb \
omap3-n9.dtb \ omap3-n9.dtb \
omap3-n950.dtb \ omap3-n950.dtb \
omap3-overo-alto35.dtb \ omap3-overo-alto35.dtb \
omap3-overo-storm-alto35.dtb \
omap3-overo-chestnut43.dtb \ omap3-overo-chestnut43.dtb \
omap3-overo-storm-chestnut43.dtb \
omap3-overo-gallop43.dtb \ omap3-overo-gallop43.dtb \
omap3-overo-storm-gallop43.dtb \
omap3-overo-palo43.dtb \ omap3-overo-palo43.dtb \
omap3-overo-storm-alto35.dtb \
omap3-overo-storm-chestnut43.dtb \
omap3-overo-storm-gallop43.dtb \
omap3-overo-storm-palo43.dtb \ omap3-overo-storm-palo43.dtb \
omap3-overo-summit.dtb \
omap3-overo-storm-summit.dtb \ omap3-overo-storm-summit.dtb \
omap3-overo-tobi.dtb \
omap3-overo-storm-tobi.dtb \ omap3-overo-storm-tobi.dtb \
omap3-gta04.dtb \ omap3-overo-summit.dtb \
omap3-igep0020.dtb \ omap3-overo-tobi.dtb \
omap3-igep0030.dtb \ omap3-sbc-t3517.dtb \
omap3-lilly-dbb056.dtb \ omap3-sbc-t3530.dtb \
omap3-zoom3.dtb \ omap3-sbc-t3730.dtb \
omap4-duovero-parlor.dtb \ omap3-zoom3.dtb
dtb-$(CONFIG_SOC_AM33XX) += am335x-base0033.dtb \
am335x-bone.dtb \
am335x-boneblack.dtb \
am335x-evm.dtb \
am335x-evmsk.dtb \
am335x-nano.dtb
dtb-$(CONFIG_ARCH_OMAP4) += omap4-duovero-parlor.dtb \
omap4-panda.dtb \ omap4-panda.dtb \
omap4-panda-a4.dtb \ omap4-panda-a4.dtb \
omap4-panda-es.dtb \ omap4-panda-es.dtb \
omap4-var-som.dtb \
omap4-sdp.dtb \ omap4-sdp.dtb \
omap4-sdp-es23plus.dtb \ omap4-sdp-es23plus.dtb \
omap5-uevm.dtb \ omap4-var-dvk-om44.dtb \
am335x-evm.dtb \ omap4-var-stk-om44.dtb
am335x-evmsk.dtb \ dtb-$(CONFIG_SOC_AM43XX) += am43x-epos-evm.dtb \
am335x-bone.dtb \ am437x-gp-evm.dtb
am335x-boneblack.dtb \ dtb-$(CONFIG_SOC_OMAP5) += omap5-cm-t54.dtb \
am335x-nano.dtb \ omap5-sbc-t54.dtb \
am335x-base0033.dtb \ omap5-uevm.dtb
am3517-craneboard.dtb \ dtb-$(CONFIG_SOC_DRA7XX) += dra7-evm.dtb \
am3517-evm.dtb \ dra72-evm.dtb
am3517_mt_ventoux.dtb \
am43x-epos-evm.dtb \
am437x-gp-evm.dtb \
dra7-evm.dtb
dtb-$(CONFIG_ARCH_ORION5X) += orion5x-lacie-d2-network.dtb \ dtb-$(CONFIG_ARCH_ORION5X) += orion5x-lacie-d2-network.dtb \
orion5x-lacie-ethernet-disk-mini-v2.dtb \ orion5x-lacie-ethernet-disk-mini-v2.dtb \
orion5x-maxtor-shared-storage-2.dtb \ orion5x-maxtor-shared-storage-2.dtb \
......
...@@ -182,31 +182,31 @@ &uart0 { ...@@ -182,31 +182,31 @@ &uart0 {
&usb { &usb {
status = "okay"; status = "okay";
};
control@44e10620 { &usb_ctrl_mod {
status = "okay"; status = "okay";
}; };
usb-phy@47401300 { &usb0_phy {
status = "okay"; status = "okay";
}; };
usb-phy@47401b00 { &usb1_phy {
status = "okay"; status = "okay";
}; };
usb@47401000 { &usb0 {
status = "okay"; status = "okay";
}; };
usb@47401800 { &usb1 {
status = "okay"; status = "okay";
dr_mode = "host"; dr_mode = "host";
}; };
dma-controller@47402000 { &cppi41dma {
status = "okay"; status = "okay";
};
}; };
&i2c0 { &i2c0 {
...@@ -280,13 +280,14 @@ &mac { ...@@ -280,13 +280,14 @@ &mac {
pinctrl-names = "default", "sleep"; pinctrl-names = "default", "sleep";
pinctrl-0 = <&cpsw_default>; pinctrl-0 = <&cpsw_default>;
pinctrl-1 = <&cpsw_sleep>; pinctrl-1 = <&cpsw_sleep>;
status = "okay";
}; };
&davinci_mdio { &davinci_mdio {
pinctrl-names = "default", "sleep"; pinctrl-names = "default", "sleep";
pinctrl-0 = <&davinci_mdio_default>; pinctrl-0 = <&davinci_mdio_default>;
pinctrl-1 = <&davinci_mdio_sleep>; pinctrl-1 = <&davinci_mdio_sleep>;
status = "okay";
}; };
&mmc1 { &mmc1 {
......
...@@ -268,34 +268,34 @@ mmc1_pins: pinmux_mmc1_pins { ...@@ -268,34 +268,34 @@ mmc1_pins: pinmux_mmc1_pins {
lcd_pins_s0: lcd_pins_s0 { lcd_pins_s0: lcd_pins_s0 {
pinctrl-single,pins = < pinctrl-single,pins = <
0x20 0x01 /* gpmc_ad8.lcd_data16, OUTPUT | MODE1 */ 0x20 (PIN_OUTPUT | MUX_MODE1) /* gpmc_ad8.lcd_data23 */
0x24 0x01 /* gpmc_ad9.lcd_data17, OUTPUT | MODE1 */ 0x24 (PIN_OUTPUT | MUX_MODE1) /* gpmc_ad9.lcd_data22 */
0x28 0x01 /* gpmc_ad10.lcd_data18, OUTPUT | MODE1 */ 0x28 (PIN_OUTPUT | MUX_MODE1) /* gpmc_ad10.lcd_data21 */
0x2c 0x01 /* gpmc_ad11.lcd_data19, OUTPUT | MODE1 */ 0x2c (PIN_OUTPUT | MUX_MODE1) /* gpmc_ad11.lcd_data20 */
0x30 0x01 /* gpmc_ad12.lcd_data20, OUTPUT | MODE1 */ 0x30 (PIN_OUTPUT | MUX_MODE1) /* gpmc_ad12.lcd_data19 */
0x34 0x01 /* gpmc_ad13.lcd_data21, OUTPUT | MODE1 */ 0x34 (PIN_OUTPUT | MUX_MODE1) /* gpmc_ad13.lcd_data18 */
0x38 0x01 /* gpmc_ad14.lcd_data22, OUTPUT | MODE1 */ 0x38 (PIN_OUTPUT | MUX_MODE1) /* gpmc_ad14.lcd_data17 */
0x3c 0x01 /* gpmc_ad15.lcd_data23, OUTPUT | MODE1 */ 0x3c (PIN_OUTPUT | MUX_MODE1) /* gpmc_ad15.lcd_data16 */
0xa0 0x00 /* lcd_data0.lcd_data0, OUTPUT | MODE0 */ 0xa0 (PIN_OUTPUT | MUX_MODE0) /* lcd_data0.lcd_data0 */
0xa4 0x00 /* lcd_data1.lcd_data1, OUTPUT | MODE0 */ 0xa4 (PIN_OUTPUT | MUX_MODE0) /* lcd_data1.lcd_data1 */
0xa8 0x00 /* lcd_data2.lcd_data2, OUTPUT | MODE0 */ 0xa8 (PIN_OUTPUT | MUX_MODE0) /* lcd_data2.lcd_data2 */
0xac 0x00 /* lcd_data3.lcd_data3, OUTPUT | MODE0 */ 0xac (PIN_OUTPUT | MUX_MODE0) /* lcd_data3.lcd_data3 */
0xb0 0x00 /* lcd_data4.lcd_data4, OUTPUT | MODE0 */ 0xb0 (PIN_OUTPUT | MUX_MODE0) /* lcd_data4.lcd_data4 */
0xb4 0x00 /* lcd_data5.lcd_data5, OUTPUT | MODE0 */ 0xb4 (PIN_OUTPUT | MUX_MODE0) /* lcd_data5.lcd_data5 */
0xb8 0x00 /* lcd_data6.lcd_data6, OUTPUT | MODE0 */ 0xb8 (PIN_OUTPUT | MUX_MODE0) /* lcd_data6.lcd_data6 */
0xbc 0x00 /* lcd_data7.lcd_data7, OUTPUT | MODE0 */ 0xbc (PIN_OUTPUT | MUX_MODE0) /* lcd_data7.lcd_data7 */
0xc0 0x00 /* lcd_data8.lcd_data8, OUTPUT | MODE0 */ 0xc0 (PIN_OUTPUT | MUX_MODE0) /* lcd_data8.lcd_data8 */
0xc4 0x00 /* lcd_data9.lcd_data9, OUTPUT | MODE0 */ 0xc4 (PIN_OUTPUT | MUX_MODE0) /* lcd_data9.lcd_data9 */
0xc8 0x00 /* lcd_data10.lcd_data10, OUTPUT | MODE0 */ 0xc8 (PIN_OUTPUT | MUX_MODE0) /* lcd_data10.lcd_data10 */
0xcc 0x00 /* lcd_data11.lcd_data11, OUTPUT | MODE0 */ 0xcc (PIN_OUTPUT | MUX_MODE0) /* lcd_data11.lcd_data11 */
0xd0 0x00 /* lcd_data12.lcd_data12, OUTPUT | MODE0 */ 0xd0 (PIN_OUTPUT | MUX_MODE0) /* lcd_data12.lcd_data12 */
0xd4 0x00 /* lcd_data13.lcd_data13, OUTPUT | MODE0 */ 0xd4 (PIN_OUTPUT | MUX_MODE0) /* lcd_data13.lcd_data13 */
0xd8 0x00 /* lcd_data14.lcd_data14, OUTPUT | MODE0 */ 0xd8 (PIN_OUTPUT | MUX_MODE0) /* lcd_data14.lcd_data14 */
0xdc 0x00 /* lcd_data15.lcd_data15, OUTPUT | MODE0 */ 0xdc (PIN_OUTPUT | MUX_MODE0) /* lcd_data15.lcd_data15 */
0xe0 0x00 /* lcd_vsync.lcd_vsync, OUTPUT | MODE0 */ 0xe0 (PIN_OUTPUT | MUX_MODE0) /* lcd_vsync.lcd_vsync */
0xe4 0x00 /* lcd_hsync.lcd_hsync, OUTPUT | MODE0 */ 0xe4 (PIN_OUTPUT | MUX_MODE0) /* lcd_hsync.lcd_hsync */
0xe8 0x00 /* lcd_pclk.lcd_pclk, OUTPUT | MODE0 */ 0xe8 (PIN_OUTPUT | MUX_MODE0) /* lcd_pclk.lcd_pclk */
0xec 0x00 /* lcd_ac_bias_en.lcd_ac_bias_en, OUTPUT | MODE0 */ 0xec (PIN_OUTPUT | MUX_MODE0) /* lcd_ac_bias_en.lcd_ac_bias_en */
>; >;
}; };
...@@ -330,31 +330,31 @@ tps: tps@2d { ...@@ -330,31 +330,31 @@ tps: tps@2d {
&usb { &usb {
status = "okay"; status = "okay";
};
control@44e10620 { &usb_ctrl_mod {
status = "okay"; status = "okay";
}; };
usb-phy@47401300 { &usb0_phy {
status = "okay"; status = "okay";
}; };
usb-phy@47401b00 { &usb1_phy {
status = "okay"; status = "okay";
}; };
usb@47401000 { &usb0 {
status = "okay"; status = "okay";
}; };
usb@47401800 { &usb1 {
status = "okay"; status = "okay";
dr_mode = "host"; dr_mode = "host";
}; };
dma-controller@47402000 { &cppi41dma {
status = "okay"; status = "okay";
};
}; };
&i2c1 { &i2c1 {
...@@ -614,12 +614,14 @@ &mac { ...@@ -614,12 +614,14 @@ &mac {
pinctrl-names = "default", "sleep"; pinctrl-names = "default", "sleep";
pinctrl-0 = <&cpsw_default>; pinctrl-0 = <&cpsw_default>;
pinctrl-1 = <&cpsw_sleep>; pinctrl-1 = <&cpsw_sleep>;
status = "okay";
}; };
&davinci_mdio { &davinci_mdio {
pinctrl-names = "default", "sleep"; pinctrl-names = "default", "sleep";
pinctrl-0 = <&davinci_mdio_default>; pinctrl-0 = <&davinci_mdio_default>;
pinctrl-1 = <&davinci_mdio_sleep>; pinctrl-1 = <&davinci_mdio_sleep>;
status = "okay";
}; };
&cpsw_emac0 { &cpsw_emac0 {
......
...@@ -57,6 +57,17 @@ wl12xx_vmmc: fixedregulator@2 { ...@@ -57,6 +57,17 @@ wl12xx_vmmc: fixedregulator@2 {
enable-active-high; enable-active-high;
}; };
vtt_fixed: fixedregulator@3 {
compatible = "regulator-fixed";
regulator-name = "vtt";
regulator-min-microvolt = <1500000>;
regulator-max-microvolt = <1500000>;
gpio = <&gpio0 7 GPIO_ACTIVE_HIGH>;
regulator-always-on;
regulator-boot-on;
enable-active-high;
};
leds { leds {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&user_leds_s0>; pinctrl-0 = <&user_leds_s0>;
...@@ -363,31 +374,31 @@ tlv320aic3106: tlv320aic3106@1b { ...@@ -363,31 +374,31 @@ tlv320aic3106: tlv320aic3106@1b {
&usb { &usb {
status = "okay"; status = "okay";
};
control@44e10620 { &usb_ctrl_mod {
status = "okay"; status = "okay";
}; };
usb-phy@47401300 { &usb0_phy {
status = "okay"; status = "okay";
}; };
usb-phy@47401b00 { &usb1_phy {
status = "okay"; status = "okay";
}; };
usb@47401000 { &usb0 {
status = "okay"; status = "okay";
}; };
usb@47401800 { &usb1 {
status = "okay"; status = "okay";
dr_mode = "host"; dr_mode = "host";
}; };
dma-controller@47402000 { &cppi41dma {
status = "okay"; status = "okay";
};
}; };
&epwmss2 { &epwmss2 {
...@@ -484,12 +495,14 @@ &mac { ...@@ -484,12 +495,14 @@ &mac {
pinctrl-0 = <&cpsw_default>; pinctrl-0 = <&cpsw_default>;
pinctrl-1 = <&cpsw_sleep>; pinctrl-1 = <&cpsw_sleep>;
dual_emac = <1>; dual_emac = <1>;
status = "okay";
}; };
&davinci_mdio { &davinci_mdio {
pinctrl-names = "default", "sleep"; pinctrl-names = "default", "sleep";
pinctrl-0 = <&davinci_mdio_default>; pinctrl-0 = <&davinci_mdio_default>;
pinctrl-1 = <&davinci_mdio_sleep>; pinctrl-1 = <&davinci_mdio_sleep>;
status = "okay";
}; };
&cpsw_emac0 { &cpsw_emac0 {
......
...@@ -95,6 +95,14 @@ leds_pins: pinmux_leds_pins { ...@@ -95,6 +95,14 @@ leds_pins: pinmux_leds_pins {
}; };
}; };
&mac {
status = "okay";
};
&davinci_mdio {
status = "okay";
};
&cpsw_emac0 { &cpsw_emac0 {
phy_id = <&davinci_mdio>, <0>; phy_id = <&davinci_mdio>, <0>;
}; };
...@@ -200,31 +208,31 @@ &uart0 { ...@@ -200,31 +208,31 @@ &uart0 {
&usb { &usb {
status = "okay"; status = "okay";
};
control@44e10620 { &usb_ctrl_mod {
status = "okay"; status = "okay";
}; };
usb-phy@47401300 { &usb0_phy {
status = "okay"; status = "okay";
}; };
usb-phy@47401b00 { &usb1_phy {
status = "okay"; status = "okay";
}; };
usb@47401000 { &usb0 {
status = "okay"; status = "okay";
}; };
usb@47401800 { &usb1 {
status = "okay"; status = "okay";
dr_mode = "host"; dr_mode = "host";
}; };
dma-controller@47402000 { &cppi41dma {
status = "okay"; status = "okay";
};
}; };
#include "tps65910.dtsi" #include "tps65910.dtsi"
......
...@@ -344,6 +344,11 @@ partition@6 { ...@@ -344,6 +344,11 @@ partition@6 {
&mac { &mac {
dual_emac = <1>; dual_emac = <1>;
status = "okay";
};
&davinci_mdio {
status = "okay";
}; };
&cpsw_emac0 { &cpsw_emac0 {
......
...@@ -688,6 +688,7 @@ mac: ethernet@4a100000 { ...@@ -688,6 +688,7 @@ mac: ethernet@4a100000 {
*/ */
interrupts = <40 41 42 43>; interrupts = <40 41 42 43>;
ranges; ranges;
status = "disabled";
davinci_mdio: mdio@4a101000 { davinci_mdio: mdio@4a101000 {
compatible = "ti,davinci_mdio"; compatible = "ti,davinci_mdio";
...@@ -696,6 +697,7 @@ davinci_mdio: mdio@4a101000 { ...@@ -696,6 +697,7 @@ davinci_mdio: mdio@4a101000 {
ti,hwmods = "davinci_mdio"; ti,hwmods = "davinci_mdio";
bus_freq = <1000000>; bus_freq = <1000000>;
reg = <0x4a101000 0x100>; reg = <0x4a101000 0x100>;
status = "disabled";
}; };
cpsw_emac0: slave@4a100200 { cpsw_emac0: slave@4a100200 {
......
...@@ -521,6 +521,12 @@ cpsw_emac1: slave@4a100300 { ...@@ -521,6 +521,12 @@ cpsw_emac1: slave@4a100300 {
/* Filled in by U-Boot */ /* Filled in by U-Boot */
mac-address = [ 00 00 00 00 00 00 ]; mac-address = [ 00 00 00 00 00 00 ];
}; };
phy_sel: cpsw-phy-sel@44e10650 {
compatible = "ti,am43xx-cpsw-phy-sel";
reg= <0x44e10650 0x4>;
reg-names = "gmii-sel";
};
}; };
epwmss0: epwmss@48300000 { epwmss0: epwmss@48300000 {
...@@ -735,6 +741,121 @@ gpmc: gpmc@50000000 { ...@@ -735,6 +741,121 @@ gpmc: gpmc@50000000 {
#size-cells = <1>; #size-cells = <1>;
status = "disabled"; status = "disabled";
}; };
am43xx_control_usb2phy1: control-phy@44e10620 {
compatible = "ti,control-phy-usb2-am437";
reg = <0x44e10620 0x4>;
reg-names = "power";
};
am43xx_control_usb2phy2: control-phy@0x44e10628 {
compatible = "ti,control-phy-usb2-am437";
reg = <0x44e10628 0x4>;
reg-names = "power";
};
ocp2scp0: ocp2scp@483a8000 {
compatible = "ti,omap-ocp2scp";
#address-cells = <1>;
#size-cells = <1>;
ranges;
ti,hwmods = "ocp2scp0";
usb2_phy1: phy@483a8000 {
compatible = "ti,am437x-usb2";
reg = <0x483a8000 0x8000>;
ctrl-module = <&am43xx_control_usb2phy1>;
clocks = <&usb_phy0_always_on_clk32k>,
<&usb_otg_ss0_refclk960m>;
clock-names = "wkupclk", "refclk";
#phy-cells = <0>;
status = "disabled";
};
};
ocp2scp1: ocp2scp@483e8000 {
compatible = "ti,omap-ocp2scp";
#address-cells = <1>;
#size-cells = <1>;
ranges;
ti,hwmods = "ocp2scp1";
usb2_phy2: phy@483e8000 {
compatible = "ti,am437x-usb2";
reg = <0x483e8000 0x8000>;
ctrl-module = <&am43xx_control_usb2phy2>;
clocks = <&usb_phy1_always_on_clk32k>,
<&usb_otg_ss1_refclk960m>;
clock-names = "wkupclk", "refclk";
#phy-cells = <0>;
status = "disabled";
};
};
dwc3_1: omap_dwc3@48380000 {
compatible = "ti,am437x-dwc3";
ti,hwmods = "usb_otg_ss0";
reg = <0x48380000 0x10000>;
interrupts = <GIC_SPI 172 IRQ_TYPE_LEVEL_HIGH>;
#address-cells = <1>;
#size-cells = <1>;
utmi-mode = <1>;
ranges;
usb1: usb@48390000 {
compatible = "synopsys,dwc3";
reg = <0x48390000 0x17000>;
interrupts = <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>;
phys = <&usb2_phy1>;
phy-names = "usb2-phy";
maximum-speed = "high-speed";
dr_mode = "otg";
status = "disabled";
};
};
dwc3_2: omap_dwc3@483c0000 {
compatible = "ti,am437x-dwc3";
ti,hwmods = "usb_otg_ss1";
reg = <0x483c0000 0x10000>;
interrupts = <GIC_SPI 178 IRQ_TYPE_LEVEL_HIGH>;
#address-cells = <1>;
#size-cells = <1>;
utmi-mode = <1>;
ranges;
usb2: usb@483d0000 {
compatible = "synopsys,dwc3";
reg = <0x483d0000 0x17000>;
interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
phys = <&usb2_phy2>;
phy-names = "usb2-phy";
maximum-speed = "high-speed";
dr_mode = "otg";
status = "disabled";
};
};
qspi: qspi@47900000 {
compatible = "ti,am4372-qspi";
reg = <0x47900000 0x100>;
#address-cells = <1>;
#size-cells = <0>;
ti,hwmods = "qspi";
interrupts = <0 138 0x4>;
num-cs = <4>;
status = "disabled";
};
hdq: hdq@48347000 {
compatible = "ti,am43xx-hdq";
reg = <0x48347000 0x1000>;
interrupts = <GIC_SPI 139 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&func_12m_clk>;
clock-names = "fck";
ti,hwmods = "hdq1w";
status = "disabled";
};
}; };
}; };
......
...@@ -27,6 +27,17 @@ vmmcsd_fixed: fixedregulator-sd { ...@@ -27,6 +27,17 @@ vmmcsd_fixed: fixedregulator-sd {
enable-active-high; enable-active-high;
}; };
vtt_fixed: fixedregulator-vtt {
compatible = "regulator-fixed";
regulator-name = "vtt_fixed";
regulator-min-microvolt = <1500000>;
regulator-max-microvolt = <1500000>;
regulator-always-on;
regulator-boot-on;
enable-active-high;
gpio = <&gpio5 7 GPIO_ACTIVE_HIGH>;
};
backlight { backlight {
compatible = "pwm-backlight"; compatible = "pwm-backlight";
pwms = <&ecap0 0 50000 PWM_POLARITY_INVERTED>; pwms = <&ecap0 0 50000 PWM_POLARITY_INVERTED>;
...@@ -81,6 +92,64 @@ ecap0_pins: backlight_pins { ...@@ -81,6 +92,64 @@ ecap0_pins: backlight_pins {
0x164 MUX_MODE0 /* eCAP0_in_PWM0_out.eCAP0_in_PWM0_out MODE0 */ 0x164 MUX_MODE0 /* eCAP0_in_PWM0_out.eCAP0_in_PWM0_out MODE0 */
>; >;
}; };
pixcir_ts_pins: pixcir_ts_pins {
pinctrl-single,pins = <
0x264 (PIN_INPUT_PULLUP | MUX_MODE7) /* spi2_d0.gpio3_22 */
>;
};
cpsw_default: cpsw_default {
pinctrl-single,pins = <
/* Slave 1 */
0x114 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txen.rgmii1_txen */
0x118 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxdv.rgmii1_rxctl */
0x11c (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd1.rgmii1_txd3 */
0x120 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd0.rgmii1_txd2 */
0x124 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd1.rgmii1_txd1 */
0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd0.rgmii1_txd0 */
0x12c (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txclk.rmii1_tclk */
0x130 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxclk.rmii1_rclk */
0x134 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd1.rgmii1_rxd3 */
0x138 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd0.rgmii1_rxd2 */
0x13c (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd1.rgmii1_rxd1 */
0x140 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd0.rgmii1_rxd0 */
>;
};
cpsw_sleep: cpsw_sleep {
pinctrl-single,pins = <
/* Slave 1 reset value */
0x114 (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x118 (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x11c (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x120 (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x124 (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x128 (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x12c (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x130 (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x134 (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x138 (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x13c (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x140 (PIN_INPUT_PULLDOWN | MUX_MODE7)
>;
};
davinci_mdio_default: davinci_mdio_default {
pinctrl-single,pins = <
/* MDIO */
0x148 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* mdio_data.mdio_data */
0x14c (PIN_OUTPUT_PULLUP | MUX_MODE0) /* mdio_clk.mdio_clk */
>;
};
davinci_mdio_sleep: davinci_mdio_sleep {
pinctrl-single,pins = <
/* MDIO reset value */
0x148 (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x14c (PIN_INPUT_PULLDOWN | MUX_MODE7)
>;
};
}; };
&i2c0 { &i2c0 {
...@@ -93,6 +162,20 @@ &i2c1 { ...@@ -93,6 +162,20 @@ &i2c1 {
status = "okay"; status = "okay";
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&i2c1_pins>; pinctrl-0 = <&i2c1_pins>;
pixcir_ts@5c {
compatible = "pixcir,pixcir_tangoc";
pinctrl-names = "default";
pinctrl-0 = <&pixcir_ts_pins>;
reg = <0x5c>;
interrupt-parent = <&gpio3>;
interrupts = <22 0>;
attb-gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>;
x-size = <1024>;
y-size = <600>;
};
}; };
&epwmss0 { &epwmss0 {
...@@ -125,3 +208,41 @@ &mmc1 { ...@@ -125,3 +208,41 @@ &mmc1 {
pinctrl-0 = <&mmc1_pins>; pinctrl-0 = <&mmc1_pins>;
cd-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>; cd-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>;
}; };
&usb2_phy1 {
status = "okay";
};
&usb1 {
dr_mode = "peripheral";
status = "okay";
};
&usb2_phy2 {
status = "okay";
};
&usb2 {
dr_mode = "host";
status = "okay";
};
&mac {
slaves = <1>;
pinctrl-names = "default", "sleep";
pinctrl-0 = <&cpsw_default>;
pinctrl-1 = <&cpsw_sleep>;
status = "okay";
};
&davinci_mdio {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&davinci_mdio_default>;
pinctrl-1 = <&davinci_mdio_sleep>;
status = "okay";
};
&cpsw_emac0 {
phy_id = <&davinci_mdio>, <0>;
phy-mode = "rgmii";
};
...@@ -138,6 +138,29 @@ mmc1_pins: pinmux_mmc1_pins { ...@@ -138,6 +138,29 @@ mmc1_pins: pinmux_mmc1_pins {
0x160 (PIN_INPUT | MUX_MODE7) /* spi0_cs1.gpio0_6 */ 0x160 (PIN_INPUT | MUX_MODE7) /* spi0_cs1.gpio0_6 */
>; >;
}; };
qspi1_default: qspi1_default {
pinctrl-single,pins = <
0x7c (PIN_INPUT_PULLUP | MUX_MODE3)
0x88 (PIN_INPUT_PULLUP | MUX_MODE2)
0x90 (PIN_INPUT_PULLUP | MUX_MODE3)
0x94 (PIN_INPUT_PULLUP | MUX_MODE3)
0x98 (PIN_INPUT_PULLUP | MUX_MODE3)
0x9c (PIN_INPUT_PULLUP | MUX_MODE3)
>;
};
pixcir_ts_pins: pixcir_ts_pins {
pinctrl-single,pins = <
0x44 (PIN_INPUT_PULLUP | MUX_MODE7) /* gpmc_a1.gpio1_17 */
>;
};
hdq_pins: pinmux_hdq_pins {
pinctrl-single,pins = <
0x234 (PIN_INPUT_PULLUP | MUX_MODE1) /* cam1_wen.hdq_gpio */
>;
};
}; };
matrix_keypad: matrix_keypad@0 { matrix_keypad: matrix_keypad@0 {
...@@ -226,7 +249,9 @@ at24@50 { ...@@ -226,7 +249,9 @@ at24@50 {
}; };
pixcir_ts@5c { pixcir_ts@5c {
compatible = "pixcir,pixcir_ts"; compatible = "pixcir,pixcir_tangoc";
pinctrl-names = "default";
pinctrl-0 = <&pixcir_ts_pins>;
reg = <0x5c>; reg = <0x5c>;
interrupt-parent = <&gpio1>; interrupt-parent = <&gpio1>;
interrupts = <17 0>; interrupts = <17 0>;
...@@ -234,7 +259,7 @@ pixcir_ts@5c { ...@@ -234,7 +259,7 @@ pixcir_ts@5c {
attb-gpio = <&gpio1 17 GPIO_ACTIVE_HIGH>; attb-gpio = <&gpio1 17 GPIO_ACTIVE_HIGH>;
x-size = <1024>; x-size = <1024>;
y-size = <768>; y-size = <600>;
}; };
}; };
...@@ -341,7 +366,7 @@ partition@8 { ...@@ -341,7 +366,7 @@ partition@8 {
}; };
partition@9 { partition@9 {
label = "NAND.file-system"; label = "NAND.file-system";
reg = <0x00800000 0x1F600000>; reg = <0x00a00000 0x1f600000>;
}; };
}; };
}; };
...@@ -367,3 +392,79 @@ &spi1 { ...@@ -367,3 +392,79 @@ &spi1 {
pinctrl-0 = <&spi1_pins>; pinctrl-0 = <&spi1_pins>;
status = "okay"; status = "okay";
}; };
&usb2_phy1 {
status = "okay";
};
&usb1 {
dr_mode = "peripheral";
status = "okay";
};
&usb2_phy2 {
status = "okay";
};
&usb2 {
dr_mode = "host";
status = "okay";
};
&qspi {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&qspi1_default>;
spi-max-frequency = <48000000>;
m25p80@0 {
compatible = "mx66l51235l";
spi-max-frequency = <48000000>;
reg = <0>;
spi-cpol;
spi-cpha;
spi-tx-bus-width = <1>;
spi-rx-bus-width = <4>;
#address-cells = <1>;
#size-cells = <1>;
/* MTD partition table.
* The ROM checks the first 512KiB
* for a valid file to boot(XIP).
*/
partition@0 {
label = "QSPI.U_BOOT";
reg = <0x00000000 0x000080000>;
};
partition@1 {
label = "QSPI.U_BOOT.backup";
reg = <0x00080000 0x00080000>;
};
partition@2 {
label = "QSPI.U-BOOT-SPL_OS";
reg = <0x00100000 0x00010000>;
};
partition@3 {
label = "QSPI.U_BOOT_ENV";
reg = <0x00110000 0x00010000>;
};
partition@4 {
label = "QSPI.U-BOOT-ENV.backup";
reg = <0x00120000 0x00010000>;
};
partition@5 {
label = "QSPI.KERNEL";
reg = <0x00130000 0x0800000>;
};
partition@6 {
label = "QSPI.FILESYSTEM";
reg = <0x00930000 0x36D0000>;
};
};
};
&hdq {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&hdq_pins>;
};
...@@ -653,4 +653,36 @@ usbphy_32khz_clkmux: usbphy_32khz_clkmux { ...@@ -653,4 +653,36 @@ usbphy_32khz_clkmux: usbphy_32khz_clkmux {
clocks = <&clk_32768_ck>, <&clk_32k_tpm_ck>; clocks = <&clk_32768_ck>, <&clk_32k_tpm_ck>;
reg = <0x4260>; reg = <0x4260>;
}; };
usb_phy0_always_on_clk32k: usb_phy0_always_on_clk32k {
#clock-cells = <0>;
compatible = "ti,gate-clock";
clocks = <&usbphy_32khz_clkmux>;
ti,bit-shift = <8>;
reg = <0x2a40>;
};
usb_phy1_always_on_clk32k: usb_phy1_always_on_clk32k {
#clock-cells = <0>;
compatible = "ti,gate-clock";
clocks = <&usbphy_32khz_clkmux>;
ti,bit-shift = <8>;
reg = <0x2a48>;
};
usb_otg_ss0_refclk960m: usb_otg_ss0_refclk960m {
#clock-cells = <0>;
compatible = "ti,gate-clock";
clocks = <&dpll_per_clkdcoldo>;
ti,bit-shift = <8>;
reg = <0x8a60>;
};
usb_otg_ss1_refclk960m: usb_otg_ss1_refclk960m {
#clock-cells = <0>;
compatible = "ti,gate-clock";
clocks = <&dpll_per_clkdcoldo>;
ti,bit-shift = <8>;
reg = <0x8a68>;
};
}; };
...@@ -7,11 +7,11 @@ ...@@ -7,11 +7,11 @@
*/ */
/dts-v1/; /dts-v1/;
#include "dra7.dtsi" #include "dra74x.dtsi"
/ { / {
model = "TI DRA7"; model = "TI DRA742";
compatible = "ti,dra7-evm", "ti,dra752", "ti,dra7"; compatible = "ti,dra7-evm", "ti,dra742", "ti,dra74", "ti,dra7";
memory { memory {
device_type = "memory"; device_type = "memory";
...@@ -93,6 +93,64 @@ uart3_pins: pinmux_uart3_pins { ...@@ -93,6 +93,64 @@ uart3_pins: pinmux_uart3_pins {
0x24c (PIN_INPUT_SLEW | MUX_MODE0) /* uart3_txd */ 0x24c (PIN_INPUT_SLEW | MUX_MODE0) /* uart3_txd */
>; >;
}; };
qspi1_pins: pinmux_qspi1_pins {
pinctrl-single,pins = <
0x4c (PIN_INPUT | MUX_MODE1) /* gpmc_a3.qspi1_cs2 */
0x50 (PIN_INPUT | MUX_MODE1) /* gpmc_a4.qspi1_cs3 */
0x74 (PIN_INPUT | MUX_MODE1) /* gpmc_a13.qspi1_rtclk */
0x78 (PIN_INPUT | MUX_MODE1) /* gpmc_a14.qspi1_d3 */
0x7c (PIN_INPUT | MUX_MODE1) /* gpmc_a15.qspi1_d2 */
0x80 (PIN_INPUT | MUX_MODE1) /* gpmc_a16.qspi1_d1 */
0x84 (PIN_INPUT | MUX_MODE1) /* gpmc_a17.qspi1_d0 */
0x88 (PIN_INPUT | MUX_MODE1) /* qpmc_a18.qspi1_sclk */
0xb8 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_cs2.qspi1_cs0 */
0xbc (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_cs3.qspi1_cs1 */
>;
};
usb1_pins: pinmux_usb1_pins {
pinctrl-single,pins = <
0x280 (PIN_INPUT_SLEW | MUX_MODE0) /* usb1_drvvbus */
>;
};
usb2_pins: pinmux_usb2_pins {
pinctrl-single,pins = <
0x284 (PIN_INPUT_SLEW | MUX_MODE0) /* usb2_drvvbus */
>;
};
nand_flash_x16: nand_flash_x16 {
/* On DRA7 EVM, GPMC_WPN and NAND_BOOTn comes from DIP switch
* So NAND flash requires following switch settings:
* SW5.9 (GPMC_WPN) = LOW
* SW5.1 (NAND_BOOTn) = HIGH */
pinctrl-single,pins = <
0x0 (PIN_INPUT | MUX_MODE0) /* gpmc_ad0 */
0x4 (PIN_INPUT | MUX_MODE0) /* gpmc_ad1 */
0x8 (PIN_INPUT | MUX_MODE0) /* gpmc_ad2 */
0xc (PIN_INPUT | MUX_MODE0) /* gpmc_ad3 */
0x10 (PIN_INPUT | MUX_MODE0) /* gpmc_ad4 */
0x14 (PIN_INPUT | MUX_MODE0) /* gpmc_ad5 */
0x18 (PIN_INPUT | MUX_MODE0) /* gpmc_ad6 */
0x1c (PIN_INPUT | MUX_MODE0) /* gpmc_ad7 */
0x20 (PIN_INPUT | MUX_MODE0) /* gpmc_ad8 */
0x24 (PIN_INPUT | MUX_MODE0) /* gpmc_ad9 */
0x28 (PIN_INPUT | MUX_MODE0) /* gpmc_ad10 */
0x2c (PIN_INPUT | MUX_MODE0) /* gpmc_ad11 */
0x30 (PIN_INPUT | MUX_MODE0) /* gpmc_ad12 */
0x34 (PIN_INPUT | MUX_MODE0) /* gpmc_ad13 */
0x38 (PIN_INPUT | MUX_MODE0) /* gpmc_ad14 */
0x3c (PIN_INPUT | MUX_MODE0) /* gpmc_ad15 */
0xd8 (PIN_INPUT_PULLUP | MUX_MODE0) /* gpmc_wait0 */
0xcc (PIN_OUTPUT | MUX_MODE0) /* gpmc_wen */
0xb4 (PIN_OUTPUT_PULLUP | MUX_MODE0) /* gpmc_csn0 */
0xc4 (PIN_OUTPUT | MUX_MODE0) /* gpmc_advn_ale */
0xc8 (PIN_OUTPUT | MUX_MODE0) /* gpmc_oen_ren */
0xd0 (PIN_OUTPUT | MUX_MODE0) /* gpmc_be0n_cle */
>;
};
}; };
&i2c1 { &i2c1 {
...@@ -273,3 +331,167 @@ &mmc2 { ...@@ -273,3 +331,167 @@ &mmc2 {
&cpu0 { &cpu0 {
cpu0-supply = <&smps123_reg>; cpu0-supply = <&smps123_reg>;
}; };
&qspi {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&qspi1_pins>;
spi-max-frequency = <48000000>;
m25p80@0 {
compatible = "s25fl256s1";
spi-max-frequency = <48000000>;
reg = <0>;
spi-tx-bus-width = <1>;
spi-rx-bus-width = <4>;
spi-cpol;
spi-cpha;
#address-cells = <1>;
#size-cells = <1>;
/* MTD partition table.
* The ROM checks the first four physical blocks
* for a valid file to boot and the flash here is
* 64KiB block size.
*/
partition@0 {
label = "QSPI.SPL";
reg = <0x00000000 0x000010000>;
};
partition@1 {
label = "QSPI.SPL.backup1";
reg = <0x00010000 0x00010000>;
};
partition@2 {
label = "QSPI.SPL.backup2";
reg = <0x00020000 0x00010000>;
};
partition@3 {
label = "QSPI.SPL.backup3";
reg = <0x00030000 0x00010000>;
};
partition@4 {
label = "QSPI.u-boot";
reg = <0x00040000 0x00100000>;
};
partition@5 {
label = "QSPI.u-boot-spl-os";
reg = <0x00140000 0x00010000>;
};
partition@6 {
label = "QSPI.u-boot-env";
reg = <0x00150000 0x00010000>;
};
partition@7 {
label = "QSPI.u-boot-env.backup1";
reg = <0x00160000 0x0010000>;
};
partition@8 {
label = "QSPI.kernel";
reg = <0x00170000 0x0800000>;
};
partition@9 {
label = "QSPI.file-system";
reg = <0x00970000 0x01690000>;
};
};
};
&usb1 {
dr_mode = "peripheral";
pinctrl-names = "default";
pinctrl-0 = <&usb1_pins>;
};
&usb2 {
dr_mode = "host";
pinctrl-names = "default";
pinctrl-0 = <&usb2_pins>;
};
&elm {
status = "okay";
};
&gpmc {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&nand_flash_x16>;
ranges = <0 0 0 0x01000000>; /* minimum GPMC partition = 16MB */
nand@0,0 {
reg = <0 0 4>; /* device IO registers */
ti,nand-ecc-opt = "bch8";
ti,elm-id = <&elm>;
nand-bus-width = <16>;
gpmc,device-width = <2>;
gpmc,sync-clk-ps = <0>;
gpmc,cs-on-ns = <0>;
gpmc,cs-rd-off-ns = <40>;
gpmc,cs-wr-off-ns = <40>;
gpmc,adv-on-ns = <0>;
gpmc,adv-rd-off-ns = <30>;
gpmc,adv-wr-off-ns = <30>;
gpmc,we-on-ns = <5>;
gpmc,we-off-ns = <25>;
gpmc,oe-on-ns = <2>;
gpmc,oe-off-ns = <20>;
gpmc,access-ns = <20>;
gpmc,wr-access-ns = <40>;
gpmc,rd-cycle-ns = <40>;
gpmc,wr-cycle-ns = <40>;
gpmc,wait-pin = <0>;
gpmc,wait-on-read;
gpmc,wait-on-write;
gpmc,bus-turnaround-ns = <0>;
gpmc,cycle2cycle-delay-ns = <0>;
gpmc,clk-activation-ns = <0>;
gpmc,wait-monitoring-ns = <0>;
gpmc,wr-data-mux-bus-ns = <0>;
/* MTD partition table */
/* All SPL-* partitions are sized to minimal length
* which can be independently programmable. For
* NAND flash this is equal to size of erase-block */
#address-cells = <1>;
#size-cells = <1>;
partition@0 {
label = "NAND.SPL";
reg = <0x00000000 0x000020000>;
};
partition@1 {
label = "NAND.SPL.backup1";
reg = <0x00020000 0x00020000>;
};
partition@2 {
label = "NAND.SPL.backup2";
reg = <0x00040000 0x00020000>;
};
partition@3 {
label = "NAND.SPL.backup3";
reg = <0x00060000 0x00020000>;
};
partition@4 {
label = "NAND.u-boot-spl-os";
reg = <0x00080000 0x00040000>;
};
partition@5 {
label = "NAND.u-boot";
reg = <0x000c0000 0x00100000>;
};
partition@6 {
label = "NAND.u-boot-env";
reg = <0x001c0000 0x00020000>;
};
partition@7 {
label = "NAND.u-boot-env";
reg = <0x001e0000 0x00020000>;
};
partition@8 {
label = "NAND.kernel";
reg = <0x00200000 0x00800000>;
};
partition@9 {
label = "NAND.file-system";
reg = <0x00a00000 0x0f600000>;
};
};
};
...@@ -33,33 +33,6 @@ aliases { ...@@ -33,33 +33,6 @@ aliases {
serial5 = &uart6; serial5 = &uart6;
}; };
cpus {
#address-cells = <1>;
#size-cells = <0>;
cpu0: cpu@0 {
device_type = "cpu";
compatible = "arm,cortex-a15";
reg = <0>;
operating-points = <
/* kHz uV */
1000000 1060000
1176000 1160000
>;
clocks = <&dpll_mpu_ck>;
clock-names = "cpu";
clock-latency = <300000>; /* From omap-cpufreq driver */
};
cpu@1 {
device_type = "cpu";
compatible = "arm,cortex-a15";
reg = <1>;
};
};
timer { timer {
compatible = "arm,armv7-timer"; compatible = "arm,armv7-timer";
interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>, interrupts = <GIC_PPI 13 (GIC_CPU_MASK_SIMPLE(2) | IRQ_TYPE_LEVEL_LOW)>,
...@@ -789,6 +762,228 @@ mcspi4: spi@480ba000 { ...@@ -789,6 +762,228 @@ mcspi4: spi@480ba000 {
dma-names = "tx0", "rx0"; dma-names = "tx0", "rx0";
status = "disabled"; status = "disabled";
}; };
qspi: qspi@4b300000 {
compatible = "ti,dra7xxx-qspi";
reg = <0x4b300000 0x100>;
reg-names = "qspi_base";
#address-cells = <1>;
#size-cells = <0>;
ti,hwmods = "qspi";
clocks = <&qspi_gfclk_div>;
clock-names = "fck";
num-cs = <4>;
interrupts = <0 343 0x4>;
status = "disabled";
};
omap_control_sata: control-phy@4a002374 {
compatible = "ti,control-phy-pipe3";
reg = <0x4a002374 0x4>;
reg-names = "power";
clocks = <&sys_clkin1>;
clock-names = "sysclk";
};
/* OCP2SCP3 */
ocp2scp@4a090000 {
compatible = "ti,omap-ocp2scp";
#address-cells = <1>;
#size-cells = <1>;
ranges;
reg = <0x4a090000 0x20>;
ti,hwmods = "ocp2scp3";
sata_phy: phy@4A096000 {
compatible = "ti,phy-pipe3-sata";
reg = <0x4A096000 0x80>, /* phy_rx */
<0x4A096400 0x64>, /* phy_tx */
<0x4A096800 0x40>; /* pll_ctrl */
reg-names = "phy_rx", "phy_tx", "pll_ctrl";
ctrl-module = <&omap_control_sata>;
clocks = <&sys_clkin1>;
clock-names = "sysclk";
#phy-cells = <0>;
};
};
sata: sata@4a141100 {
compatible = "snps,dwc-ahci";
reg = <0x4a140000 0x1100>, <0x4a141100 0x7>;
interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
phys = <&sata_phy>;
phy-names = "sata-phy";
clocks = <&sata_ref_clk>;
ti,hwmods = "sata";
};
omap_control_usb2phy1: control-phy@4a002300 {
compatible = "ti,control-phy-usb2";
reg = <0x4a002300 0x4>;
reg-names = "power";
};
omap_control_usb3phy1: control-phy@4a002370 {
compatible = "ti,control-phy-pipe3";
reg = <0x4a002370 0x4>;
reg-names = "power";
};
omap_control_usb2phy2: control-phy@0x4a002e74 {
compatible = "ti,control-phy-usb2-dra7";
reg = <0x4a002e74 0x4>;
reg-names = "power";
};
/* OCP2SCP1 */
ocp2scp@4a080000 {
compatible = "ti,omap-ocp2scp";
#address-cells = <1>;
#size-cells = <1>;
ranges;
reg = <0x4a080000 0x20>;
ti,hwmods = "ocp2scp1";
usb2_phy1: phy@4a084000 {
compatible = "ti,omap-usb2";
reg = <0x4a084000 0x400>;
ctrl-module = <&omap_control_usb2phy1>;
clocks = <&usb_phy1_always_on_clk32k>,
<&usb_otg_ss1_refclk960m>;
clock-names = "wkupclk",
"refclk";
#phy-cells = <0>;
};
usb2_phy2: phy@4a085000 {
compatible = "ti,omap-usb2";
reg = <0x4a085000 0x400>;
ctrl-module = <&omap_control_usb2phy2>;
clocks = <&usb_phy2_always_on_clk32k>,
<&usb_otg_ss2_refclk960m>;
clock-names = "wkupclk",
"refclk";
#phy-cells = <0>;
};
usb3_phy1: phy@4a084400 {
compatible = "ti,omap-usb3";
reg = <0x4a084400 0x80>,
<0x4a084800 0x64>,
<0x4a084c00 0x40>;
reg-names = "phy_rx", "phy_tx", "pll_ctrl";
ctrl-module = <&omap_control_usb3phy1>;
clocks = <&usb_phy3_always_on_clk32k>,
<&sys_clkin1>,
<&usb_otg_ss1_refclk960m>;
clock-names = "wkupclk",
"sysclk",
"refclk";
#phy-cells = <0>;
};
};
omap_dwc3_1@48880000 {
compatible = "ti,dwc3";
ti,hwmods = "usb_otg_ss1";
reg = <0x48880000 0x10000>;
interrupts = <0 77 4>;
#address-cells = <1>;
#size-cells = <1>;
utmi-mode = <2>;
ranges;
usb1: usb@48890000 {
compatible = "snps,dwc3";
reg = <0x48890000 0x17000>;
interrupts = <0 76 4>;
phys = <&usb2_phy1>, <&usb3_phy1>;
phy-names = "usb2-phy", "usb3-phy";
tx-fifo-resize;
maximum-speed = "super-speed";
dr_mode = "otg";
};
};
omap_dwc3_2@488c0000 {
compatible = "ti,dwc3";
ti,hwmods = "usb_otg_ss2";
reg = <0x488c0000 0x10000>;
interrupts = <0 92 4>;
#address-cells = <1>;
#size-cells = <1>;
utmi-mode = <2>;
ranges;
usb2: usb@488d0000 {
compatible = "snps,dwc3";
reg = <0x488d0000 0x17000>;
interrupts = <0 78 4>;
phys = <&usb2_phy2>;
phy-names = "usb2-phy";
tx-fifo-resize;
maximum-speed = "high-speed";
dr_mode = "otg";
};
};
/* IRQ for DWC3_3 and DWC3_4 need IRQ crossbar */
omap_dwc3_3@48900000 {
compatible = "ti,dwc3";
ti,hwmods = "usb_otg_ss3";
reg = <0x48900000 0x10000>;
/* interrupts = <0 TBD 4>; */
#address-cells = <1>;
#size-cells = <1>;
utmi-mode = <2>;
ranges;
status = "disabled";
usb3: usb@48910000 {
compatible = "snps,dwc3";
reg = <0x48910000 0x17000>;
/* interrupts = <0 93 4>; */
tx-fifo-resize;
maximum-speed = "high-speed";
dr_mode = "otg";
};
};
omap_dwc3_4@48940000 {
compatible = "ti,dwc3";
ti,hwmods = "usb_otg_ss4";
reg = <0x48940000 0x10000>;
/* interrupts = <0 TBD 4>; */
#address-cells = <1>;
#size-cells = <1>;
utmi-mode = <2>;
ranges;
status = "disabled";
usb4: usb@48950000 {
compatible = "snps,dwc3";
reg = <0x48950000 0x17000>;
/* interrupts = <0 TBD 4>; */
tx-fifo-resize;
maximum-speed = "high-speed";
dr_mode = "otg";
};
};
elm: elm@48078000 {
compatible = "ti,am3352-elm";
reg = <0x48078000 0xfc0>; /* device IO registers */
interrupts = <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>;
ti,hwmods = "elm";
status = "disabled";
};
gpmc: gpmc@50000000 {
compatible = "ti,am3352-gpmc";
ti,hwmods = "gpmc";
reg = <0x50000000 0x37c>; /* device IO registers */
interrupts = <GIC_SPI 20 IRQ_TYPE_LEVEL_HIGH>;
gpmc,num-cs = <8>;
gpmc,num-waitpins = <2>;
#address-cells = <2>;
#size-cells = <1>;
status = "disabled";
};
}; };
}; };
......
/*
* Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.com/
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
/dts-v1/;
#include "dra72x.dtsi"
/ {
model = "TI DRA722";
compatible = "ti,dra72-evm", "ti,dra722", "ti,dra72", "ti,dra7";
memory {
device_type = "memory";
reg = <0x80000000 0x40000000>; /* 1024 MB */
};
};
&uart1 {
status = "okay";
};
/*
* Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.com/
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
* Based on "omap4.dtsi"
*/
#include "dra7.dtsi"
/ {
compatible = "ti,dra722", "ti,dra72", "ti,dra7";
cpus {
#address-cells = <1>;
#size-cells = <0>;
cpu0: cpu@0 {
device_type = "cpu";
compatible = "arm,cortex-a15";
reg = <0>;
};
};
};
/*
* Copyright (C) 2014 Texas Instruments Incorporated - http://www.ti.com/
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
* Based on "omap4.dtsi"
*/
#include "dra7.dtsi"
/ {
compatible = "ti,dra742", "ti,dra74", "ti,dra7";
cpus {
#address-cells = <1>;
#size-cells = <0>;
cpu0: cpu@0 {
device_type = "cpu";
compatible = "arm,cortex-a15";
reg = <0>;
operating-points = <
/* kHz uV */
1000000 1060000
1176000 1160000
>;
clocks = <&dpll_mpu_ck>;
clock-names = "cpu";
clock-latency = <300000>; /* From omap-cpufreq driver */
};
cpu@1 {
device_type = "cpu";
compatible = "arm,cortex-a15";
reg = <1>;
};
};
};
...@@ -1386,6 +1386,14 @@ l3init_60m_fclk: l3init_60m_fclk { ...@@ -1386,6 +1386,14 @@ l3init_60m_fclk: l3init_60m_fclk {
ti,dividers = <1>, <8>; ti,dividers = <1>, <8>;
}; };
l3init_960m_gfclk: l3init_960m_gfclk {
#clock-cells = <0>;
compatible = "ti,gate-clock";
clocks = <&dpll_usb_clkdcoldo>;
ti,bit-shift = <8>;
reg = <0x06c0>;
};
dss_32khz_clk: dss_32khz_clk { dss_32khz_clk: dss_32khz_clk {
#clock-cells = <0>; #clock-cells = <0>;
compatible = "ti,gate-clock"; compatible = "ti,gate-clock";
...@@ -1533,7 +1541,7 @@ sata_ref_clk: sata_ref_clk { ...@@ -1533,7 +1541,7 @@ sata_ref_clk: sata_ref_clk {
usb_otg_ss1_refclk960m: usb_otg_ss1_refclk960m { usb_otg_ss1_refclk960m: usb_otg_ss1_refclk960m {
#clock-cells = <0>; #clock-cells = <0>;
compatible = "ti,gate-clock"; compatible = "ti,gate-clock";
clocks = <&dpll_usb_clkdcoldo>; clocks = <&l3init_960m_gfclk>;
ti,bit-shift = <8>; ti,bit-shift = <8>;
reg = <0x13f0>; reg = <0x13f0>;
}; };
...@@ -1541,7 +1549,7 @@ usb_otg_ss1_refclk960m: usb_otg_ss1_refclk960m { ...@@ -1541,7 +1549,7 @@ usb_otg_ss1_refclk960m: usb_otg_ss1_refclk960m {
usb_otg_ss2_refclk960m: usb_otg_ss2_refclk960m { usb_otg_ss2_refclk960m: usb_otg_ss2_refclk960m {
#clock-cells = <0>; #clock-cells = <0>;
compatible = "ti,gate-clock"; compatible = "ti,gate-clock";
clocks = <&dpll_usb_clkdcoldo>; clocks = <&l3init_960m_gfclk>;
ti,bit-shift = <8>; ti,bit-shift = <8>;
reg = <0x1340>; reg = <0x1340>;
}; };
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
/dts-v1/; /dts-v1/;
#include "omap34xx-hs.dtsi" #include "omap34xx-hs.dtsi"
#include <dt-bindings/input/input.h>
/ { / {
model = "Nokia N900"; model = "Nokia N900";
...@@ -90,6 +91,19 @@ tv_connector_in: endpoint { ...@@ -90,6 +91,19 @@ tv_connector_in: endpoint {
}; };
}; };
}; };
sound: n900-audio {
compatible = "nokia,n900-audio";
nokia,cpu-dai = <&mcbsp2>;
nokia,audio-codec = <&tlv320aic3x>, <&tlv320aic3x_aux>;
nokia,headphone-amplifier = <&tpa6130a2>;
tvout-selection-gpios = <&gpio2 8 GPIO_ACTIVE_HIGH>; /* 40 */
jack-detection-gpios = <&gpio6 17 GPIO_ACTIVE_HIGH>; /* 177 */
eci-switch-gpios = <&gpio6 22 GPIO_ACTIVE_HIGH>; /* 182 */
speaker-amplifier-gpios = <&twl_gpio 7 GPIO_ACTIVE_HIGH>;
};
}; };
&omap3_pmx_core { &omap3_pmx_core {
...@@ -130,6 +144,15 @@ i2c3_pins: pinmux_i2c3_pins { ...@@ -130,6 +144,15 @@ i2c3_pins: pinmux_i2c3_pins {
>; >;
}; };
mcspi4_pins: pinmux_mcspi4_pins {
pinctrl-single,pins = <
0x15c (PIN_INPUT_PULLDOWN | MUX_MODE1) /* mcspi4_clk */
0x162 (PIN_INPUT_PULLDOWN | MUX_MODE1) /* mcspi4_somi */
0x160 (PIN_OUTPUT | MUX_MODE1) /* mcspi4_simo */
0x166 (PIN_OUTPUT | MUX_MODE1) /* mcspi4_cs0 */
>;
};
mmc1_pins: pinmux_mmc1_pins { mmc1_pins: pinmux_mmc1_pins {
pinctrl-single,pins = < pinctrl-single,pins = <
0x114 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_clk */ 0x114 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_clk */
...@@ -173,6 +196,13 @@ dss_sdi_pins: pinmux_dss_sdi_pins { ...@@ -173,6 +196,13 @@ dss_sdi_pins: pinmux_dss_sdi_pins {
0x0da (PIN_OUTPUT | MUX_MODE1) /* dss_data23.sdi_clkn */ 0x0da (PIN_OUTPUT | MUX_MODE1) /* dss_data23.sdi_clkn */
>; >;
}; };
wl1251_pins: pinmux_wl1251 {
pinctrl-single,pins = <
0x0ce (PIN_OUTPUT | MUX_MODE4) /* gpio 87 => wl1251 enable */
0x05a (PIN_INPUT | MUX_MODE4) /* gpio 42 => wl1251 irq */
>;
};
}; };
&i2c1 { &i2c1 {
...@@ -283,57 +313,57 @@ twl_audio: audio { ...@@ -283,57 +313,57 @@ twl_audio: audio {
}; };
&twl_keypad { &twl_keypad {
linux,keymap = < 0x00000010 /* KEY_Q */ linux,keymap = < MATRIX_KEY(0x00, 0x00, KEY_Q)
0x00010018 /* KEY_O */ MATRIX_KEY(0x00, 0x01, KEY_O)
0x00020019 /* KEY_P */ MATRIX_KEY(0x00, 0x02, KEY_P)
0x00030033 /* KEY_COMMA */ MATRIX_KEY(0x00, 0x03, KEY_COMMA)
0x0004000e /* KEY_BACKSPACE */ MATRIX_KEY(0x00, 0x04, KEY_BACKSPACE)
0x0006001e /* KEY_A */ MATRIX_KEY(0x00, 0x06, KEY_A)
0x0007001f /* KEY_S */ MATRIX_KEY(0x00, 0x07, KEY_S)
0x01000011 /* KEY_W */ MATRIX_KEY(0x01, 0x00, KEY_W)
0x01010020 /* KEY_D */ MATRIX_KEY(0x01, 0x01, KEY_D)
0x01020021 /* KEY_F */ MATRIX_KEY(0x01, 0x02, KEY_F)
0x01030022 /* KEY_G */ MATRIX_KEY(0x01, 0x03, KEY_G)
0x01040023 /* KEY_H */ MATRIX_KEY(0x01, 0x04, KEY_H)
0x01050024 /* KEY_J */ MATRIX_KEY(0x01, 0x05, KEY_J)
0x01060025 /* KEY_K */ MATRIX_KEY(0x01, 0x06, KEY_K)
0x01070026 /* KEY_L */ MATRIX_KEY(0x01, 0x07, KEY_L)
0x02000012 /* KEY_E */ MATRIX_KEY(0x02, 0x00, KEY_E)
0x02010034 /* KEY_DOT */ MATRIX_KEY(0x02, 0x01, KEY_DOT)
0x02020067 /* KEY_UP */ MATRIX_KEY(0x02, 0x02, KEY_UP)
0x0203001c /* KEY_ENTER */ MATRIX_KEY(0x02, 0x03, KEY_ENTER)
0x0205002c /* KEY_Z */ MATRIX_KEY(0x02, 0x05, KEY_Z)
0x0206002d /* KEY_X */ MATRIX_KEY(0x02, 0x06, KEY_X)
0x0207002e /* KEY_C */ MATRIX_KEY(0x02, 0x07, KEY_C)
0x02080043 /* KEY_F9 */ MATRIX_KEY(0x02, 0x08, KEY_F9)
0x03000013 /* KEY_R */ MATRIX_KEY(0x03, 0x00, KEY_R)
0x0301002f /* KEY_V */ MATRIX_KEY(0x03, 0x01, KEY_V)
0x03020030 /* KEY_B */ MATRIX_KEY(0x03, 0x02, KEY_B)
0x03030031 /* KEY_N */ MATRIX_KEY(0x03, 0x03, KEY_N)
0x03040032 /* KEY_M */ MATRIX_KEY(0x03, 0x04, KEY_M)
0x03050039 /* KEY_SPACE */ MATRIX_KEY(0x03, 0x05, KEY_SPACE)
0x03060039 /* KEY_SPACE */ MATRIX_KEY(0x03, 0x06, KEY_SPACE)
0x03070069 /* KEY_LEFT */ MATRIX_KEY(0x03, 0x07, KEY_LEFT)
0x04000014 /* KEY_T */ MATRIX_KEY(0x04, 0x00, KEY_T)
0x0401006c /* KEY_DOWN */ MATRIX_KEY(0x04, 0x01, KEY_DOWN)
0x0402006a /* KEY_RIGHT */ MATRIX_KEY(0x04, 0x02, KEY_RIGHT)
0x0404001d /* KEY_LEFTCTRL */ MATRIX_KEY(0x04, 0x04, KEY_LEFTCTRL)
0x04050064 /* KEY_RIGHTALT */ MATRIX_KEY(0x04, 0x05, KEY_RIGHTALT)
0x0406002a /* KEY_LEFTSHIFT */ MATRIX_KEY(0x04, 0x06, KEY_LEFTSHIFT)
0x04080044 /* KEY_F10 */ MATRIX_KEY(0x04, 0x08, KEY_F10)
0x05000015 /* KEY_Y */ MATRIX_KEY(0x05, 0x00, KEY_Y)
0x05080057 /* KEY_F11 */ MATRIX_KEY(0x05, 0x08, KEY_F11)
0x06000016 /* KEY_U */ MATRIX_KEY(0x06, 0x00, KEY_U)
0x07000017 /* KEY_I */ MATRIX_KEY(0x07, 0x00, KEY_I)
0x07010041 /* KEY_F7 */ MATRIX_KEY(0x07, 0x01, KEY_F7)
0x07020042 /* KEY_F8 */ MATRIX_KEY(0x07, 0x02, KEY_F8)
>; >;
}; };
...@@ -604,6 +634,30 @@ lcd_in: endpoint { ...@@ -604,6 +634,30 @@ lcd_in: endpoint {
}; };
}; };
&mcspi4 {
pinctrl-names = "default";
pinctrl-0 = <&mcspi4_pins>;
wl1251@0 {
pinctrl-names = "default";
pinctrl-0 = <&wl1251_pins>;
vio-supply = <&vio>;
compatible = "ti,wl1251";
reg = <0>;
spi-max-frequency = <48000000>;
spi-cpol;
spi-cpha;
ti,power-gpio = <&gpio3 23 GPIO_ACTIVE_HIGH>; /* 87 */
interrupt-parent = <&gpio2>;
interrupts = <10 IRQ_TYPE_NONE>; /* gpio line 42 */
};
};
&usb_otg_hs { &usb_otg_hs {
interface-type = <0>; interface-type = <0>;
usb-phy = <&usb2_phy>; usb-phy = <&usb2_phy>;
...@@ -662,3 +716,7 @@ venc_out: endpoint { ...@@ -662,3 +716,7 @@ venc_out: endpoint {
}; };
}; };
}; };
&mcbsp2 {
status = "ok";
};
...@@ -67,6 +67,20 @@ &twl_gpio { ...@@ -67,6 +67,20 @@ &twl_gpio {
ti,pulldowns = <0x008106>; /* BIT(1) | BIT(2) | BIT(8) | BIT(15) */ ti,pulldowns = <0x008106>; /* BIT(1) | BIT(2) | BIT(8) | BIT(15) */
}; };
/* CSI-2 receiver */
&vaux2 {
regulator-name = "vaux2";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
/* Cameras */
&vaux3 {
regulator-name = "vaux3";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};
&i2c2 { &i2c2 {
clock-frequency = <400000>; clock-frequency = <400000>;
}; };
......
...@@ -46,35 +46,35 @@ &smsc_pins ...@@ -46,35 +46,35 @@ &smsc_pins
led_pins: pinmux_led_pins { led_pins: pinmux_led_pins {
pinctrl-single,pins = < pinctrl-single,pins = <
0xd6 (PIN_OUTPUT | MUX_MODE3) /* abe_dmic_din3.gpio_122 */ OMAP4_IOPAD(0x116, PIN_OUTPUT | MUX_MODE3) /* abe_dmic_din3.gpio_122 */
>; >;
}; };
button_pins: pinmux_button_pins { button_pins: pinmux_button_pins {
pinctrl-single,pins = < pinctrl-single,pins = <
0xd4 (PIN_INPUT_PULLUP | MUX_MODE3) /* abe_dmic_din2.gpio_121 */ OMAP4_IOPAD(0x114, PIN_INPUT_PULLUP | MUX_MODE3) /* abe_dmic_din2.gpio_121 */
>; >;
}; };
i2c2_pins: pinmux_i2c2_pins { i2c2_pins: pinmux_i2c2_pins {
pinctrl-single,pins = < pinctrl-single,pins = <
0xe6 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_scl */ OMAP4_IOPAD(0x126, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_scl */
0xe8 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_sda */ OMAP4_IOPAD(0x128, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_sda */
>; >;
}; };
i2c3_pins: pinmux_i2c3_pins { i2c3_pins: pinmux_i2c3_pins {
pinctrl-single,pins = < pinctrl-single,pins = <
0xea (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_scl */ OMAP4_IOPAD(0x12a, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_scl */
0xec (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_sda */ OMAP4_IOPAD(0x12c, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_sda */
>; >;
}; };
smsc_pins: pinmux_smsc_pins { smsc_pins: pinmux_smsc_pins {
pinctrl-single,pins = < pinctrl-single,pins = <
0x28 (PIN_INPUT | MUX_MODE3) /* gpmc_a20.gpio_44: IRQ */ OMAP4_IOPAD(0x068, PIN_INPUT | MUX_MODE3) /* gpmc_a20.gpio_44: IRQ */
0x2a (PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_a21.gpio_45: nReset */ OMAP4_IOPAD(0x06a, PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_a21.gpio_45: nReset */
0x30 (PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_a24.gpio_48: amdix enabled */ OMAP4_IOPAD(0x070, PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_a24.gpio_48: amdix enabled */
>; >;
}; };
}; };
......
...@@ -67,100 +67,98 @@ &omap4_pmx_core { ...@@ -67,100 +67,98 @@ &omap4_pmx_core {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = < pinctrl-0 = <
&twl6040_pins &twl6040_pins
&mcpdm_pins
&mcbsp1_pins
&hsusbb1_pins &hsusbb1_pins
>; >;
twl6040_pins: pinmux_twl6040_pins { twl6040_pins: pinmux_twl6040_pins {
pinctrl-single,pins = < pinctrl-single,pins = <
0x126 (PIN_OUTPUT | MUX_MODE3) /* usbb2_ulpitll_nxt.gpio_160 */ OMAP4_IOPAD(0x166, PIN_OUTPUT | MUX_MODE3) /* usbb2_ulpitll_nxt.gpio_160 */
0x160 (PIN_INPUT | MUX_MODE0) /* sys_nirq2.sys_nirq2 */ OMAP4_IOPAD(0x1a0, PIN_INPUT | MUX_MODE0) /* sys_nirq2.sys_nirq2 */
>; >;
}; };
mcpdm_pins: pinmux_mcpdm_pins { mcpdm_pins: pinmux_mcpdm_pins {
pinctrl-single,pins = < pinctrl-single,pins = <
0xc6 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_pdm_ul_data.abe_pdm_ul_data */ OMAP4_IOPAD(0x106, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_pdm_ul_data.abe_pdm_ul_data */
0xc8 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_pdm_dl_data.abe_pdm_dl_data */ OMAP4_IOPAD(0x108, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_pdm_dl_data.abe_pdm_dl_data */
0xca (PIN_INPUT_PULLUP | MUX_MODE0) /* abe_pdm_frame.abe_pdm_frame */ OMAP4_IOPAD(0x10a, PIN_INPUT_PULLUP | MUX_MODE0) /* abe_pdm_frame.abe_pdm_frame */
0xcc (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_pdm_lb_clk.abe_pdm_lb_clk */ OMAP4_IOPAD(0x10c, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_pdm_lb_clk.abe_pdm_lb_clk */
0xce (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_clks.abe_clks */ OMAP4_IOPAD(0x10e, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_clks.abe_clks */
>; >;
}; };
mcbsp1_pins: pinmux_mcbsp1_pins { mcbsp1_pins: pinmux_mcbsp1_pins {
pinctrl-single,pins = < pinctrl-single,pins = <
0xbe (PIN_INPUT | MUX_MODE0) /* abe_mcbsp1_clkx.abe_mcbsp1_clkx */ OMAP4_IOPAD(0x0fe, PIN_INPUT | MUX_MODE0) /* abe_mcbsp1_clkx.abe_mcbsp1_clkx */
0xc0 (PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp1_dr.abe_mcbsp1_dr */ OMAP4_IOPAD(0x100, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp1_dr.abe_mcbsp1_dr */
0xc2 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp1_dx.abe_mcbsp1_dx */ OMAP4_IOPAD(0x102, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp1_dx.abe_mcbsp1_dx */
0xc4 (PIN_INPUT | MUX_MODE0) /* abe_mcbsp1_fsx.abe_mcbsp1_fsx */ OMAP4_IOPAD(0x104, PIN_INPUT | MUX_MODE0) /* abe_mcbsp1_fsx.abe_mcbsp1_fsx */
>; >;
}; };
hsusbb1_pins: pinmux_hsusbb1_pins { hsusbb1_pins: pinmux_hsusbb1_pins {
pinctrl-single,pins = < pinctrl-single,pins = <
0x82 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_clk.usbb1_ulpiphy_clk */ OMAP4_IOPAD(0x0c2, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_clk.usbb1_ulpiphy_clk */
0x84 (PIN_OUTPUT | MUX_MODE4) /* usbb1_ulpitll_stp.usbb1_ulpiphy_stp */ OMAP4_IOPAD(0x0c4, PIN_OUTPUT | MUX_MODE4) /* usbb1_ulpitll_stp.usbb1_ulpiphy_stp */
0x86 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dir.usbb1_ulpiphy_dir */ OMAP4_IOPAD(0x0c6, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dir.usbb1_ulpiphy_dir */
0x88 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_nxt.usbb1_ulpiphy_nxt */ OMAP4_IOPAD(0x0c8, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_nxt.usbb1_ulpiphy_nxt */
0x8a (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat0.usbb1_ulpiphy_dat0 */ OMAP4_IOPAD(0x0ca, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat0.usbb1_ulpiphy_dat0 */
0x8c (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat1.usbb1_ulpiphy_dat1 */ OMAP4_IOPAD(0x0cc, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat1.usbb1_ulpiphy_dat1 */
0x8e (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat2.usbb1_ulpiphy_dat2 */ OMAP4_IOPAD(0x0ce, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat2.usbb1_ulpiphy_dat2 */
0x90 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat3.usbb1_ulpiphy_dat3 */ OMAP4_IOPAD(0x0d0, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat3.usbb1_ulpiphy_dat3 */
0x92 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat4.usbb1_ulpiphy_dat4 */ OMAP4_IOPAD(0x0d2, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat4.usbb1_ulpiphy_dat4 */
0x94 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat5.usbb1_ulpiphy_dat5 */ OMAP4_IOPAD(0x0d4, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat5.usbb1_ulpiphy_dat5 */
0x96 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat6.usbb1_ulpiphy_dat6 */ OMAP4_IOPAD(0x0d6, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat6.usbb1_ulpiphy_dat6 */
0x98 (PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat7.usbb1_ulpiphy_dat7 */ OMAP4_IOPAD(0x0d8, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat7.usbb1_ulpiphy_dat7 */
>; >;
}; };
hsusb1phy_pins: pinmux_hsusb1phy_pins { hsusb1phy_pins: pinmux_hsusb1phy_pins {
pinctrl-single,pins = < pinctrl-single,pins = <
0x4c (PIN_OUTPUT | MUX_MODE3) /* gpmc_wait1.gpio_62 */ OMAP4_IOPAD(0x08c, PIN_OUTPUT | MUX_MODE3) /* gpmc_wait1.gpio_62 */
>; >;
}; };
w2cbw0015_pins: pinmux_w2cbw0015_pins { w2cbw0015_pins: pinmux_w2cbw0015_pins {
pinctrl-single,pins = < pinctrl-single,pins = <
0x26 (PIN_OUTPUT | MUX_MODE3) /* gpmc_a19.gpio_43 */ OMAP4_IOPAD(0x066, PIN_OUTPUT | MUX_MODE3) /* gpmc_a19.gpio_43 */
0x3a (PIN_INPUT | MUX_MODE3) /* gpmc_ncs3.gpio_53 */ OMAP4_IOPAD(0x07a, PIN_INPUT | MUX_MODE3) /* gpmc_ncs3.gpio_53 */
>; >;
}; };
i2c1_pins: pinmux_i2c1_pins { i2c1_pins: pinmux_i2c1_pins {
pinctrl-single,pins = < pinctrl-single,pins = <
0xe2 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_scl */ OMAP4_IOPAD(0x122, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_scl */
0xe4 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_sda */ OMAP4_IOPAD(0x124, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_sda */
>; >;
}; };
i2c4_pins: pinmux_i2c4_pins { i2c4_pins: pinmux_i2c4_pins {
pinctrl-single,pins = < pinctrl-single,pins = <
0xee (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_scl */ OMAP4_IOPAD(0x12e, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_scl */
0xf0 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_sda */ OMAP4_IOPAD(0x130, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_sda */
>; >;
}; };
mmc1_pins: pinmux_mmc1_pins { mmc1_pins: pinmux_mmc1_pins {
pinctrl-single,pins = < pinctrl-single,pins = <
0xa2 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_clk */ OMAP4_IOPAD(0x0e2, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_clk */
0xa4 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmcc1_cmd */ OMAP4_IOPAD(0x0e4, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmcc1_cmd */
0xa6 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmcc1_dat0 */ OMAP4_IOPAD(0x0e6, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmcc1_dat0 */
0xa8 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat1 */ OMAP4_IOPAD(0x0e8, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat1 */
0xaa (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat2 */ OMAP4_IOPAD(0x0ea, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat2 */
0xac (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat3 */ OMAP4_IOPAD(0x0ec, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat3 */
>; >;
}; };
mmc5_pins: pinmux_mmc5_pins { mmc5_pins: pinmux_mmc5_pins {
pinctrl-single,pins = < pinctrl-single,pins = <
0x108 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_clk */ OMAP4_IOPAD(0x148, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_clk */
0x10a (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmcc5_cmd */ OMAP4_IOPAD(0x14a, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmcc5_cmd */
0x10c (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmcc5_dat0 */ OMAP4_IOPAD(0x14c, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmcc5_dat0 */
0x10e (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat1 */ OMAP4_IOPAD(0x14e, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat1 */
0x110 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat2 */ OMAP4_IOPAD(0x150, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat2 */
0x112 (PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat3 */ OMAP4_IOPAD(0x152, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat3 */
>; >;
}; };
}; };
...@@ -202,6 +200,18 @@ &i2c4 { ...@@ -202,6 +200,18 @@ &i2c4 {
clock-frequency = <400000>; clock-frequency = <400000>;
}; };
&mcbsp1 {
pinctrl-names = "default";
pinctrl-0 = <&mcbsp1_pins>;
status = "okay";
};
&mcpdm {
pinctrl-names = "default";
pinctrl-0 = <&mcpdm_pins>;
status = "okay";
};
&mmc1 { &mmc1 {
pinctrl-names = "default"; pinctrl-names = "default";
pinctrl-0 = <&mmc1_pins>; pinctrl-0 = <&mmc1_pins>;
......
/*
* Copyright (C) 2014 Joachim Eastwood <manabian@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
/dts-v1/;
#include "omap4-var-som-om44.dtsi"
#include "omap4-var-som-om44-wlan.dtsi"
#include "omap4-var-om44customboard.dtsi"
/ {
model = "Variscite VAR-DVK-OM44";
compatible = "variscite,var-dvk-om44", "variscite,var-som-om44", "ti,omap4460", "ti,omap4";
aliases {
display0 = &lcd0;
display1 = &hdmi0;
};
lcd0: display {
compatible = "innolux,at070tn83", "panel-dpi";
label = "lcd";
panel-timing {
clock-frequency = <33333333>;
hback-porch = <40>;
hactive = <800>;
hfront-porch = <40>;
hsync-len = <48>;
vback-porch = <29>;
vactive = <480>;
vfront-porch = <13>;
vsync-len = <3>;
};
port {
lcd_in: endpoint {
remote-endpoint = <&dpi_out>;
};
};
};
backlight {
compatible = "gpio-backlight";
pinctrl-names = "default";
pinctrl-0 = <&backlight_pins>;
gpios = <&gpio4 26 GPIO_ACTIVE_HIGH>; /* gpio 122 */
};
};
&dss {
pinctrl-names = "default";
pinctrl-0 = <&dss_dpi_pins>;
port {
dpi_out: endpoint {
remote-endpoint = <&lcd_in>;
data-lines = <24>;
};
};
};
&dsi2 {
status = "okay";
vdd-supply = <&vcxio>;
};
/*
* Copyright (C) 2014 Joachim Eastwood <manabian@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#include <dt-bindings/input/input.h>
/ {
aliases {
display0 = &hdmi0;
};
leds {
compatible = "gpio-leds";
pinctrl-names = "default";
pinctrl-0 = <&gpio_led_pins>;
led0 {
label = "var:green:led0";
gpios = <&gpio6 13 GPIO_ACTIVE_HIGH>; /* gpio 173 */
linux,default-trigger = "heartbeat";
};
led1 {
label = "var:green:led1";
gpios = <&gpio6 12 GPIO_ACTIVE_HIGH>; /* gpio 172 */
};
};
gpio-keys {
compatible = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&gpio_key_pins>;
#address-cells = <1>;
#size-cells = <0>;
user-key@184 {
label = "user";
gpios = <&gpio6 24 GPIO_ACTIVE_HIGH>; /* gpio 184 */
linux,code = <BTN_EXTRA>;
gpio-key,wakeup;
};
};
hdmi0: connector@0 {
compatible = "hdmi-connector";
pinctrl-names = "default";
pinctrl-0 = <&hdmi_hpd_pins>;
label = "hdmi";
type = "a";
hpd-gpios = <&gpio2 31 GPIO_ACTIVE_HIGH>; /* gpio_63 */
port {
hdmi_connector_in: endpoint {
remote-endpoint = <&hdmi_out>;
};
};
};
};
&omap4_pmx_core {
uart1_pins: pinmux_uart1_pins {
pinctrl-single,pins = <
OMAP4_IOPAD(0x13c, PIN_INPUT_PULLUP | MUX_MODE1) /* mcspi1_cs2.uart1_cts */
OMAP4_IOPAD(0x13e, PIN_OUTPUT | MUX_MODE1) /* mcspi1_cs3.uart1_rts */
OMAP4_IOPAD(0x126, PIN_INPUT_PULLUP | MUX_MODE1) /* i2c2_scl.uart1_rx */
OMAP4_IOPAD(0x128, PIN_OUTPUT | MUX_MODE1) /* i2c2_sda.uart1_tx */
>;
};
mcspi1_pins: pinmux_mcspi1_pins {
pinctrl-single,pins = <
OMAP4_IOPAD(0x132, PIN_INPUT | MUX_MODE0) /* mcspi1_clk.mcspi1_clk */
OMAP4_IOPAD(0x134, PIN_INPUT | MUX_MODE0) /* mcspi1_somi.mcspi1_somi */
OMAP4_IOPAD(0x136, PIN_INPUT | MUX_MODE0) /* mcspi1_simo.mcspi1_simo */
OMAP4_IOPAD(0x138, PIN_INPUT | MUX_MODE0) /* mcspi1_cs0.mcspi1_cs0 */
>;
};
mcasp_pins: pinmux_mcsasp_pins {
pinctrl-single,pins = <
OMAP4_IOPAD(0x0f8, PIN_OUTPUT | MUX_MODE2) /* mcbsp2_dr.abe_mcasp_axr */
>;
};
dss_dpi_pins: pinmux_dss_dpi_pins {
pinctrl-single,pins = <
OMAP4_IOPAD(0x162, PIN_OUTPUT | MUX_MODE5) /* dispc2_data23 */
OMAP4_IOPAD(0x164, PIN_OUTPUT | MUX_MODE5) /* dispc2_data22 */
OMAP4_IOPAD(0x166, PIN_OUTPUT | MUX_MODE5) /* dispc2_data21 */
OMAP4_IOPAD(0x168, PIN_OUTPUT | MUX_MODE5) /* dispc2_data20 */
OMAP4_IOPAD(0x16a, PIN_OUTPUT | MUX_MODE5) /* dispc2_data19 */
OMAP4_IOPAD(0x16c, PIN_OUTPUT | MUX_MODE5) /* dispc2_data18 */
OMAP4_IOPAD(0x16e, PIN_OUTPUT | MUX_MODE5) /* dispc2_data15 */
OMAP4_IOPAD(0x170, PIN_OUTPUT | MUX_MODE5) /* dispc2_data14 */
OMAP4_IOPAD(0x172, PIN_OUTPUT | MUX_MODE5) /* dispc2_data13 */
OMAP4_IOPAD(0x174, PIN_OUTPUT | MUX_MODE5) /* dispc2_data12 */
OMAP4_IOPAD(0x176, PIN_OUTPUT | MUX_MODE5) /* dispc2_data11 */
OMAP4_IOPAD(0x1b4, PIN_OUTPUT | MUX_MODE5) /* dispc2_data10 */
OMAP4_IOPAD(0x1b6, PIN_OUTPUT | MUX_MODE5) /* dispc2_data9 */
OMAP4_IOPAD(0x1b8, PIN_OUTPUT | MUX_MODE5) /* dispc2_data16 */
OMAP4_IOPAD(0x1ba, PIN_OUTPUT | MUX_MODE5) /* dispc2_data17 */
OMAP4_IOPAD(0x1bc, PIN_OUTPUT | MUX_MODE5) /* dispc2_hsync */
OMAP4_IOPAD(0x1be, PIN_OUTPUT | MUX_MODE5) /* dispc2_pclk */
OMAP4_IOPAD(0x1c0, PIN_OUTPUT | MUX_MODE5) /* dispc2_vsync */
OMAP4_IOPAD(0x1c2, PIN_OUTPUT | MUX_MODE5) /* dispc2_de */
OMAP4_IOPAD(0x1c4, PIN_OUTPUT | MUX_MODE5) /* dispc2_data8 */
OMAP4_IOPAD(0x1c6, PIN_OUTPUT | MUX_MODE5) /* dispc2_data7 */
OMAP4_IOPAD(0x1c8, PIN_OUTPUT | MUX_MODE5) /* dispc2_data6 */
OMAP4_IOPAD(0x1ca, PIN_OUTPUT | MUX_MODE5) /* dispc2_data5 */
OMAP4_IOPAD(0x1cc, PIN_OUTPUT | MUX_MODE5) /* dispc2_data4 */
OMAP4_IOPAD(0x1ce, PIN_OUTPUT | MUX_MODE5) /* dispc2_data3 */
OMAP4_IOPAD(0x1d0, PIN_OUTPUT | MUX_MODE5) /* dispc2_data2 */
OMAP4_IOPAD(0x1d2, PIN_OUTPUT | MUX_MODE5) /* dispc2_data1 */
OMAP4_IOPAD(0x1d4, PIN_OUTPUT | MUX_MODE5) /* dispc2_data0 */
>;
};
dss_hdmi_pins: pinmux_dss_hdmi_pins {
pinctrl-single,pins = <
OMAP4_IOPAD(0x09a, PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_cec.hdmi_cec */
OMAP4_IOPAD(0x09c, PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_scl.hdmi_scl */
OMAP4_IOPAD(0x09e, PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_sda.hdmi_sda */
>;
};
i2c4_pins: pinmux_i2c4_pins {
pinctrl-single,pins = <
OMAP4_IOPAD(0x12e, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_scl */
OMAP4_IOPAD(0x130, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_sda */
>;
};
mmc5_pins: pinmux_mmc5_pins {
pinctrl-single,pins = <
OMAP4_IOPAD(0x0f6, PIN_INPUT | MUX_MODE3) /* abe_mcbsp2_clkx.gpio_110 */
OMAP4_IOPAD(0x148, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_clk.sdmmc5_clk */
OMAP4_IOPAD(0x14a, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_cmd.sdmmc5_cmd */
OMAP4_IOPAD(0x14c, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat0.sdmmc5_dat0 */
OMAP4_IOPAD(0x14e, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat1.sdmmc5_dat1 */
OMAP4_IOPAD(0x150, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat2.sdmmc5_dat2 */
OMAP4_IOPAD(0x152, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat3.sdmmc5_dat3 */
>;
};
gpio_led_pins: pinmux_gpio_led_pins {
pinctrl-single,pins = <
OMAP4_IOPAD(0x17e, PIN_OUTPUT | MUX_MODE3) /* kpd_col4.gpio_172 */
OMAP4_IOPAD(0x180, PIN_OUTPUT | MUX_MODE3) /* kpd_col5.gpio_173 */
>;
};
gpio_key_pins: pinmux_gpio_key_pins {
pinctrl-single,pins = <
OMAP4_IOPAD(0x1a2, PIN_INPUT | MUX_MODE3) /* sys_boot0.gpio_184 */
>;
};
ks8851_irq_pins: pinmux_ks8851_irq_pins {
pinctrl-single,pins = <
OMAP4_IOPAD(0x17c, PIN_INPUT_PULLUP | MUX_MODE3) /* kpd_col3.gpio_171 */
>;
};
hdmi_hpd_pins: pinmux_hdmi_hpd_pins {
pinctrl-single,pins = <
OMAP4_IOPAD(0x098, PIN_INPUT_PULLDOWN | MUX_MODE3) /* hdmi_hpd.gpio_63 */
>;
};
backlight_pins: pinmux_backlight_pins {
pinctrl-single,pins = <
OMAP4_IOPAD(0x116, PIN_OUTPUT | MUX_MODE3) /* abe_dmic_din3.gpio_122 */
>;
};
};
&i2c4 {
pinctrl-names = "default";
pinctrl-0 = <&i2c4_pins>;
clock-frequency = <400000>;
status = "okay";
};
&uart1 {
pinctrl-names = "default";
pinctrl-0 = <&uart1_pins>;
status = "okay";
};
&mcspi1 {
pinctrl-names = "default";
pinctrl-0 = <&mcspi1_pins>;
status = "okay";
eth@0 {
compatible = "ks8851";
pinctrl-names = "default";
pinctrl-0 = <&ks8851_irq_pins>;
spi-max-frequency = <24000000>;
reg = <0>;
interrupt-parent = <&gpio6>;
interrupts = <11 IRQ_TYPE_LEVEL_LOW>; /* gpio 171 */
};
};
&mmc5 {
pinctrl-names = "default";
pinctrl-0 = <&mmc5_pins>;
vmmc-supply = <&vbat>;
bus-width = <4>;
cd-gpios = <&gpio4 14 GPIO_ACTIVE_HIGH>; /* gpio 110 */
status = "okay";
};
&dss {
status = "okay";
};
&hdmi {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&dss_hdmi_pins>;
vdda-supply = <&vdac>;
port {
hdmi_out: endpoint {
remote-endpoint = <&hdmi_connector_in>;
};
};
};
/*
* Copyright (C) 2014 Joachim Eastwood <manabian@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
/ {
/* regulator for wl12xx on sdio4 */
wl12xx_vmmc: wl12xx_vmmc {
pinctrl-names = "default";
pinctrl-0 = <&wl12xx_ctrl_pins>;
compatible = "regulator-fixed";
regulator-name = "vwl1271";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
gpio = <&gpio2 11 0>; /* gpio 43 */
startup-delay-us = <70000>;
enable-active-high;
};
};
&omap4_pmx_core {
uart2_pins: pinmux_uart2_pins {
pinctrl-single,pins = <
OMAP4_IOPAD(0x118, PIN_INPUT_PULLUP | MUX_MODE0) /* uart2_cts.uart2_cts */
OMAP4_IOPAD(0x11a, PIN_OUTPUT | MUX_MODE0) /* uart2_rts.uart2_rts */
OMAP4_IOPAD(0x11c, PIN_INPUT_PULLUP | MUX_MODE0) /* uart2_rx.uart2_rx */
OMAP4_IOPAD(0x11e, PIN_OUTPUT | MUX_MODE0) /* uart2_tx.uart2_tx */
>;
};
wl12xx_ctrl_pins: pinmux_wl12xx_ctrl_pins {
pinctrl-single,pins = <
OMAP4_IOPAD(0x062, PIN_INPUT_PULLUP | MUX_MODE3) /* gpmc_a17.gpio_41 (WLAN_IRQ) */
OMAP4_IOPAD(0x064, PIN_OUTPUT | MUX_MODE3) /* gpmc_a18.gpio_42 (BT_EN) */
OMAP4_IOPAD(0x066, PIN_OUTPUT | MUX_MODE3) /* gpmc_a19.gpio_43 (WLAN_EN) */
>;
};
mmc4_pins: pinmux_mmc4_pins {
pinctrl-single,pins = <
OMAP4_IOPAD(0x154, PIN_INPUT_PULLUP | MUX_MODE1) /* mcspi4_clk.sdmmc4_clk */
OMAP4_IOPAD(0x156, PIN_INPUT_PULLUP | MUX_MODE1) /* mcspi4_simo.sdmmc4_cmd */
OMAP4_IOPAD(0x158, PIN_INPUT_PULLUP | MUX_MODE1) /* mcspi4_somi.sdmmc4_dat0 */
OMAP4_IOPAD(0x15e, PIN_INPUT_PULLUP | MUX_MODE1) /* uart4_tx.sdmmc4_dat1 */
OMAP4_IOPAD(0x15c, PIN_INPUT_PULLUP | MUX_MODE1) /* uart4_rx.sdmmc4_dat2 */
OMAP4_IOPAD(0x15a, PIN_INPUT_PULLUP | MUX_MODE1) /* mcspi4_cs0.sdmmc4_dat3 */
>;
};
};
&uart2 {
pinctrl-names = "default";
pinctrl-0 = <&uart2_pins>;
status = "okay";
};
&mmc4 {
pinctrl-names = "default";
pinctrl-0 = <&mmc4_pins>;
vmmc-supply = <&wl12xx_vmmc>;
non-removable;
bus-width = <4>;
cap-power-off-card;
status = "okay";
};
/*
* Copyright (C) 2014 Joachim Eastwood <manabian@gmail.com>
* Copyright (C) 2012 Variscite Ltd. - http://www.variscite.com
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#include "omap4460.dtsi"
/ {
model = "Variscite VAR-SOM-OM44";
compatible = "variscite,var-som-om44", "ti,omap4460", "ti,omap4";
memory {
device_type = "memory";
reg = <0x80000000 0x40000000>; /* 1 GB */
};
sound: sound@0 {
compatible = "ti,abe-twl6040";
ti,model = "VAR-SOM-OM44";
ti,mclk-freq = <38400000>;
ti,mcpdm = <&mcpdm>;
ti,twl6040 = <&twl6040>;
/* Audio routing */
ti,audio-routing =
"Headset Stereophone", "HSOL",
"Headset Stereophone", "HSOR",
"AFML", "Line In",
"AFMR", "Line In";
};
/* HS USB Host PHY on PORT 1 */
hsusb1_phy: hsusb1_phy {
compatible = "usb-nop-xceiv";
pinctrl-names = "default";
pinctrl-0 = <
&hsusbb1_phy_clk_pins
&hsusbb1_phy_rst_pins
>;
reset-gpios = <&gpio6 17 GPIO_ACTIVE_LOW>; /* gpio 177 */
vcc-supply = <&vbat>;
clocks = <&auxclk3_ck>;
clock-names = "main_clk";
clock-frequency = <19200000>;
};
vbat: fixedregulator-vbat {
compatible = "regulator-fixed";
regulator-name = "VBAT";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
regulator-boot-on;
};
};
&omap4_pmx_core {
pinctrl-names = "default";
pinctrl-0 = <
&hsusbb1_pins
>;
twl6040_pins: pinmux_twl6040_pins {
pinctrl-single,pins = <
OMAP4_IOPAD(0x19c, PIN_OUTPUT | MUX_MODE3) /* fref_clk2_out.gpio_182 */
OMAP4_IOPAD(0x1a0, PIN_INPUT | MUX_MODE0) /* sys_nirq2.sys_nirq2 */
>;
};
mcpdm_pins: pinmux_mcpdm_pins {
pinctrl-single,pins = <
OMAP4_IOPAD(0x106, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_pdm_ul_data.abe_pdm_ul_data */
OMAP4_IOPAD(0x108, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_pdm_dl_data.abe_pdm_dl_data */
OMAP4_IOPAD(0x10a, PIN_INPUT_PULLUP | MUX_MODE0) /* abe_pdm_frame.abe_pdm_frame */
OMAP4_IOPAD(0x10c, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_pdm_lb_clk.abe_pdm_lb_clk */
OMAP4_IOPAD(0x10e, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_clks.abe_clks */
>;
};
tsc2004_pins: pinmux_tsc2004_pins {
pinctrl-single,pins = <
OMAP4_IOPAD(0x090, PIN_INPUT | MUX_MODE3) /* gpmc_ncs4.gpio_101 (irq) */
OMAP4_IOPAD(0x092, PIN_OUTPUT | MUX_MODE3) /* gpmc_ncs5.gpio_102 (rst) */
>;
};
uart3_pins: pinmux_uart3_pins {
pinctrl-single,pins = <
OMAP4_IOPAD(0x140, PIN_INPUT_PULLUP | MUX_MODE0) /* uart3_cts_rctx.uart3_cts_rctx */
OMAP4_IOPAD(0x142, PIN_OUTPUT | MUX_MODE0) /* uart3_rts_sd.uart3_rts_sd */
OMAP4_IOPAD(0x144, PIN_INPUT | MUX_MODE0) /* uart3_rx_irrx.uart3_rx_irrx */
OMAP4_IOPAD(0x146, PIN_OUTPUT | MUX_MODE0) /* uart3_tx_irtx.uart3_tx_irtx */
>;
};
hsusbb1_pins: pinmux_hsusbb1_pins {
pinctrl-single,pins = <
OMAP4_IOPAD(0x0c2, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_clk.usbb1_ulpiphy_clk */
OMAP4_IOPAD(0x0c4, PIN_OUTPUT | MUX_MODE4) /* usbb1_ulpitll_stp.usbb1_ulpiphy_stp */
OMAP4_IOPAD(0x0c6, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dir.usbb1_ulpiphy_dir */
OMAP4_IOPAD(0x0c8, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_nxt.usbb1_ulpiphy_nxt */
OMAP4_IOPAD(0x0ca, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat0.usbb1_ulpiphy_dat0 */
OMAP4_IOPAD(0x0cc, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat1.usbb1_ulpiphy_dat1 */
OMAP4_IOPAD(0x0ce, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat2.usbb1_ulpiphy_dat2 */
OMAP4_IOPAD(0x0d0, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat3.usbb1_ulpiphy_dat3 */
OMAP4_IOPAD(0x0d2, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat4.usbb1_ulpiphy_dat4 */
OMAP4_IOPAD(0x0d4, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat5.usbb1_ulpiphy_dat5 */
OMAP4_IOPAD(0x0d6, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat6.usbb1_ulpiphy_dat6 */
OMAP4_IOPAD(0x0d8, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat7.usbb1_ulpiphy_dat7 */
>;
};
hsusbb1_phy_rst_pins: pinmux_hsusbb1_phy_rst_pins {
pinctrl-single,pins = <
OMAP4_IOPAD(0x18c, PIN_OUTPUT | MUX_MODE3) /* kpd_row2.gpio_177 */
>;
};
i2c1_pins: pinmux_i2c1_pins {
pinctrl-single,pins = <
OMAP4_IOPAD(0x122, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_scl */
OMAP4_IOPAD(0x124, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_sda */
>;
};
i2c3_pins: pinmux_i2c3_pins {
pinctrl-single,pins = <
OMAP4_IOPAD(0x12a, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_scl */
OMAP4_IOPAD(0x12c, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_sda */
>;
};
mmc1_pins: pinmux_mmc1_pins {
pinctrl-single,pins = <
OMAP4_IOPAD(0x0e2, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_clk.sdmmc1_clk */
OMAP4_IOPAD(0x0e4, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_cmd.sdmmc1_cmd */
OMAP4_IOPAD(0x0e6, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat0.sdmmc1_dat0 */
OMAP4_IOPAD(0x0e8, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat1.sdmmc1_dat1 */
OMAP4_IOPAD(0x0ea, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat2.sdmmc1_dat2 */
OMAP4_IOPAD(0x0ec, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc1_dat3.sdmmc1_dat3 */
>;
};
};
&omap4_pmx_wkup {
pinctrl-names = "default";
pinctrl-0 = <
&hsusbb1_hub_rst_pins
&lan7500_rst_pins
>;
hsusbb1_phy_clk_pins: pinmux_hsusbb1_phy_clk_pins {
pinctrl-single,pins = <
OMAP4_IOPAD(0x058, PIN_OUTPUT | MUX_MODE0) /* fref_clk3_out */
>;
};
hsusbb1_hub_rst_pins: pinmux_hsusbb1_hub_rst_pins {
pinctrl-single,pins = <
OMAP4_IOPAD(0x042, PIN_OUTPUT | MUX_MODE3) /* gpio_wk1 */
>;
};
lan7500_rst_pins: pinmux_lan7500_rst_pins {
pinctrl-single,pins = <
OMAP4_IOPAD(0x040, PIN_OUTPUT | MUX_MODE3) /* gpio_wk0 */
>;
};
};
&i2c1 {
pinctrl-names = "default";
pinctrl-0 = <&i2c1_pins>;
status = "okay";
clock-frequency = <400000>;
twl: twl@48 {
reg = <0x48>;
/* SPI = 0, IRQ# = 7, 4 = active high level-sensitive */
interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_1N cascaded to gic */
interrupt-parent = <&gic>;
};
twl6040: twl@4b {
compatible = "ti,twl6040";
reg = <0x4b>;
pinctrl-names = "default";
pinctrl-0 = <&twl6040_pins>;
/* SPI = 0, IRQ# = 119, 4 = active high level-sensitive */
interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_2N cascaded to gic */
interrupt-parent = <&gic>;
ti,audpwron-gpio = <&gpio6 22 0>; /* gpio 182 */
vio-supply = <&v1v8>;
v2v1-supply = <&v2v1>;
enable-active-high;
};
};
#include "twl6030.dtsi"
#include "twl6030_omap4.dtsi"
&vusim {
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-always-on;
};
&i2c2 {
status = "disabled";
};
&i2c3 {
pinctrl-names = "default";
pinctrl-0 = <&i2c3_pins>;
status = "okay";
clock-frequency = <400000>;
touchscreen: tsc2004@48 {
compatible = "ti,tsc2004";
reg = <0x48>;
pinctrl-names = "default";
pinctrl-0 = <&tsc2004_pins>;
interrupt-parent = <&gpio4>;
interrupts = <5 IRQ_TYPE_LEVEL_LOW>; /* gpio 101 */
status = "disabled";
};
tmp105@49 {
compatible = "ti,tmp105";
reg = <0x49>;
};
eeprom@50 {
compatible = "microchip,24c32";
reg = <0x50>;
};
};
&i2c4 {
status = "disabled";
};
&mcpdm {
pinctrl-names = "default";
pinctrl-0 = <&mcpdm_pins>;
status = "okay";
};
&gpmc {
status = "disabled";
};
&mcspi1 {
status = "disabled";
};
&mcspi2 {
status = "disabled";
};
&mcspi3 {
status = "disabled";
};
&mcspi4 {
status = "disabled";
};
&mmc1 {
pinctrl-names = "default";
pinctrl-0 = <&mmc1_pins>;
vmmc-supply = <&vmmc>;
bus-width = <4>;
ti,non-removable;
status = "okay";
};
&mmc2 {
status = "disabled";
};
&mmc3 {
status = "disabled";
};
&mmc4 {
status = "disabled";
};
&mmc5 {
status = "disabled";
};
&uart1 {
status = "disabled";
};
&uart2 {
status = "disabled";
};
&uart3 {
pinctrl-names = "default";
pinctrl-0 = <&uart3_pins>;
status = "okay";
};
&uart4 {
status = "disabled";
};
&keypad {
status = "disabled";
};
&twl_usb_comparator {
usb-supply = <&vusb>;
};
&usb_otg_hs {
interface-type = <1>;
mode = <3>;
power = <50>;
};
&usbhshost {
port1-mode = "ehci-phy";
};
&usbhsehci {
phys = <&hsusb1_phy>;
};
/*
* Copyright (C) 2012 Variscite Ltd. - http://www.variscite.com
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
/dts-v1/;
#include "omap443x.dtsi"
/ {
model = "Variscite OMAP4 SOM";
compatible = "var,omap4-var_som", "ti,omap4430", "ti,omap4";
memory {
device_type = "memory";
reg = <0x80000000 0x40000000>; /* 1 GB */
};
vdd_eth: fixedregulator@0 {
compatible = "regulator-fixed";
regulator-name = "VDD_ETH";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
enable-active-high;
regulator-boot-on;
};
};
&i2c1 {
clock-frequency = <400000>;
twl: twl@48 {
reg = <0x48>;
/* SPI = 0, IRQ# = 7, 4 = active high level-sensitive */
interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_1N cascaded to gic */
interrupt-parent = <&gic>;
};
};
#include "twl6030.dtsi"
&i2c2 {
clock-frequency = <400000>;
};
&i2c3 {
clock-frequency = <400000>;
/*
* Temperature Sensor
* http://www.ti.com/lit/ds/symlink/tmp105.pdf
*/
tmp105@49 {
compatible = "ti,tmp105";
reg = <0x49>;
};
};
&i2c4 {
clock-frequency = <400000>;
};
&mcspi1 {
eth@0 {
compatible = "ks8851";
spi-max-frequency = <24000000>;
reg = <0>;
interrupt-parent = <&gpio6>;
interrupts = <11 IRQ_TYPE_LEVEL_LOW>; /* gpio line 171 */
vdd-supply = <&vdd_eth>;
};
};
&mmc1 {
vmmc-supply = <&vmmc>;
ti,bus-width = <8>;
ti,non-removable;
};
&mmc2 {
status = "disabled";
};
&mmc3 {
status = "disabled";
};
&mmc4 {
status = "disabled";
};
&mmc5 {
ti,bus-width = <4>;
};
/*
* Copyright (C) 2014 Joachim Eastwood <manabian@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
/dts-v1/;
#include "omap4-var-som-om44.dtsi"
#include "omap4-var-som-om44-wlan.dtsi"
#include "omap4-var-om44customboard.dtsi"
/ {
model = "Variscite VAR-STK-OM44";
compatible = "variscite,var-stk-om44", "variscite,var-som-om44", "ti,omap4460", "ti,omap4";
};
...@@ -642,6 +642,8 @@ usb2_phy: usb2phy@4a0ad080 { ...@@ -642,6 +642,8 @@ usb2_phy: usb2phy@4a0ad080 {
compatible = "ti,omap-usb2"; compatible = "ti,omap-usb2";
reg = <0x4a0ad080 0x58>; reg = <0x4a0ad080 0x58>;
ctrl-module = <&omap_control_usb2phy>; ctrl-module = <&omap_control_usb2phy>;
clocks = <&usb_phy_cm_clk32k>;
clock-names = "wkupclk";
#phy-cells = <0>; #phy-cells = <0>;
}; };
}; };
......
This diff is collapsed.
/*
* Suppport for CompuLab SBC-T54 with CM-T54
*/
#include "omap5-cm-t54.dts"
/ {
model = "CompuLab SBC-T54 with CM-T54";
compatible = "compulab,omap5-sbc-t54", "compulab,omap5-cm-t54", "ti,omap5";
};
&omap5_pmx_core {
i2c4_pins: pinmux_i2c4_pins {
pinctrl-single,pins = <
OMAP5_IOPAD(0x00f8, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_scl */
OMAP5_IOPAD(0x00fa, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_sda */
>;
};
mmc1_aux_pins: pinmux_mmc1_aux_pins {
pinctrl-single,pins = <
OMAP5_IOPAD(0x0174, PIN_INPUT_PULLUP | MUX_MODE6) /* gpio8_228 */
OMAP5_IOPAD(0x0176, PIN_INPUT_PULLUP | MUX_MODE6) /* gpio8_229 */
>;
};
};
&mmc1 {
pinctrl-names = "default";
pinctrl-0 = <
&mmc1_pins
&mmc1_aux_pins
>;
cd-inverted;
wp-inverted;
cd-gpios = <&gpio8 4 GPIO_ACTIVE_LOW>; /* gpio8_228 */
wp-gpios = <&gpio8 5 GPIO_ACTIVE_LOW>; /* gpio8_229 */
};
&i2c4 {
pinctrl-names = "default";
pinctrl-0 = <&i2c4_pins>;
clock-frequency = <400000>;
at24@50 {
compatible = "at24,24c02";
pagesize = <16>;
reg = <0x50>;
};
};
...@@ -82,6 +82,12 @@ timer { ...@@ -82,6 +82,12 @@ timer {
<GIC_PPI 10 (GIC_CPU_MASK_RAW(3) | IRQ_TYPE_LEVEL_LOW)>; <GIC_PPI 10 (GIC_CPU_MASK_RAW(3) | IRQ_TYPE_LEVEL_LOW)>;
}; };
pmu {
compatible = "arm,cortex-a15-pmu";
interrupts = <GIC_SPI 131 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 132 IRQ_TYPE_LEVEL_HIGH>;
};
gic: interrupt-controller@48211000 { gic: interrupt-controller@48211000 {
compatible = "arm,cortex-a15-gic"; compatible = "arm,cortex-a15-gic";
interrupt-controller; interrupt-controller;
...@@ -803,6 +809,8 @@ usb2_phy: usb2phy@4a084000 { ...@@ -803,6 +809,8 @@ usb2_phy: usb2phy@4a084000 {
compatible = "ti,omap-usb2"; compatible = "ti,omap-usb2";
reg = <0x4a084000 0x7c>; reg = <0x4a084000 0x7c>;
ctrl-module = <&omap_control_usb2phy>; ctrl-module = <&omap_control_usb2phy>;
clocks = <&usb_phy_cm_clk32k>, <&usb_otg_ss_refclk960m>;
clock-names = "wkupclk", "refclk";
#phy-cells = <0>; #phy-cells = <0>;
}; };
...@@ -869,6 +877,46 @@ bandgap: bandgap@4a0021e0 { ...@@ -869,6 +877,46 @@ bandgap: bandgap@4a0021e0 {
#thermal-sensor-cells = <1>; #thermal-sensor-cells = <1>;
}; };
omap_control_sata: control-phy@4a002374 {
compatible = "ti,control-phy-pipe3";
reg = <0x4a002374 0x4>;
reg-names = "power";
clocks = <&sys_clkin>;
clock-names = "sysclk";
};
/* OCP2SCP3 */
ocp2scp@4a090000 {
compatible = "ti,omap-ocp2scp";
#address-cells = <1>;
#size-cells = <1>;
reg = <0x4a090000 0x20>;
ranges;
ti,hwmods = "ocp2scp3";
sata_phy: phy@4a096000 {
compatible = "ti,phy-pipe3-sata";
reg = <0x4A096000 0x80>, /* phy_rx */
<0x4A096400 0x64>, /* phy_tx */
<0x4A096800 0x40>; /* pll_ctrl */
reg-names = "phy_rx", "phy_tx", "pll_ctrl";
ctrl-module = <&omap_control_sata>;
clocks = <&sys_clkin>;
clock-names = "sysclk";
#phy-cells = <0>;
};
};
sata: sata@4a141100 {
compatible = "snps,dwc-ahci";
reg = <0x4a140000 0x1100>, <0x4a141100 0x7>;
interrupts = <GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>;
phys = <&sata_phy>;
phy-names = "sata-phy";
clocks = <&sata_ref_clk>;
ti,hwmods = "sata";
};
}; };
}; };
......
...@@ -152,4 +152,10 @@ twl_keypad: keypad { ...@@ -152,4 +152,10 @@ twl_keypad: keypad {
keypad,num-rows = <8>; keypad,num-rows = <8>;
keypad,num-columns = <8>; keypad,num-columns = <8>;
}; };
twl_madc: madc {
compatible = "ti,twl4030-madc";
interrupts = <3>;
#io-channel-cells = <1>;
};
}; };
...@@ -43,7 +43,7 @@ static void __init omap_generic_init(void) ...@@ -43,7 +43,7 @@ static void __init omap_generic_init(void)
} }
#ifdef CONFIG_SOC_OMAP2420 #ifdef CONFIG_SOC_OMAP2420
static const char *omap242x_boards_compat[] __initdata = { static const char *omap242x_boards_compat[] __initconst = {
"ti,omap2420", "ti,omap2420",
NULL, NULL,
}; };
...@@ -62,7 +62,7 @@ MACHINE_END ...@@ -62,7 +62,7 @@ MACHINE_END
#endif #endif
#ifdef CONFIG_SOC_OMAP2430 #ifdef CONFIG_SOC_OMAP2430
static const char *omap243x_boards_compat[] __initdata = { static const char *omap243x_boards_compat[] __initconst = {
"ti,omap2430", "ti,omap2430",
NULL, NULL,
}; };
...@@ -81,7 +81,7 @@ MACHINE_END ...@@ -81,7 +81,7 @@ MACHINE_END
#endif #endif
#ifdef CONFIG_ARCH_OMAP3 #ifdef CONFIG_ARCH_OMAP3
static const char *omap3_boards_compat[] __initdata = { static const char *omap3_boards_compat[] __initconst = {
"ti,omap3430", "ti,omap3430",
"ti,omap3", "ti,omap3",
NULL, NULL,
...@@ -100,7 +100,7 @@ DT_MACHINE_START(OMAP3_DT, "Generic OMAP3 (Flattened Device Tree)") ...@@ -100,7 +100,7 @@ DT_MACHINE_START(OMAP3_DT, "Generic OMAP3 (Flattened Device Tree)")
.restart = omap3xxx_restart, .restart = omap3xxx_restart,
MACHINE_END MACHINE_END
static const char *omap36xx_boards_compat[] __initdata = { static const char *omap36xx_boards_compat[] __initconst = {
"ti,omap36xx", "ti,omap36xx",
NULL, NULL,
}; };
...@@ -118,7 +118,7 @@ DT_MACHINE_START(OMAP36XX_DT, "Generic OMAP36xx (Flattened Device Tree)") ...@@ -118,7 +118,7 @@ DT_MACHINE_START(OMAP36XX_DT, "Generic OMAP36xx (Flattened Device Tree)")
.restart = omap3xxx_restart, .restart = omap3xxx_restart,
MACHINE_END MACHINE_END
static const char *omap3_gp_boards_compat[] __initdata = { static const char *omap3_gp_boards_compat[] __initconst = {
"ti,omap3-beagle", "ti,omap3-beagle",
"timll,omap3-devkit8000", "timll,omap3-devkit8000",
NULL, NULL,
...@@ -137,7 +137,7 @@ DT_MACHINE_START(OMAP3_GP_DT, "Generic OMAP3-GP (Flattened Device Tree)") ...@@ -137,7 +137,7 @@ DT_MACHINE_START(OMAP3_GP_DT, "Generic OMAP3-GP (Flattened Device Tree)")
.restart = omap3xxx_restart, .restart = omap3xxx_restart,
MACHINE_END MACHINE_END
static const char *am3517_boards_compat[] __initdata = { static const char *am3517_boards_compat[] __initconst = {
"ti,am3517", "ti,am3517",
NULL, NULL,
}; };
...@@ -157,7 +157,7 @@ MACHINE_END ...@@ -157,7 +157,7 @@ MACHINE_END
#endif #endif
#ifdef CONFIG_SOC_AM33XX #ifdef CONFIG_SOC_AM33XX
static const char *am33xx_boards_compat[] __initdata = { static const char *am33xx_boards_compat[] __initconst = {
"ti,am33xx", "ti,am33xx",
NULL, NULL,
}; };
...@@ -177,7 +177,7 @@ MACHINE_END ...@@ -177,7 +177,7 @@ MACHINE_END
#endif #endif
#ifdef CONFIG_ARCH_OMAP4 #ifdef CONFIG_ARCH_OMAP4
static const char *omap4_boards_compat[] __initdata = { static const char *omap4_boards_compat[] __initconst = {
"ti,omap4460", "ti,omap4460",
"ti,omap4430", "ti,omap4430",
"ti,omap4", "ti,omap4",
...@@ -199,7 +199,7 @@ MACHINE_END ...@@ -199,7 +199,7 @@ MACHINE_END
#endif #endif
#ifdef CONFIG_SOC_OMAP5 #ifdef CONFIG_SOC_OMAP5
static const char *omap5_boards_compat[] __initdata = { static const char *omap5_boards_compat[] __initconst = {
"ti,omap5432", "ti,omap5432",
"ti,omap5430", "ti,omap5430",
"ti,omap5", "ti,omap5",
...@@ -221,7 +221,7 @@ MACHINE_END ...@@ -221,7 +221,7 @@ MACHINE_END
#endif #endif
#ifdef CONFIG_SOC_AM43XX #ifdef CONFIG_SOC_AM43XX
static const char *am43_boards_compat[] __initdata = { static const char *am43_boards_compat[] __initconst = {
"ti,am4372", "ti,am4372",
"ti,am43", "ti,am43",
NULL, NULL,
...@@ -240,13 +240,13 @@ MACHINE_END ...@@ -240,13 +240,13 @@ MACHINE_END
#endif #endif
#ifdef CONFIG_SOC_DRA7XX #ifdef CONFIG_SOC_DRA7XX
static const char *dra7xx_boards_compat[] __initdata = { static const char *dra74x_boards_compat[] __initconst = {
"ti,dra7xx", "ti,dra742",
"ti,dra7", "ti,dra7",
NULL, NULL,
}; };
DT_MACHINE_START(DRA7XX_DT, "Generic DRA7XX (Flattened Device Tree)") DT_MACHINE_START(DRA74X_DT, "Generic DRA74X (Flattened Device Tree)")
.reserve = omap_reserve, .reserve = omap_reserve,
.smp = smp_ops(omap4_smp_ops), .smp = smp_ops(omap4_smp_ops),
.map_io = omap5_map_io, .map_io = omap5_map_io,
...@@ -255,7 +255,24 @@ DT_MACHINE_START(DRA7XX_DT, "Generic DRA7XX (Flattened Device Tree)") ...@@ -255,7 +255,24 @@ DT_MACHINE_START(DRA7XX_DT, "Generic DRA7XX (Flattened Device Tree)")
.init_irq = omap_gic_of_init, .init_irq = omap_gic_of_init,
.init_machine = omap_generic_init, .init_machine = omap_generic_init,
.init_time = omap5_realtime_timer_init, .init_time = omap5_realtime_timer_init,
.dt_compat = dra7xx_boards_compat, .dt_compat = dra74x_boards_compat,
.restart = omap44xx_restart,
MACHINE_END
static const char *dra72x_boards_compat[] __initconst = {
"ti,dra722",
NULL,
};
DT_MACHINE_START(DRA72X_DT, "Generic DRA72X (Flattened Device Tree)")
.reserve = omap_reserve,
.map_io = omap5_map_io,
.init_early = dra7xx_init_early,
.init_late = dra7xx_init_late,
.init_irq = omap_gic_of_init,
.init_machine = omap_generic_init,
.init_time = omap5_realtime_timer_init,
.dt_compat = dra72x_boards_compat,
.restart = omap44xx_restart, .restart = omap44xx_restart,
MACHINE_END MACHINE_END
#endif #endif
...@@ -76,6 +76,7 @@ int omap_hdq1w_reset(struct omap_hwmod *oh) ...@@ -76,6 +76,7 @@ int omap_hdq1w_reset(struct omap_hwmod *oh)
return 0; return 0;
} }
#ifndef CONFIG_OF
static int __init omap_init_hdq(void) static int __init omap_init_hdq(void)
{ {
int id = -1; int id = -1;
...@@ -95,3 +96,4 @@ static int __init omap_init_hdq(void) ...@@ -95,3 +96,4 @@ static int __init omap_init_hdq(void)
return 0; return 0;
} }
omap_arch_initcall(omap_init_hdq); omap_arch_initcall(omap_init_hdq);
#endif
...@@ -2318,21 +2318,11 @@ static struct omap_hwmod_ocp_if dra7xx_l4_cfg__mpu = { ...@@ -2318,21 +2318,11 @@ static struct omap_hwmod_ocp_if dra7xx_l4_cfg__mpu = {
.user = OCP_USER_MPU | OCP_USER_SDMA, .user = OCP_USER_MPU | OCP_USER_SDMA,
}; };
static struct omap_hwmod_addr_space dra7xx_ocp2scp1_addrs[] = {
{
.pa_start = 0x4a080000,
.pa_end = 0x4a08001f,
.flags = ADDR_TYPE_RT
},
{ }
};
/* l4_cfg -> ocp2scp1 */ /* l4_cfg -> ocp2scp1 */
static struct omap_hwmod_ocp_if dra7xx_l4_cfg__ocp2scp1 = { static struct omap_hwmod_ocp_if dra7xx_l4_cfg__ocp2scp1 = {
.master = &dra7xx_l4_cfg_hwmod, .master = &dra7xx_l4_cfg_hwmod,
.slave = &dra7xx_ocp2scp1_hwmod, .slave = &dra7xx_ocp2scp1_hwmod,
.clk = "l4_root_clk_div", .clk = "l4_root_clk_div",
.addr = dra7xx_ocp2scp1_addrs,
.user = OCP_USER_MPU | OCP_USER_SDMA, .user = OCP_USER_MPU | OCP_USER_SDMA,
}; };
......
...@@ -254,6 +254,11 @@ static void __init omap4_panda_legacy_init(void) ...@@ -254,6 +254,11 @@ static void __init omap4_panda_legacy_init(void)
{ {
legacy_init_wl12xx(WL12XX_REFCLOCK_38, 0, 53); legacy_init_wl12xx(WL12XX_REFCLOCK_38, 0, 53);
} }
static void __init var_som_om44_legacy_init(void)
{
legacy_init_wl12xx(WL12XX_REFCLOCK_38, 0, 41);
}
#endif #endif
#if defined(CONFIG_ARCH_OMAP4) || defined(CONFIG_SOC_OMAP5) #if defined(CONFIG_ARCH_OMAP4) || defined(CONFIG_SOC_OMAP5)
...@@ -364,6 +369,8 @@ static struct pdata_init pdata_quirks[] __initdata = { ...@@ -364,6 +369,8 @@ static struct pdata_init pdata_quirks[] __initdata = {
#ifdef CONFIG_ARCH_OMAP4 #ifdef CONFIG_ARCH_OMAP4
{ "ti,omap4-sdp", omap4_sdp_legacy_init, }, { "ti,omap4-sdp", omap4_sdp_legacy_init, },
{ "ti,omap4-panda", omap4_panda_legacy_init, }, { "ti,omap4-panda", omap4_panda_legacy_init, },
{ "variscite,var-dvk-om44", var_som_om44_legacy_init, },
{ "variscite,var-stk-om44", var_som_om44_legacy_init, },
#endif #endif
#ifdef CONFIG_SOC_AM33XX #ifdef CONFIG_SOC_AM33XX
{ "ti,am335x-evmsk", am335x_evmsk_legacy_init, }, { "ti,am335x-evmsk", am335x_evmsk_legacy_init, },
......
...@@ -62,12 +62,17 @@ ...@@ -62,12 +62,17 @@
#define OMAP3630_CORE2_IOPAD(pa, val) OMAP_IOPAD_OFFSET((pa), 0x25a0) (val) #define OMAP3630_CORE2_IOPAD(pa, val) OMAP_IOPAD_OFFSET((pa), 0x25a0) (val)
#define OMAP3_WKUP_IOPAD(pa, val) OMAP_IOPAD_OFFSET((pa), 0x2a00) (val) #define OMAP3_WKUP_IOPAD(pa, val) OMAP_IOPAD_OFFSET((pa), 0x2a00) (val)
#define AM33XX_IOPAD(pa, val) OMAP_IOPAD_OFFSET((pa), 0x0800) (val) #define AM33XX_IOPAD(pa, val) OMAP_IOPAD_OFFSET((pa), 0x0800) (val)
#define OMAP4_CORE_IOPAD(pa, val) OMAP_IOPAD_OFFSET((pa), 0x0040) (val)
#define OMAP4_WKUP_IOPAD(pa, val) OMAP_IOPAD_OFFSET((pa), 0xe040) (val)
#define AM4372_IOPAD(pa, val) OMAP_IOPAD_OFFSET((pa), 0x0800) (val) #define AM4372_IOPAD(pa, val) OMAP_IOPAD_OFFSET((pa), 0x0800) (val)
#define OMAP5_CORE_IOPAD(pa, val) OMAP_IOPAD_OFFSET((pa), 0x2840) (val)
#define OMAP5_WKUP_IOPAD(pa, val) OMAP_IOPAD_OFFSET((pa), 0xc840) (val)
#define DRA7XX_CORE_IOPAD(pa, val) OMAP_IOPAD_OFFSET((pa), 0x3400) (val) #define DRA7XX_CORE_IOPAD(pa, val) OMAP_IOPAD_OFFSET((pa), 0x3400) (val)
/*
* Macros to allow using the offset from the padconf physical address
* instead of the offset from padconf base.
*/
#define OMAP_PADCONF_OFFSET(offset, base_offset) ((offset) - (base_offset))
#define OMAP4_IOPAD(offset, val) OMAP_PADCONF_OFFSET((offset), 0x0040) (val)
#define OMAP5_IOPAD(offset, val) OMAP_PADCONF_OFFSET((offset), 0x0040) (val)
#endif #endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment