[PATCH v1 1/1] add support for mws4 board

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: "Ulbricht, Marian" <ulbricht@xxxxxxxxxxxx>
Date: Thu, 26 May 2022 12:42:21 +0200
Subject: [PATCH v1 1/1] add support for mws4 board

mws4 is an arm based nuclear probe hardware used from
german government to monitor nuclear activity

Signed-off-by: Ulbricht, Marian <ulbricht@xxxxxxxxxxxx>
---

Changes in v1:
* add dts

 arch/arm/boot/dts/omap3-mws4.dts | 297 +++++++++++++++++++++++++++++++
 1 file changed, 297 insertions(+)
 create mode 100644 arch/arm/boot/dts/omap3-mws4.dts

diff --git a/arch/arm/boot/dts/omap3-mws4.dts b/arch/arm/boot/dts/omap3-mws4.dts
new file mode 100644
index 000000000000..a3489d4af2cc
--- /dev/null
+++ b/arch/arm/boot/dts/omap3-mws4.dts
@@ -0,0 +1,297 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
+ *
+ * Modified 2015 by Bernhard Gätzschmann, Ultratronik from Beagleboard xM
+ *
+ * Modified 2022 Marian Ulbricht ulbricht@xxxxxxxxxxxx
+ *
+ * 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 = "Ultratronik BFS MWS4";
+    compatible = "ti,omap3-mmi4", "ti,omap36xx", "ti,omap3";
+    cpus {
+            cpu@0 {
+                cpu0-supply = <&vcc>;
+            };
+        };
+    memory {
+        device_type = "memory";
+        reg = <0x80000000 0x10000000>; // 256 MB
+    };
+    aliases {
+        i2c0 = &i2c1;
+        i2c1 = &i2c2;
+        i2c2 = &i2c3;
+        serial0 = &uart1;
+        serial1 = &uart2;
+        serial2 = &uart3;
+        mmc1 = &mmc1;
+    };
+    netcard: AX88796BLI@ffdf0000 {
+        compatible = "ax88796_dt";
+        reg = <0xffdf0000 0x1000> ;
+
+};
+
+    watchdog_max: watchdog {
+        compatible = "linux,wdt-gpio";
+        gpios = <&gpio4 21 1>; //117
+        hw_algo = "toggle";
+        always-running;
+        hw_margin_ms = <900>;
+    };
+    hsusb1_phy: hsusb1_phy {
+        status = "disabled";
+    };
+
+    /* HS USB Host PHY on PORT 2 */
+    hsusb2_phy: hsusb2_phy {
+        status = "disabled";
+    };
+    /* fixed 19.2MHz oscillator */
+    hfclk_19m2: oscillator {
+        #clock-cells = <0>;
+        compatible = "fixed-clock";
+        clock-frequency = <19200000>;
+    };
+leds {
+        compatible = "gpio-leds";
+        pinctrl-names = "default";
+        pinctrl-0 = <&led_pins>;
+        led_sm {
+            label = "led_sm";
+            gpios = <&gpio4 5 GPIO_ACTIVE_HIGH>; /* 101 */
+            default-state = "on";
+        };
+        led1 {
+            label = "led1";
+            gpios = <&gpio4 6 GPIO_ACTIVE_HIGH>; /* 102 */
+            linux,default-trigger = "cpu";
+        };
+        led2 {
+            label = "led2";
+            gpios = <&gpio4 7 GPIO_ACTIVE_HIGH>; /* 103 */
+            linux,default-trigger = "mmc0";
+        };
+        led3 {
+            label = "led3";
+            gpios = <&gpio4 8 GPIO_ACTIVE_HIGH>; /* 104 */
+            linux,default-trigger = "usb-host";
+        };
+        led_usb {
+            label = "led_usb";
+            gpios = <&gpio4 14 GPIO_ACTIVE_HIGH>; /* 110 */
+            default-state = "on";
+        };
+    };
+};
+&gpmc {
+    ranges = <0 0 0x30000000 0x1000000    /* CS0 space, 16MB */
+          255 0 0x6e000000 0x02d4>;    /* register space */
+
+    /* Chip select 0 */
+    nand@0,0 {
+        compatible = "ti,omap2-nand";
+        reg = <0 0 4        /* NAND I/O window, 4 bytes */
+               255 0 0x02d4>;    /* GPMC register space */
+        interrupts = <20>;
+        ti,nand-ecc-opt = "bch4";
+        nand-bus-width = <16>;
+        #address-cells = <1>;
+        #size-cells = <1>;
+
+        gpmc,cs-on-ns = <0>;
+        gpmc,cs-rd-off-ns = <36>;
+        gpmc,cs-wr-off-ns = <36>;
+        gpmc,adv-on-ns = <6>;
+        gpmc,adv-rd-off-ns = <24>;
+        gpmc,adv-wr-off-ns = <36>;
+        gpmc,oe-on-ns = <6>;
+        gpmc,oe-off-ns = <48>;
+        gpmc,we-on-ns = <6>;
+        gpmc,we-off-ns = <30>;
+        gpmc,rd-cycle-ns = <72>;
+        gpmc,wr-cycle-ns = <72>;
+        gpmc,access-ns = <54>;
+        gpmc,wr-access-ns = <30>;
+
+        partition@0 {
+            label = "X-Loader";
+            reg = <0 0x40000>;
+        };
+        partition@40000 {
+            label = "U-Boot";
+            reg = <0x40000 0x100000>;
+        };
+        partition@100000 {
+            label = "U-Boot Env";
+            reg = <0x100000 0x120000>;
+        };
+        partition@120000 {
+            label = "dt";
+            reg = <0x120000 0x140000>;
+        };
+        partition@140000 {
+            label = "Kernel";
+            reg = <0x140000 0xB40000>;
+        };
+        partition@B40000 {
+            label = "Filesystem";
+            reg = <0xB40000 0xf4c0000>;
+        };
+    };
+};
+&usbhshost {
+    status = "disabled";
+};
+&omap3_pmx_core {
+        mmc1_pins: pinmux_mmc1_pins {
+        pinctrl-single,pins = <
+            OMAP3_CORE1_IOPAD(0x2144, PIN_INPUT_PULLUP | MUX_MODE0)    /* sdmmc1_clk.sdmmc1_clk */ +            OMAP3_CORE1_IOPAD(0x2146, PIN_INPUT_PULLUP | MUX_MODE0)    /* sdmmc1_cmd.sdmmc1_cmd */ +            OMAP3_CORE1_IOPAD(0x2148, PIN_INPUT_PULLUP | MUX_MODE0)    /* sdmmc1_dat0.sdmmc1_dat0 */ +            OMAP3_CORE1_IOPAD(0x214a, PIN_INPUT_PULLUP | MUX_MODE0)    /* sdmmc1_dat1.sdmmc1_dat1 */ +            OMAP3_CORE1_IOPAD(0x214c, PIN_INPUT_PULLUP | MUX_MODE0)    /* sdmmc1_dat2.sdmmc1_dat2 */ +            OMAP3_CORE1_IOPAD(0x214e, PIN_INPUT_PULLUP | MUX_MODE0)    /* sdmmc1_dat3.sdmmc1_dat3 */
+        >;
+    };
+    wd_pins: pinmux_wd_pins {
+        pinctrl-single,pins = <
+            OMAP3_CORE1_IOPAD(0x213e, PIN_OUTPUT | MUX_MODE4)    // CONTROL_PADCONF_MCBSP2_CLKX    0x013E
+        >;
+    };
+    i2c1_pins: pinmux_i2c1_pins {
+        pinctrl-single,pins = <
+            OMAP3_CORE1_IOPAD(0x21ba, PIN_INPUT_PULLUP | MUX_MODE0)    /* i2c1_scl */ +            OMAP3_CORE1_IOPAD(0x21bc, PIN_INPUT_PULLUP | MUX_MODE0)    /* i2c1_sda */
+        >;
+    };
+    hsusb0_pins: pinmux_hsusb0_pins {
+        pinctrl-single,pins = <
+            OMAP3_CORE1_IOPAD(0x21a2, PIN_INPUT_PULLDOWN | MUX_MODE0)        /* hsusb0_clk.hsusb0_clk */ +            OMAP3_CORE1_IOPAD(0x21a4, PIN_OUTPUT | MUX_MODE0)     /* hsusb0_stp.hsusb0_stp */ +            OMAP3_CORE1_IOPAD(0x21a6, PIN_INPUT_PULLDOWN | MUX_MODE0)    /* hsusb0_dir.hsusb0_dir */ +            OMAP3_CORE1_IOPAD(0x21a8, PIN_INPUT_PULLDOWN | MUX_MODE0)    /* hsusb0_nxt.hsusb0_nxt */ +            OMAP3_CORE1_IOPAD(0x21aa, PIN_INPUT_PULLDOWN | MUX_MODE0)    /* hsusb0_data0.hsusb2_data0 */ +            OMAP3_CORE1_IOPAD(0x21ac, PIN_INPUT_PULLDOWN | MUX_MODE0)    /* hsusb0_data1.hsusb0_data1 */ +            OMAP3_CORE1_IOPAD(0x21ae, PIN_INPUT_PULLDOWN | MUX_MODE0)    /* hsusb0_data2.hsusb0_data2 */ +            OMAP3_CORE1_IOPAD(0x21b0, PIN_INPUT_PULLDOWN | MUX_MODE0)    /* hsusb0_data7.hsusb0_data3 */ +            OMAP3_CORE1_IOPAD(0x21b2, PIN_INPUT_PULLDOWN | MUX_MODE0)    /* hsusb0_data7.hsusb0_data4 */ +            OMAP3_CORE1_IOPAD(0x21b4, PIN_INPUT_PULLDOWN | MUX_MODE0)    /* hsusb0_data7.hsusb0_data5 */ +            OMAP3_CORE1_IOPAD(0x21b6, PIN_INPUT_PULLDOWN | MUX_MODE0)    /* hsusb0_data7.hsusb0_data6 */ +            OMAP3_CORE1_IOPAD(0x21b8, PIN_INPUT_PULLDOWN | MUX_MODE0)    /* hsusb0_data7.hsusb0_data7 */
+        >;
+    };
+    led_pins: pinmux_led_pins {
+        pinctrl-single,pins = <
+            OMAP3_CORE1_IOPAD(0x211a, PIN_OUTPUT | MUX_MODE4)    /* gpio101*/ +            OMAP3_CORE1_IOPAD(0x211c, PIN_OUTPUT | MUX_MODE4)    /* gpio102*/ +            OMAP3_CORE1_IOPAD(0x211e, PIN_OUTPUT | MUX_MODE4)    /* gpio103 */ +            OMAP3_CORE1_IOPAD(0x2120, PIN_OUTPUT | MUX_MODE4)    /* gpio103 */
+        >;
+    };
+        gpio_pins: pinmux_gpio_pins {
+        pinctrl-single,pins = <
+            OMAP3_CORE1_IOPAD(0x2122, PIN_INPUT | MUX_MODE4)    /* gpio105 spontanmeldung*/ +            OMAP3_CORE1_IOPAD(0x212c, PIN_OUTPUT | MUX_MODE4)    /* gpio110 usb2_en*/
+            OMAP3_CORE1_IOPAD(0x218C, PIN_OUTPUT | MUX_MODE4)    /* GPO0*/
+            OMAP3_CORE1_IOPAD(0x218E, PIN_OUTPUT | MUX_MODE4)    /* GPO1*/
+            OMAP3_CORE1_IOPAD(0x2190, PIN_OUTPUT | MUX_MODE4)    /* GPO2*/
+            OMAP3_CORE1_IOPAD(0x2192, PIN_OUTPUT | MUX_MODE4)    /* GPO3*/
+            OMAP3_CORE1_IOPAD(0x2194, PIN_OUTPUT | MUX_MODE4)    /* GPO4*/
+            OMAP3_CORE1_IOPAD(0x2196, PIN_OUTPUT | MUX_MODE4)    /* GPO5*/
+            OMAP3_CORE1_IOPAD(0x2198, PIN_OUTPUT | MUX_MODE4)    /* GPO6*/
+            OMAP3_CORE1_IOPAD(0x2116, PIN_INPUT | MUX_MODE4) //IN1
+            OMAP3_CORE1_IOPAD(0x2118, PIN_INPUT | MUX_MODE4) //IN2
+            OMAP3_CORE1_IOPAD(0x2124, PIN_INPUT | MUX_MODE4) //IN3
+            OMAP3_CORE1_IOPAD(0x2126, PIN_INPUT | MUX_MODE4) //IN4
+            OMAP3_CORE1_IOPAD(0x2128, PIN_INPUT | MUX_MODE4) //IN5
+            OMAP3_CORE1_IOPAD(0x25F4, PIN_OUTPUT | MUX_MODE4)    /* RES_RS232*/ +            OMAP3_CORE1_IOPAD(0x25F6, PIN_OUTPUT | MUX_MODE4)    /* HUB_RESET*/
+
+        >;
+    };
+};
+&i2c1 {
+    pinctrl-names = "default";
+    pinctrl-0 = <&i2c1_pins>;
+
+    clock-frequency = <100000>;
+    twl: twl@48 {
+        reg = <0x48>;
+        interrupts = <7>; /* SYS_NIRQ cascaded to intc */
+        interrupt-parent = <&intc>;
+        clocks = <&hfclk_19m2>;
+        clock-names = "fck";
+        twl_power: power {
+            compatible = "ti,twl4030-power";
+            ti,system-power-controller;
+        };
+    };
+};
+&i2c2 {
+    clock-frequency = <100000>;
+    rtc8564: rtc8564@51 {
+        compatible = "epson,rtc8564";
+        reg = <0x51>;
+        #clock-cells = <0>;
+    };
+};
+&i2c3 {
+    clock-frequency = <100000>;
+};
+#include "twl4030.dtsi"
+#include "twl4030_omap3.dtsi"
+&mmc1 {
+    vmmc-supply = <&vmmc1>;
+    vqmmc-supply = <&vsim>;
+    bus-width = <4>;
+};
+&mmc2 {
+    status = "disabled";
+};
+
+&mmc3 {
+    status = "disabled";
+};
+&uart1 {
+    pinctrl-names = "default";
+};
+&uart2 {
+    pinctrl-names = "default";
+};
+&uart3 {
+    pinctrl-names = "default";
+};
+&usb_otg_hs {
+    pinctrl-names = "default";
+    pinctrl-0 = <&hsusb0_pins>;
+    num-eps = <16>;
+    ram-bits = <12>;
+    interface-type = <0>;
+    usb-phy = <&usb2_phy>;
+    phys = <&usb2_phy>;
+    phy-names = "usb2-phy";
+    mode = <1>;
+    power = <500>;
+};
+
+&iva {
+    status = "disabled";
+};
+
+&sgx_module {
+    status = "disabled";
+};
+&vaux2 {
+    regulator-name = "usb_1v8";
+    regulator-min-microvolt = <1800000>;
+    regulator-max-microvolt = <1800000>;
+    regulator-always-on;
+};
--
2.25.1




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux