ARM: SPEAr320: DT: Add SPEAr 320 HMI board support
authorShiraz Hashim <shiraz.hashim@st.com>
Wed, 8 Aug 2012 23:20:11 +0000 (04:50 +0530)
committerViresh Kumar <viresh.kumar@linaro.org>
Mon, 26 Nov 2012 11:25:33 +0000 (16:55 +0530)
This adds support for SPEAr320-HMI board.

Signed-off-by: Shiraz Hashim <shiraz.hashim@st.com>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
arch/arm/boot/dts/Makefile
arch/arm/boot/dts/spear320-hmi.dts [new file with mode: 0644]
arch/arm/mach-spear3xx/spear320.c

index f37cf9f..07e6cfa 100644 (file)
@@ -82,7 +82,8 @@ dtb-$(CONFIG_ARCH_SPEAR13XX) += spear1310-evb.dtb \
        spear1340-evb.dtb
 dtb-$(CONFIG_ARCH_SPEAR3XX)+= spear300-evb.dtb \
        spear310-evb.dtb \
-       spear320-evb.dtb
+       spear320-evb.dtb \
+       spear320-hmi.dtb
 dtb-$(CONFIG_ARCH_SPEAR6XX)+= spear600-evb.dtb
 dtb-$(CONFIG_ARCH_TEGRA) += tegra20-harmony.dtb \
        tegra20-medcom-wide.dtb \
