diff --git a/board/myna-player-odyssey/rootfs_patches/linux/000-dt-vendor-prefixes.patch b/board/myna-player-odyssey/rootfs_patches/linux/000-dt-vendor-prefixes.patch deleted file mode 100644 index 526d85d..0000000 --- a/board/myna-player-odyssey/rootfs_patches/linux/000-dt-vendor-prefixes.patch +++ /dev/null @@ -1,30 +0,0 @@ -From fd0ef066c3187ba067c954d704c93d43706887d6 Mon Sep 17 00:00:00 2001 -From: Marcin Sloniewski -Date: Sun, 9 Aug 2020 18:44:48 +0200 -Subject: [PATCH 1/7] dt-bindings: vendor-prefixes: add Seeed Studio - -Add the "seeed" vendor prefix for Seeed Technology Co., Ltd -Website: https://www.seeedstudio.com/ - -Signed-off-by: Marcin Sloniewski -Acked-by: Rob Herring ---- - Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml -index 9aeab66be85f..7dd03b3e9d3c 100644 ---- a/Documentation/devicetree/bindings/vendor-prefixes.yaml -+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml -@@ -902,6 +902,8 @@ patternProperties: - description: Schindler - "^seagate,.*": - description: Seagate Technology PLC -+ "^seeed,.*": -+ description: Seeed Technology Co., Ltd - "^seirobotics,.*": - description: Shenzhen SEI Robotics Co., Ltd - "^semtech,.*": --- -2.20.1 - diff --git a/board/myna-player-odyssey/rootfs_patches/linux/001-dt-document-vendor-prefixes.patch b/board/myna-player-odyssey/rootfs_patches/linux/001-dt-document-vendor-prefixes.patch deleted file mode 100644 index 2629e6a..0000000 --- a/board/myna-player-odyssey/rootfs_patches/linux/001-dt-document-vendor-prefixes.patch +++ /dev/null @@ -1,31 +0,0 @@ -From faec90aac9be0611a4f63a9b13df74b0657b3732 Mon Sep 17 00:00:00 2001 -From: Marcin Sloniewski -Date: Sun, 9 Aug 2020 18:44:49 +0200 -Subject: [PATCH 2/7] dt-bindings: arm: stm32: document Odyssey compatible - -Document device tree bindings of Seeed SoM and carrier board. - -Signed-off-by: Marcin Sloniewski -Reviewed-by: Rob Herring ---- - Documentation/devicetree/bindings/arm/stm32/stm32.yaml | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/Documentation/devicetree/bindings/arm/stm32/stm32.yaml b/Documentation/devicetree/bindings/arm/stm32/stm32.yaml -index 790e6dd48e34..3b318fe15194 100644 ---- a/Documentation/devicetree/bindings/arm/stm32/stm32.yaml -+++ b/Documentation/devicetree/bindings/arm/stm32/stm32.yaml -@@ -50,4 +50,10 @@ properties: - - const: st,stm32mp157c-ev1 - - const: st,stm32mp157c-ed1 - - const: st,stm32mp157 -+ - description: Odyssey STM32MP1 SoM based Boards -+ items: -+ - enum: -+ - seeed,stm32mp157c-odyssey -+ - const: seeed,stm32mp157c-odyssey-som -+ - const: st,stm32mp157 - ... --- -2.20.1 - diff --git a/board/myna-player-odyssey/rootfs_patches/linux/002-dt-stm32mp157c-odyssey.patch b/board/myna-player-odyssey/rootfs_patches/linux/002-dt-stm32mp157c-odyssey.patch deleted file mode 100644 index a571b6f..0000000 --- a/board/myna-player-odyssey/rootfs_patches/linux/002-dt-stm32mp157c-odyssey.patch +++ /dev/null @@ -1,439 +0,0 @@ -From b70a4f521d1d0c09e18f4e60c99b7e9017908f41 Mon Sep 17 00:00:00 2001 -From: Marcin Sloniewski -Date: Sun, 9 Aug 2020 18:44:50 +0200 -Subject: [PATCH 3/7] ARM: dts: stm32: add initial support for - stm32mp157-odyssey board - -Add support for Seeed Studio's stm32mp157c odyssey board. -Board consists of SoM with stm32mp157c with 4GB eMMC and 512 MB DDR3 RAM -and carrier board with USB and ETH interfaces, SD card connector, -wifi and BT chip AP6236. - -In this patch only basic kernel boot is supported and interfacing -SD card and on-board eMMC. - -Signed-off-by: Marcin Sloniewski -Reviewed-by: Ahmad Fatoum ---- - arch/arm/boot/dts/Makefile | 3 +- - arch/arm/boot/dts/stm32mp15-pinctrl.dtsi | 18 ++ - .../arm/boot/dts/stm32mp157c-odyssey-som.dtsi | 276 ++++++++++++++++++ - arch/arm/boot/dts/stm32mp157c-odyssey.dts | 80 +++++ - 4 files changed, 376 insertions(+), 1 deletion(-) - create mode 100644 arch/arm/boot/dts/stm32mp157c-odyssey-som.dtsi - create mode 100644 arch/arm/boot/dts/stm32mp157c-odyssey.dts - -diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile -index e6a1cac0bfc7..a3ea2301c82c 100644 ---- a/arch/arm/boot/dts/Makefile -+++ b/arch/arm/boot/dts/Makefile -@@ -1047,7 +1047,8 @@ dtb-$(CONFIG_ARCH_STM32) += \ - stm32mp157c-dk2.dtb \ - stm32mp157c-ed1.dtb \ - stm32mp157c-ev1.dtb \ -- stm32mp157c-lxa-mc1.dtb -+ stm32mp157c-lxa-mc1.dtb \ -+ stm32mp157c-odyssey.dtb - dtb-$(CONFIG_MACH_SUN4I) += \ - sun4i-a10-a1000.dtb \ - sun4i-a10-ba10-tvbox.dtb \ -diff --git a/arch/arm/boot/dts/stm32mp15-pinctrl.dtsi b/arch/arm/boot/dts/stm32mp15-pinctrl.dtsi -index 7eb858732d6d..2f75b631feac 100644 ---- a/arch/arm/boot/dts/stm32mp15-pinctrl.dtsi -+++ b/arch/arm/boot/dts/stm32mp15-pinctrl.dtsi -@@ -1438,6 +1438,24 @@ - }; - }; - -+ sdmmc2_d47_pins_d: sdmmc2-d47-3 { -+ pins { -+ pinmux = , /* SDMMC2_D4 */ -+ , /* SDMMC2_D5 */ -+ , /* SDMMC2_D6 */ -+ ; /* SDMMC2_D7 */ -+ }; -+ }; -+ -+ sdmmc2_d47_sleep_pins_d: sdmmc2-d47-sleep-3 { -+ pins { -+ pinmux = , /* SDMMC2_D4 */ -+ , /* SDMMC2_D5 */ -+ , /* SDMMC2_D6 */ -+ ; /* SDMMC2_D7 */ -+ }; -+ }; -+ - sdmmc3_b4_pins_a: sdmmc3-b4-0 { - pins1 { - pinmux = , /* SDMMC3_D0 */ -diff --git a/arch/arm/boot/dts/stm32mp157c-odyssey-som.dtsi b/arch/arm/boot/dts/stm32mp157c-odyssey-som.dtsi -new file mode 100644 -index 000000000000..6cf49a0a9e69 ---- /dev/null -+++ b/arch/arm/boot/dts/stm32mp157c-odyssey-som.dtsi -@@ -0,0 +1,276 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) -+/* -+ * Copyright (C) 2020 Marcin Sloniewski . -+ */ -+ -+/dts-v1/; -+ -+#include "stm32mp157.dtsi" -+#include "stm32mp15xc.dtsi" -+#include "stm32mp15-pinctrl.dtsi" -+#include "stm32mp15xxac-pinctrl.dtsi" -+#include -+#include -+#include -+ -+/ { -+ model = "Seeed Studio Odyssey-STM32MP157C SOM"; -+ compatible = "seeed,stm32mp157c-odyssey-som", "st,stm32mp157"; -+ -+ memory@c0000000 { -+ device_type = "memory"; -+ reg = <0xc0000000 0x20000000>; -+ }; -+ -+ reserved-memory { -+ #address-cells = <1>; -+ #size-cells = <1>; -+ ranges; -+ -+ mcuram2: mcuram2@10000000 { -+ compatible = "shared-dma-pool"; -+ reg = <0x10000000 0x40000>; -+ no-map; -+ }; -+ -+ vdev0vring0: vdev0vring0@10040000 { -+ compatible = "shared-dma-pool"; -+ reg = <0x10040000 0x1000>; -+ no-map; -+ }; -+ -+ vdev0vring1: vdev0vring1@10041000 { -+ compatible = "shared-dma-pool"; -+ reg = <0x10041000 0x1000>; -+ no-map; -+ }; -+ -+ vdev0buffer: vdev0buffer@10042000 { -+ compatible = "shared-dma-pool"; -+ reg = <0x10042000 0x4000>; -+ no-map; -+ }; -+ -+ mcuram: mcuram@30000000 { -+ compatible = "shared-dma-pool"; -+ reg = <0x30000000 0x40000>; -+ no-map; -+ }; -+ -+ retram: retram@38000000 { -+ compatible = "shared-dma-pool"; -+ reg = <0x38000000 0x10000>; -+ no-map; -+ }; -+ -+ gpu_reserved: gpu@d4000000 { -+ reg = <0xd4000000 0x4000000>; -+ no-map; -+ }; -+ }; -+ -+ led { -+ compatible = "gpio-leds"; -+ led-blue { -+ color = ; -+ function = LED_FUNCTION_HEARTBEAT; -+ gpios = <&gpiog 3 GPIO_ACTIVE_HIGH>; -+ linux,default-trigger = "heartbeat"; -+ }; -+ }; -+}; -+ -+&gpu { -+ contiguous-area = <&gpu_reserved>; -+ status = "okay"; -+}; -+ -+&i2c2 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&i2c2_pins_a>; -+ i2c-scl-rising-time-ns = <185>; -+ i2c-scl-falling-time-ns = <20>; -+ status = "okay"; -+ /* spare dmas for other usage */ -+ /delete-property/dmas; -+ /delete-property/dma-names; -+ -+ pmic: stpmic@33 { -+ compatible = "st,stpmic1"; -+ reg = <0x33>; -+ interrupts-extended = <&gpioa 0 IRQ_TYPE_EDGE_FALLING>; -+ interrupt-controller; -+ #interrupt-cells = <2>; -+ -+ regulators { -+ compatible = "st,stpmic1-regulators"; -+ ldo1-supply = <&v3v3>; -+ ldo3-supply = <&vdd_ddr>; -+ ldo6-supply = <&v3v3>; -+ pwr_sw1-supply = <&bst_out>; -+ pwr_sw2-supply = <&bst_out>; -+ -+ vddcore: buck1 { -+ regulator-name = "vddcore"; -+ regulator-min-microvolt = <800000>; -+ regulator-max-microvolt = <1350000>; -+ regulator-always-on; -+ regulator-initial-mode = <0>; -+ regulator-over-current-protection; -+ }; -+ -+ vdd_ddr: buck2 { -+ regulator-name = "vdd_ddr"; -+ regulator-min-microvolt = <1350000>; -+ regulator-max-microvolt = <1350000>; -+ regulator-always-on; -+ regulator-initial-mode = <0>; -+ regulator-over-current-protection; -+ }; -+ -+ vdd: buck3 { -+ regulator-name = "vdd"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-always-on; -+ st,mask-reset; -+ regulator-initial-mode = <0>; -+ regulator-over-current-protection; -+ }; -+ -+ v3v3: buck4 { -+ regulator-name = "v3v3"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-always-on; -+ regulator-over-current-protection; -+ regulator-initial-mode = <0>; -+ }; -+ -+ v1v8_audio: ldo1 { -+ regulator-name = "v1v8_audio"; -+ regulator-min-microvolt = <1800000>; -+ regulator-max-microvolt = <1800000>; -+ regulator-always-on; -+ interrupts = ; -+ }; -+ -+ v3v3_hdmi: ldo2 { -+ regulator-name = "v3v3_hdmi"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ regulator-always-on; -+ interrupts = ; -+ }; -+ -+ vtt_ddr: ldo3 { -+ regulator-name = "vtt_ddr"; -+ regulator-min-microvolt = <500000>; -+ regulator-max-microvolt = <750000>; -+ regulator-always-on; -+ regulator-over-current-protection; -+ }; -+ -+ vdd_usb: ldo4 { -+ regulator-name = "vdd_usb"; -+ regulator-min-microvolt = <3300000>; -+ regulator-max-microvolt = <3300000>; -+ interrupts = ; -+ }; -+ -+ vdda: ldo5 { -+ regulator-name = "vdda"; -+ regulator-min-microvolt = <2900000>; -+ regulator-max-microvolt = <2900000>; -+ interrupts = ; -+ regulator-boot-on; -+ }; -+ -+ v1v2_hdmi: ldo6 { -+ regulator-name = "v1v2_hdmi"; -+ regulator-min-microvolt = <1200000>; -+ regulator-max-microvolt = <1200000>; -+ regulator-always-on; -+ interrupts = ; -+ }; -+ -+ vref_ddr: vref_ddr { -+ regulator-name = "vref_ddr"; -+ regulator-always-on; -+ regulator-over-current-protection; -+ }; -+ -+ bst_out: boost { -+ regulator-name = "bst_out"; -+ interrupts = ; -+ }; -+ -+ vbus_otg: pwr_sw1 { -+ regulator-name = "vbus_otg"; -+ interrupts = ; -+ }; -+ -+ vbus_sw: pwr_sw2 { -+ regulator-name = "vbus_sw"; -+ interrupts = ; -+ regulator-active-discharge; -+ }; -+ }; -+ -+ onkey { -+ compatible = "st,stpmic1-onkey"; -+ interrupts = , ; -+ interrupt-names = "onkey-falling", "onkey-rising"; -+ power-off-time-sec = <10>; -+ }; -+ -+ watchdog { -+ compatible = "st,stpmic1-wdt"; -+ status = "disabled"; -+ }; -+ }; -+}; -+ -+&ipcc { -+ status = "okay"; -+}; -+ -+&iwdg2 { -+ timeout-sec = <32>; -+ status = "okay"; -+}; -+ -+&m4_rproc { -+ memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>, -+ <&vdev0vring1>, <&vdev0buffer>; -+ mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>; -+ mbox-names = "vq0", "vq1", "shutdown"; -+ interrupt-parent = <&exti>; -+ interrupts = <68 1>; -+ status = "okay"; -+}; -+ -+&rng1 { -+ status = "okay"; -+}; -+ -+&rtc { -+ status = "okay"; -+}; -+ -+&sdmmc2 { -+ pinctrl-names = "default", "opendrain", "sleep"; -+ pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_d>; -+ pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_d47_pins_d>; -+ pinctrl-2 = <&sdmmc2_b4_sleep_pins_a &sdmmc2_d47_sleep_pins_d>; -+ non-removable; -+ no-sd; -+ no-sdio; -+ st,neg-edge; -+ bus-width = <8>; -+ vmmc-supply = <&v3v3>; -+ vqmmc-supply = <&v3v3>; -+ mmc-ddr-3_3v; -+ status = "okay"; -+}; -+ -diff --git a/arch/arm/boot/dts/stm32mp157c-odyssey.dts b/arch/arm/boot/dts/stm32mp157c-odyssey.dts -new file mode 100644 -index 000000000000..a7ffec8f1516 ---- /dev/null -+++ b/arch/arm/boot/dts/stm32mp157c-odyssey.dts -@@ -0,0 +1,80 @@ -+// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) -+/* -+ * Copyright (C) 2020 Marcin Sloniewski . -+ */ -+ -+/dts-v1/; -+ -+#include "stm32mp157c-odyssey-som.dtsi" -+ -+/ { -+ model = "Seeed Studio Odyssey-STM32MP157C Board"; -+ compatible = "seeed,stm32mp157c-odyssey", -+ "seeed,stm32mp157c-odyssey-som", "st,stm32mp157"; -+ -+ aliases { -+ ethernet0 = ðernet0; -+ serial0 = &uart4; -+ }; -+ -+ chosen { -+ stdout-path = "serial0:115200n8"; -+ }; -+}; -+ -+ðernet0 { -+ status = "okay"; -+ pinctrl-0 = <ðernet0_rgmii_pins_a>; -+ pinctrl-1 = <ðernet0_rgmii_sleep_pins_a>; -+ pinctrl-names = "default", "sleep"; -+ phy-mode = "rgmii-id"; -+ max-speed = <1000>; -+ phy-handle = <&phy0>; -+ assigned-clocks = <&rcc ETHCK_K>, <&rcc PLL4_P>; -+ assigned-clock-parents = <&rcc PLL4_P>; -+ assigned-clock-rates = <125000000>; /* Clock PLL4 to 750Mhz in ATF/U-Boot */ -+ st,eth-clk-sel; -+ -+ mdio0 { -+ #address-cells = <1>; -+ #size-cells = <0>; -+ compatible = "snps,dwmac-mdio"; -+ phy0: ethernet-phy@7 { /* KSZ9031RN */ -+ reg = <7>; -+ reset-gpios = <&gpiog 0 GPIO_ACTIVE_LOW>; /* ETH_RST# */ -+ reset-assert-us = <10000>; -+ reset-deassert-us = <300>; -+ }; -+ }; -+}; -+ -+&i2c1 { -+ pinctrl-names = "default", "sleep"; -+ pinctrl-0 = <&i2c1_pins_a>; -+ pinctrl-1 = <&i2c1_sleep_pins_a>; -+ i2c-scl-rising-time-ns = <100>; -+ i2c-scl-falling-time-ns = <7>; -+ status = "okay"; -+ /delete-property/dmas; -+ /delete-property/dma-names; -+}; -+ -+&sdmmc1 { -+ pinctrl-names = "default", "opendrain", "sleep"; -+ pinctrl-0 = <&sdmmc1_b4_pins_a>; -+ pinctrl-1 = <&sdmmc1_b4_od_pins_a>; -+ pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>; -+ cd-gpios = <&gpiob 7 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; -+ disable-wp; -+ st,neg-edge; -+ bus-width = <4>; -+ vmmc-supply = <&v3v3>; -+ status = "okay"; -+}; -+ -+&uart4 { -+ pinctrl-names = "default"; -+ pinctrl-0 = <&uart4_pins_a>; -+ status = "okay"; -+}; -+ --- -2.20.1 -