summaryrefslogtreecommitdiff
path: root/arch/arm/boot/dts
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/boot/dts')
-rw-r--r--arch/arm/boot/dts/Makefile1
-rw-r--r--arch/arm/boot/dts/omap3-h1-ev1.dts57
-rw-r--r--arch/arm/boot/dts/omap3.dtsi272
-rw-r--r--arch/arm/boot/dts/omap3430-sdp.dts1
-rw-r--r--arch/arm/boot/dts/omap36xx.dtsi35
-rw-r--r--arch/arm/boot/dts/omap3_h1.dts57
6 files changed, 282 insertions, 141 deletions
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index e2a70d9fb96..ebd3b406229 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -161,6 +161,7 @@ dtb-$(CONFIG_ARCH_OMAP2PLUS) += omap2420-h4.dtb \
am335x-evm.dtb \
am335x-evmsk.dtb \
am335x-bone.dtb
+dtb-$(CONFIG_MACH_OMAP3_H1) += omap3-h1-ev1.dtb
dtb-$(CONFIG_MACH_MINNOW) += omap3-minnow-p0.dtb omap3-casper-p1.dtb
dtb-$(CONFIG_ARCH_ORION5X) += orion5x-lacie-ethernet-disk-mini-v2.dtb
dtb-$(CONFIG_ARCH_PRIMA2) += prima2-evb.dtb
diff --git a/arch/arm/boot/dts/omap3-h1-ev1.dts b/arch/arm/boot/dts/omap3-h1-ev1.dts
new file mode 100644
index 00000000000..fc8a507b855
--- /dev/null
+++ b/arch/arm/boot/dts/omap3-h1-ev1.dts
@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2014 Olio Devices, Inc.
+ * Authors: Evan Wilson <evan@oliodevices.com>
+ * Mattis Fjallstrom <mattis@oliodevices.com>
+ *
+ * Modified from omap3-beagle-xm.dts
+ *
+ * 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/ "omap36xx.dtsi"
+/ {
+ model = "Olio OMAP3 H1 Board";
+ compatible = "olio,omap3-h1", "ti,omap3";
+
+ tusb_phy: tusb-usb@0 {
+ compatible = "ti,tusb-usb";
+ gpios = <&gpio5 14 0x1>; /* IRQ gpio-142 GPIOF_DIR_OUT|GPIOF_INIT_HIGH */
+ gpio-names = "tusb-cs";
+ clk_in = "periph_26mhz"; /* external 26MHz clock */
+ reg = <0 0>;
+ };
+
+ /* Needs to be modified for Olio H1 */
+
+ /* Consider setting up pad-wkup here, like in Minnow */
+
+
+};
+
+/* Lots of pinmux in the board file, as well */
+
+&omap3_pmx_core {
+ pinctrl-names = "default";
+ pinctrl-0 = <&usb_phy_pins>;
+
+ usb_phy_pins: pinmux_usb_phy_pins {
+ pinctrl-single,pins = <
+ 0x140 0x4104 /* MCBSP3_CLKX, MODE4 (GPIO-142) | INPUT | OFFWAKEUP */
+ 0x5ae 0x004 /* ETK_D1, MODE4 (GPIO_15) | OUTPUT */
+ 0x5b0 0x004 /* ETK_D2, MODE4 (GPIO_16) | OUTPUT */
+ 0x5c6 0x004 /* EDK_D13, MODE4 (GPIO_27) | OUTPUT */
+ >;
+ };
+};
+
+
+&usb_otg_hs {
+ interface-type = <0>;
+ usb-phy = <&tusb_phy>;
+ mode = <3>;
+ power = <50>;
+
+};
diff --git a/arch/arm/boot/dts/omap3.dtsi b/arch/arm/boot/dts/omap3.dtsi
index 2b8802164c1..4d45679361b 100644
--- a/arch/arm/boot/dts/omap3.dtsi
+++ b/arch/arm/boot/dts/omap3.dtsi
@@ -14,17 +14,18 @@
compatible = "ti,omap3430", "ti,omap3";
interrupt-parent = <&intc>;
- aliases {
+ aliases { /*
serial0 = &uart1;
serial1 = &uart2;
serial2 = &uart3;
+ */
};
- cpus {
- cpu@0 {
+ cpus {
+ cpu@0 {
compatible = "arm,cortex-a8";
- };
- };
+ };
+ };
pmu {
compatible = "arm,cortex-a8-pmu";
@@ -43,14 +44,14 @@
ti,hwmods = "mpu";
};
- iva {
- compatible = "ti,iva2.2";
- ti,hwmods = "iva";
-
- dsp {
- compatible = "ti,omap3-c64";
- };
- };
+ iva {
+ compatible = "ti,iva2.2";
+ ti,hwmods = "iva";
+
+ dsp {
+ compatible = "ti,omap3-c64";
+ };
+ };
};
/*
@@ -111,7 +112,7 @@
pinctrl-single,register-width = <16>;
pinctrl-single,function-mask = <0x7f1f>;
#gpio-range-cells = <3>;
- };
+ };
gpio1: gpio@48310000 {
compatible = "ti,omap3-gpio";
@@ -123,24 +124,31 @@
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
- };
+ };
- gpio2: gpio@49050000 {
- compatible = "ti,omap3-gpio";
- reg = <0x49050000 0x200>;
- interrupts = <30>;
- ti,hwmods = "gpio2";
- gpio-controller;
- #gpio-cells = <2>;
- interrupt-controller;
- #interrupt-cells = <2>;
- /* for gpio 32 33 there is no pnctrl controller defined */
- gpio-ranges = <&omap3_pmx_core 2 0x25 10>,
- <&omap3_pmx_core 12 0x37 8>,
- <&omap3_pmx_core 20 0x40 8>,
- <&omap3_pmx_core 28 0x4B 3>,
- <&omap3_pmx_core 31 0x4f 1>;
- };
+ /* disabling this one makes suspend work */
+ /* but it also causes the touch to NOT work */
+
+ gpio2: gpio@49050000 {
+ compatible = "ti,omap3-gpio";
+ reg = <0x49050000 0x200>;
+ interrupts = <30>;
+ ti,hwmods = "gpio2";
+ gpio-controller;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ /* for gpio 32 33 there is no pnctrl controller defined */
+ /* gpio-ranges = <&omap3_pmx_core 2 0x25 10>, */
+ /* <&omap3_pmx_core 12 0x37 8>, */
+ /* <&omap3_pmx_core 20 0x40 8>, */
+ /* <&omap3_pmx_core 28 0x4B 3>, */
+ /* <&omap3_pmx_core 31 0x4f 1>; */
+ };
+
+ /* Removing this one disables touch,
+ * suspend works.
+ */
gpio3: gpio@49052000 {
compatible = "ti,omap3-gpio";
@@ -151,26 +159,34 @@
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
- gpio-ranges = <&omap3_pmx_core 0 0x50 32>;
- };
+ /* gpio-ranges = <&omap3_pmx_core 0 0x50 32>; */
+ };
- gpio4: gpio@49054000 {
- compatible = "ti,omap3-gpio";
+ /* Removing this one disables _both_ touch
+ * and suspend.
+ */
+
+ gpio4: gpio@49054000 {
+ compatible = "ti,omap3-gpio";
reg = <0x49054000 0x200>;
interrupts = <32>;
ti,hwmods = "gpio4";
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
- #interrupt-cells = <2>;
+ #interrupt-cells = <2>;
/*
- * gpio 127 in wkup mux, whcih we can not use (see
+ * gpio 127 in wkup mux, which we can not use (see
* sorce code for comment)
*/
- gpio-ranges = <&omap3_pmx_core 0 0x70 16>,
- <&omap3_pmx_core 16 0x82 14>,
- <&omap3_pmx_core 30 0x81 1>;
- };
+ /* gpio-ranges = <&omap3_pmx_core 0 0x70 16>, */
+ /* <&omap3_pmx_core 16 0x82 14>, */
+ /* <&omap3_pmx_core 30 0x81 1>; */
+ };
+
+ /* Removing this one causes touch to work but suspend to
+ * crash....
+ */
gpio5: gpio@49056000 {
compatible = "ti,omap3-gpio";
@@ -180,14 +196,18 @@
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
- #interrupt-cells = <2>;
+ #interrupt-cells = <2>;
/*
- * gpio 128 129 in wkup mux, whcih we can not use (see
- * sorce code for comment)
- */
- gpio-ranges = <&omap3_pmx_core 2 0x94 30>;
+ * gpio 128 129 in wkup mux, whcih we can not use (see
+ * sorce code for comment)
+ */
+ /* gpio-ranges = <&omap3_pmx_core 2 0x94 20>; */
};
+ /* Removing this one causes touch to work but suspend to
+ * crash....
+ */
+
gpio6: gpio@49058000 {
compatible = "ti,omap3-gpio";
reg = <0x49058000 0x200>;
@@ -196,36 +216,37 @@
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
- #interrupt-cells = <2>;
+ #interrupt-cells = <2>;
/* for gpio 187 there is no pnctrl controller defined */
- gpio-ranges = <&omap3_pmx_core 0 0xb2 7>,
- <&omap3_pmx_core 7 0x80 1>,
- <&omap3_pmx_core 8 0xc7 1>,
- <&omap3_pmx_core 9 0xc0 1>,
- <&omap3_pmx_core 10 0xcb 13>,
- <&omap3_pmx_core 23 0xc8 3>,
- <&omap3_pmx_core 26 0xd9 1>,
- <&omap3_pmx_core 28 0xc1 4>;
- };
+ /* gpio-ranges = <&omap3_pmx_core 0 0xb2 7>, */
+ /* <&omap3_pmx_core 7 0x80 1>, */
+ /* <&omap3_pmx_core 8 0xc7 1>, */
+ /* <&omap3_pmx_core 9 0xc0 1>, */
+ /* <&omap3_pmx_core 10 0xcb 13>, */
+ /* <&omap3_pmx_core 23 0xc8 3>, */
+ /* <&omap3_pmx_core 26 0xd9 1>, */
+ /* <&omap3_pmx_core 28 0xc1 4>; */
+ };
- uart1: serial@4806a000 {
- compatible = "ti,omap3-uart";
- ti,hwmods = "uart1";
- clock-frequency = <48000000>;
- };
+ /* uart1: serial@4806a000 { */
+ /* compatible = "ti,omap3-uart"; */
+ /* ti,hwmods = "uart1"; */
+ /* clock-frequency = <48000000>; */
+ /* }; */
- uart2: serial@4806c000 {
- compatible = "ti,omap3-uart";
- ti,hwmods = "uart2";
- clock-frequency = <48000000>;
- };
+ /* uart2: serial@4806c000 { */
+ /* compatible = "ti,omap3-uart"; */
+ /* ti,hwmods = "uart2"; */
+ /* clock-frequency = <48000000>; */
+ /* }; */
- uart3: serial@49020000 {
- compatible = "ti,omap3-uart";
- ti,hwmods = "uart3";
- clock-frequency = <48000000>;
- };
+ /* uart3: serial@49020000 { */
+ /* compatible = "ti,omap3-uart"; */
+ /* ti,hwmods = "uart3"; */
+ /* clock-frequency = <48000000>; */
+ /* }; */
+ /*
i2c1: i2c@48070000 {
compatible = "ti,omap3-i2c";
#address-cells = <1>;
@@ -245,8 +266,8 @@
#address-cells = <1>;
#size-cells = <0>;
ti,hwmods = "i2c3";
- };
-
+ }; */
+
mcspi1: spi@48098000 {
compatible = "ti,omap2-mcspi";
#address-cells = <1>;
@@ -299,7 +320,7 @@
ti,spi-num-cs = <1>;
dmas = <&sdma 70>, <&sdma 71>;
dma-names = "tx0", "rx0";
- };
+ };
mmc1: mmc@4809c000 {
compatible = "ti,omap3-hsmmc";
@@ -321,7 +342,7 @@
ti,hwmods = "mmc3";
dmas = <&sdma 77>, <&sdma 78>;
dma-names = "tx", "rx";
- };
+ };
wdt2: wdt@48314000 {
compatible = "ti,omap3-wdt";
@@ -331,11 +352,11 @@
mcbsp1: mcbsp@48074000 {
compatible = "ti,omap3-mcbsp";
reg = <0x48074000 0xff>;
- reg-names = "mpu";
- interrupts = <16>, /* OCP compliant interrupt */
- <59>, /* TX interrupt */
- <60>; /* RX interrupt */
- interrupt-names = "common", "tx", "rx";
+ reg-names = "mpu";
+ interrupts = <16>, /* OCP compliant interrupt */
+ <59>, /* TX interrupt */
+ <60>; /* RX interrupt */
+ interrupt-names = "common", "tx", "rx";
ti,buffer-size = <128>;
ti,hwmods = "mcbsp1";
dmas = <&sdma 31>,
@@ -348,11 +369,11 @@
reg = <0x49022000 0xff>,
<0x49028000 0xff>;
reg-names = "mpu", "sidetone";
- interrupts = <17>, /* OCP compliant interrupt */
- <62>, /* TX interrupt */
- <63>, /* RX interrupt */
- <4>; /* Sidetone */
- interrupt-names = "common", "tx", "rx", "sidetone";
+ interrupts = <17>, /* OCP compliant interrupt */
+ <62>, /* TX interrupt */
+ <63>, /* RX interrupt */
+ <4>; /* Sidetone */
+ interrupt-names = "common", "tx", "rx", "sidetone";
ti,buffer-size = <1280>;
ti,hwmods = "mcbsp2", "mcbsp2_sidetone";
dmas = <&sdma 33>,
@@ -365,11 +386,11 @@
reg = <0x49024000 0xff>,
<0x4902a000 0xff>;
reg-names = "mpu", "sidetone";
- interrupts = <22>, /* OCP compliant interrupt */
- <89>, /* TX interrupt */
- <90>, /* RX interrupt */
- <5>; /* Sidetone */
- interrupt-names = "common", "tx", "rx", "sidetone";
+ interrupts = <22>, /* OCP compliant interrupt */
+ <89>, /* TX interrupt */
+ <90>, /* RX interrupt */
+ <5>; /* Sidetone */
+ interrupt-names = "common", "tx", "rx", "sidetone";
ti,buffer-size = <128>;
ti,hwmods = "mcbsp3", "mcbsp3_sidetone";
dmas = <&sdma 17>,
@@ -381,10 +402,10 @@
compatible = "ti,omap3-mcbsp";
reg = <0x49026000 0xff>;
reg-names = "mpu";
- interrupts = <23>, /* OCP compliant interrupt */
- <54>, /* TX interrupt */
- <55>; /* RX interrupt */
- interrupt-names = "common", "tx", "rx";
+ interrupts = <23>, /* OCP compliant interrupt */
+ <54>, /* TX interrupt */
+ <55>; /* RX interrupt */
+ interrupt-names = "common", "tx", "rx";
ti,buffer-size = <128>;
ti,hwmods = "mcbsp4";
dmas = <&sdma 19>,
@@ -396,16 +417,16 @@
compatible = "ti,omap3-mcbsp";
reg = <0x48096000 0xff>;
reg-names = "mpu";
- interrupts = <27>, /* OCP compliant interrupt */
- <81>, /* TX interrupt */
- <82>; /* RX interrupt */
- interrupt-names = "common", "tx", "rx";
+ interrupts = <27>, /* OCP compliant interrupt */
+ <81>, /* TX interrupt */
+ <82>; /* RX interrupt */
+ interrupt-names = "common", "tx", "rx";
ti,buffer-size = <128>;
ti,hwmods = "mcbsp5";
dmas = <&sdma 21>,
<&sdma 22>;
dma-names = "tx", "rx";
- };
+ };
timer1: timer@48318000 {
compatible = "ti,omap3430-timer";
@@ -501,13 +522,13 @@
ti,timer-alwon;
ti,timer-secure;
};
-
- usbhstll: usbhstll@48062000 {
- compatible = "ti,usbhs-tll";
- reg = <0x48062000 0x1000>;
- interrupts = <78>;
- ti,hwmods = "usb_tll_hs";
- };
+
+ /* usbhstll: usbhstll@48062000 { */
+ /* compatible = "ti,usbhs-tll"; */
+ /* reg = <0x48062000 0x1000>; */
+ /* interrupts = <78>; */
+ /* ti,hwmods = "usb_tll_hs"; */
+ /* }; */
usbhshost: usbhshost@48064000 {
compatible = "ti,usbhs-host";
@@ -517,20 +538,24 @@
#size-cells = <1>;
ranges;
- usbhsohci: ohci@48064400 {
- compatible = "ti,ohci-omap3", "usb-ohci";
- reg = <0x48064400 0x400>;
- interrupt-parent = <&intc>;
- interrupts = <76>;
- };
+ /* usbhsohci: ohci@48064400 { */
+ /* compatible = "ti,ohci-omap3", "usb-ohci"; */
+ /* reg = <0x48064400 0x400>; */
+ /* interrupt-parent = <&intc>; */
+ /* interrupts = <76>; */
+ /* }; */
- usbhsehci: ehci@48064800 {
- compatible = "ti,ehci-omap", "usb-ehci";
- reg = <0x48064800 0x400>;
- interrupt-parent = <&intc>;
- interrupts = <77>;
- };
- };
+ /* usbhsehci: ehci@48064800 { */
+ /* compatible = "ti,ehci-omap", "usb-ehci"; */
+ /* reg = <0x48064800 0x400>; */
+ /* interrupt-parent = <&intc>; */
+ /* interrupts = <77>; */
+ /* }; */
+ };
+
+ /* GPMC needs to be initialized here, or everything
+ * falls apart.
+ */
gpmc: gpmc@6e000000 {
compatible = "ti,omap3430-gpmc";
@@ -541,8 +566,9 @@
gpmc,num-waitpins = <4>;
#address-cells = <2>;
#size-cells = <1>;
- };
+ };
+ /*
usb_otg_hs: usb_otg_hs@480ab000 {
compatible = "ti,omap3-musb";
reg = <0x480ab000 0x1000>;
@@ -552,11 +578,11 @@
multipoint = <1>;
num-eps = <16>;
ram-bits = <12>;
- };
+ };*/
glbl_prm: glbl_prm@48307250 {
- /*
- * disabled by default. becasue two required
+ /*
+ * disabled by default. because two required
* values should be defined in board file
*/
status = "disabled";
diff --git a/arch/arm/boot/dts/omap3430-sdp.dts b/arch/arm/boot/dts/omap3430-sdp.dts
index 144ae43453c..6076d016b47 100644
--- a/arch/arm/boot/dts/omap3430-sdp.dts
+++ b/arch/arm/boot/dts/omap3430-sdp.dts
@@ -105,7 +105,6 @@
nand-bus-width = <8>;
ti,nand-ecc-opt = "sw";
- gpmc,device-nand;
gpmc,cs-on-ns = <0>;
gpmc,cs-rd-off-ns = <36>;
gpmc,cs-wr-off-ns = <36>;
diff --git a/arch/arm/boot/dts/omap36xx.dtsi b/arch/arm/boot/dts/omap36xx.dtsi
index f3447bc1b03..2a25174167c 100644
--- a/arch/arm/boot/dts/omap36xx.dtsi
+++ b/arch/arm/boot/dts/omap36xx.dtsi
@@ -12,27 +12,28 @@
/ {
aliases {
- serial3 = &uart4;
+ /* serial3 = &uart4; */
};
cpus {
/* OMAP3630/OMAP37xx 'standard device' variants OPP50 to OPP130 */
- cpu@0 {
- operating-points = <
- /* kHz uV */
- 300000 1012500
- 600000 1200000
- 800000 1325000
- >;
- clock-latency = <300000>; /* From legacy driver */
- };
+ /* cpu@0 { */
+ /* operating-points = < */
+ /* /\* kHz uV *\/ */
+ /* 300000 1012500 */
+ /* 600000 1200000 */
+ /* 800000 1325000 */
+ /* 1000000 1375000 */
+ /* >; */
+ /* clock-latency = <300000>; /\* From legacy driver *\/ */
+ /* }; */
};
- ocp {
- uart4: serial@49042000 {
- compatible = "ti,omap3-uart";
- ti,hwmods = "uart4";
- clock-frequency = <48000000>;
- };
- };
+ /* ocp { */
+ /* uart4: serial@49042000 { */
+ /* compatible = "ti,omap3-uart"; */
+ /* ti,hwmods = "uart4"; */
+ /* clock-frequency = <48000000>; */
+ /* }; */
+ /* }; */
};
diff --git a/arch/arm/boot/dts/omap3_h1.dts b/arch/arm/boot/dts/omap3_h1.dts
new file mode 100644
index 00000000000..13a34e53ac7
--- /dev/null
+++ b/arch/arm/boot/dts/omap3_h1.dts
@@ -0,0 +1,57 @@
+/*
+ * Copyright (C) 2014 Olio Devices, Inc.
+ * Authors: Evan Wilson <evan@oliodevices.com>
+ * Mattis Fjallstrom <mattis@oliodevices.com>
+ *
+ * Modified from omap3-beagle-xm.dts
+ *
+ * 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/ "omap36xx.dtsi"
+/ {
+ model = "Olio OMAP3 H1 Board";
+ compatible = "olio,omap3-h1", "ti,omap3";
+
+ cpus {
+ cpu@0 {
+ device_type = "cpu";
+ operating-points = <
+ /* kHz uV */
+ 300000 975000
+ 600000 1150000
+ 800000 1275000
+ 1000000 1337500
+ >;
+ /* OPP tolerance in percentage */
+ voltage-tolerance = <0>;
+ reset-voltage = <1275000>;
+ };
+ };
+};
+
+&vc {
+ ti,i2c-high-speed;
+ ti,i2c-pad-load = <3>;
+ vc_mpu{
+ ti,master-channel;
+ };
+
+ vc_core{
+ ti,use-master-slave-addr;
+ };
+};
+
+&glbl_prm {
+ status = "ok";
+ sys_clk = "osc_sys_ck";
+ autoextclkmode = <2>;
+ sys_off_mode;
+ auto_off;
+ auto_retention;
+ offmodesetup_time = <3500>;
+ clksetup_time = <1000>;
+};