diff --git a/arch/arm/boot/dts/spear320-hmi.dts b/arch/arm/boot/dts/spear320-hmi.dts
new file mode 100644 (file)
index 0000000..3075d2d
--- /dev/null
@@ -0,0 +1,305 @@
+/*
+ * DTS file for SPEAr320 Evaluation Baord
+ *
+ * Copyright 2012 Shiraz Hashim <shiraz.hashim@st.com>
+ *
+ * The code contained herein is licensed under the GNU General Public
+ * License. You may obtain a copy of the GNU General Public License
+ * Version 2 or later at the following locations:
+ *
+ * http://www.opensource.org/licenses/gpl-license.html
+ * http://www.gnu.org/copyleft/gpl.html
+ */
+
+/dts-v1/;
+/include/ "spear320.dtsi"
+
+/ {
+       model = "ST SPEAr320 HMI Board";
+       compatible = "st,spear320-hmi", "st,spear320";
+       #address-cells = <1>;
+       #size-cells = <1>;
+
+       memory {
+               reg = <0 0x40000000>;
+       };
+
+       ahb {
+               pinmux@b3000000 {
+                       st,pinmux-mode = <4>;
+                       pinctrl-names = "default";
+                       pinctrl-0 = <&state_default>;
+
+                       state_default: pinmux {
+                               i2c0 {
+                                       st,pins = "i2c0_grp";
+                                       st,function = "i2c0";
+                               };
+                               ssp0 {
+                                       st,pins = "ssp0_grp";
+                                       st,function = "ssp0";
+                               };
+                               uart0 {
+                                       st,pins = "uart0_grp";
+                                       st,function = "uart0";
+                               };
+                               clcd {
+                                       st,pins = "clcd_grp";
+                                       st,function = "clcd";
+                               };
+                               fsmc {
+                                       st,pins = "fsmc_8bit_grp";
+                                       st,function = "fsmc";
+                               };
+                               sdhci {
+                                       st,pins = "sdhci_cd_12_grp";
+                                       st,function = "sdhci";
+                               };
+                               i2s {
+                                       st,pins = "i2s_grp";
+                                       st,function = "i2s";
+                               };
+                               uart1 {
+                                       st,pins = "uart1_grp";
+                                       st,function = "uart1";
+                               };
+                               uart2 {
+                                       st,pins = "uart2_grp";
+                                       st,function = "uart2";
+                               };
+                               can0 {
+                                       st,pins = "can0_grp";
+                                       st,function = "can0";
+                               };
+                               can1 {
+                                       st,pins = "can1_grp";
+                                       st,function = "can1";
+                               };
+                               mii0_1 {
+                                       st,pins = "rmii0_1_grp";
+                                       st,function = "mii0_1";
+                               };
+                               pwm0_1 {
+                                       st,pins = "pwm0_1_pin_37_38_grp";
+                                       st,function = "pwm0_1";
+                               };
+                               pwm2 {
+                                       st,pins = "pwm2_pin_34_grp";
+                                       st,function = "pwm2";
+                               };
+                       };
+               };
+
+               clcd@90000000 {
+                       status = "okay";
+               };
+
+               dma@fc400000 {
+                       status = "okay";
+               };
+
+               ehci@e1800000 {
+                       status = "okay";
+               };
+
+               fsmc: flash@4c000000 {
+                       status = "okay";
+
+                       partition@0 {
+                               label = "xloader";
+                               reg = <0x0 0x80000>;
+                       };
+                       partition@80000 {
+                               label = "u-boot";
+                               reg = <0x80000 0x140000>;
+                       };
+                       partition@1C0000 {
+                               label = "environment";
+                               reg = <0x1C0000 0x40000>;
+                       };
+                       partition@200000 {
+                               label = "dtb";
+                               reg = <0x200000 0x40000>;
+                       };
+                       partition@240000 {
+                               label = "linux";
+                               reg = <0x240000 0xC00000>;
+                       };
+                       partition@E40000 {
+                               label = "rootfs";
+                               reg = <0xE40000 0x0>;
+                       };
+               };
+
+               gpio_keys {
+                       compatible = "gpio-keys";
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       button@1 {
+                               label = "user button 1";
+                               linux,code = <0x100>;
+                               gpios = <&stmpegpio 3 0x4>;
+                               debounce-interval = <20>;
+                               gpio-key,wakeup = <1>;
+                       };
+
+                       button@2 {
+                               label = "user button 2";
+                               linux,code = <0x200>;
+                               gpios = <&stmpegpio 2 0x4>;
+                               debounce-interval = <20>;
+                               gpio-key,wakeup = <1>;
+                       };
+               };
+
+               ohci@e1900000 {
+                       status = "okay";
+               };
+
+               ohci@e2100000 {
+                       status = "okay";
+               };
+
+               pwm: pwm@a8000000 {
+                       status = "okay";
+               };
+
+               sdhci@70000000 {
+                       power-gpio = <&gpiopinctrl 50 1>;
+                       power_always_enb;
+                       status = "okay";
+               };
+
+               smi: flash@fc000000 {
+                       status = "okay";
+                       clock-rate=<50000000>;
+
+                       flash@f8000000 {
+                               #address-cells = <1>;
+                               #size-cells = <1>;
+                               reg = <0xf8000000 0x800000>;
+                               st,smi-fast-mode;
+
+                               partition@0 {
+                                       label = "xloader";
+                                       reg = <0x0 0x10000>;
+                               };
+                               partition@10000 {
+                                       label = "u-boot";
+                                       reg = <0x10000 0x50000>;
+                               };
+                               partition@60000 {
+                                       label = "environment";
+                                       reg = <0x60000 0x10000>;
+                               };
+                               partition@70000 {
+                                       label = "dtb";
+                                       reg = <0x70000 0x10000>;
+                               };
+                               partition@80000 {
+                                       label = "linux";
+                                       reg = <0x80000 0x310000>;
+                               };
+                               partition@390000 {
+                                       label = "rootfs";
+                                       reg = <0x390000 0x0>;
+                               };
+                       };
+               };
+
+               spi0: spi@d0100000 {
+                       status = "okay";
+               };
+
+               spi1: spi@a5000000 {
+                       status = "okay";
+               };
+
+               spi2: spi@a6000000 {
+                       status = "okay";
+               };
+
+               usbd@e1100000 {
+                       status = "okay";
+               };
+
+               apb {
+                       gpio0: gpio@fc980000 {
+                              status = "okay";
+                       };
+
+                       gpio@b3000000 {
+                               status = "okay";
+                       };
+
+                       i2c0: i2c@d0180000 {
+                               status = "okay";
+
+                               stmpe811@41 {
+                                       compatible = "st,stmpe811";
+                                       #address-cells = <1>;
+                                       #size-cells = <0>;
+                                       reg = <0x41>;
+                                       irq-over-gpio;
+                                       irq-gpios = <&gpiopinctrl 29 0x4>;
+                                       id = <0>;
+                                       blocks = <0x5>;
+                                       irq-trigger = <0x1>;
+
+                                       stmpegpio: stmpe-gpio {
+                                               compatible = "stmpe,gpio";
+                                               reg = <0>;
+                                               gpio-controller;
+                                               #gpio-cells = <2>;
+                                               gpio,norequest-mask = <0xF3>;
+                                       };
+
+                                       stmpe610-ts {
+                                               compatible = "stmpe,ts";
+                                               reg = <0>;
+                                               ts,sample-time = <4>;
+                                               ts,mod-12b = <1>;
+                                               ts,ref-sel = <0>;
+                                               ts,adc-freq = <1>;
+                                               ts,ave-ctrl = <1>;
+                                               ts,touch-det-delay = <3>;
+                                               ts,settling = <4>;
+                                               ts,fraction-z = <7>;
+                                               ts,i-drive = <1>;
+                                       };
+                               };
+                       };
+
+                       i2c1: i2c@a7000000 {
+                              status = "okay";
+                       };
+
+                       rtc@fc900000 {
+                              status = "okay";
+                       };
+
+                       serial@d0000000 {
+                              status = "okay";
+                               pinctrl-names = "default";
+                               pinctrl-0 = <>;
+                       };
+
+                       serial@a3000000 {
+                              status = "okay";
+                               pinctrl-names = "default";
+                               pinctrl-0 = <>;
+                       };
+
+                       serial@a4000000 {
+                              status = "okay";
+                               pinctrl-names = "default";
+                               pinctrl-0 = <>;
+                       };
+
+                       wdt@fc880000 {
+                              status = "okay";
+                       };
+               };
+       };
+};
index 707504b..66e3a0c 100644 (file)
@@ -247,6 +247,7 @@ static void __init spear320_dt_init(void)
 static const char * const spear320_dt_board_compat[] = {
        "st,spear320",
        "st,spear320-evb",
+       "st,spear320-hmi",
        NULL,
 };