diff --git a/board/myna-player-odyssey/configs/linux.config b/board/myna-player-odyssey/configs/linux.config index db91319..1c65597 100644 --- a/board/myna-player-odyssey/configs/linux.config +++ b/board/myna-player-odyssey/configs/linux.config @@ -44,7 +44,6 @@ CONFIG_THUMB2_KERNEL=y CONFIG_HIGHMEM=y CONFIG_FORCE_MAX_ZONEORDER=12 -CONFIG_SECCOMP=y CONFIG_CPU_FREQ=y CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y CONFIG_CPU_FREQ_GOV_POWERSAVE=y @@ -291,11 +290,11 @@ # CONFIG_NET_VENDOR_VIA is not set # CONFIG_NET_VENDOR_WIZNET is not set # CONFIG_NET_VENDOR_XILINX is not set -CONFIG_MDIO_BCM_UNIMAC=m -CONFIG_MDIO_BITBANG=m CONFIG_PHYLIB=y CONFIG_MICREL_PHY=m -# CONFIG_USB_NET_DRIVERS is not set +CONFIG_MDIO_BITBANG=m +CONFIG_MDIO_BCM_UNIMAC=m +CONFIG_USB_USBNET=m # CONFIG_WLAN_VENDOR_ADMTEK is not set # CONFIG_WLAN_VENDOR_ATH is not set # CONFIG_WLAN_VENDOR_ATMEL is not set @@ -518,7 +517,6 @@ CONFIG_USB_SERIAL_SYMBOL=m CONFIG_USB_SERIAL_TI=m CONFIG_USB_SERIAL_CYBERJACK=m -CONFIG_USB_SERIAL_XIRCOM=m CONFIG_USB_SERIAL_OPTION=m CONFIG_USB_SERIAL_OMNINET=m CONFIG_USB_SERIAL_OPTICON=m @@ -611,7 +609,6 @@ CONFIG_SYNC_FILE=y # CONFIG_VIRTIO_MENU is not set # CONFIG_VHOST_MENU is not set -CONFIG_CLK_QORIQ=y CONFIG_HWSPINLOCK=y CONFIG_HWSPINLOCK_STM32=y CONFIG_PL320_MBOX=y 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/0001-stm32mp157c-odyssey-Fix-i2c1-pinctrl.patch b/board/myna-player-odyssey/rootfs_patches/linux/0001-stm32mp157c-odyssey-Fix-i2c1-pinctrl.patch new file mode 100644 index 0000000..1b66bb8 --- /dev/null +++ b/board/myna-player-odyssey/rootfs_patches/linux/0001-stm32mp157c-odyssey-Fix-i2c1-pinctrl.patch @@ -0,0 +1,27 @@ +From e708bdd272400f1442cb1a875c6ae608fe63b7af Mon Sep 17 00:00:00 2001 +From: Jookia +Date: Wed, 12 Aug 2020 00:17:03 +1000 +Subject: [PATCH 1/9] stm32mp157c-odyssey: Fix i2c1 pinctrl + +--- + arch/arm/boot/dts/stm32mp157c-odyssey.dts | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/arch/arm/boot/dts/stm32mp157c-odyssey.dts b/arch/arm/boot/dts/stm32mp157c-odyssey.dts +index a7ffec8f1516..027aaa441e4f 100644 +--- a/arch/arm/boot/dts/stm32mp157c-odyssey.dts ++++ b/arch/arm/boot/dts/stm32mp157c-odyssey.dts +@@ -50,8 +50,8 @@ phy0: ethernet-phy@7 { /* KSZ9031RN */ + + &i2c1 { + pinctrl-names = "default", "sleep"; +- pinctrl-0 = <&i2c1_pins_a>; +- pinctrl-1 = <&i2c1_sleep_pins_a>; ++ pinctrl-0 = <&i2c1_pins_b>; ++ pinctrl-1 = <&i2c1_sleep_pins_b>; + i2c-scl-rising-time-ns = <100>; + i2c-scl-falling-time-ns = <7>; + status = "okay"; +-- +2.29.2 + diff --git a/board/myna-player-odyssey/rootfs_patches/linux/0002-stm32mp157c-odyssey-Add-i2c4-support.patch b/board/myna-player-odyssey/rootfs_patches/linux/0002-stm32mp157c-odyssey-Add-i2c4-support.patch new file mode 100644 index 0000000..21d1c45 --- /dev/null +++ b/board/myna-player-odyssey/rootfs_patches/linux/0002-stm32mp157c-odyssey-Add-i2c4-support.patch @@ -0,0 +1,59 @@ +From d169a926726cf0a6aef2ce8c594224899629b7c8 Mon Sep 17 00:00:00 2001 +From: Jookia +Date: Wed, 12 Aug 2020 00:19:06 +1000 +Subject: [PATCH 2/9] stm32mp157c-odyssey: Add i2c4 support + +--- + arch/arm/boot/dts/stm32mp15-pinctrl.dtsi | 17 +++++++++++++++++ + arch/arm/boot/dts/stm32mp157c-odyssey.dts | 10 ++++++++++ + 2 files changed, 27 insertions(+) + +diff --git a/arch/arm/boot/dts/stm32mp15-pinctrl.dtsi b/arch/arm/boot/dts/stm32mp15-pinctrl.dtsi +index d84686e00370..b2329d29a2dc 100644 +--- a/arch/arm/boot/dts/stm32mp15-pinctrl.dtsi ++++ b/arch/arm/boot/dts/stm32mp15-pinctrl.dtsi +@@ -432,6 +432,23 @@ pins { + }; + }; + ++ i2c4_pins_s: i2c4-0 { ++ pins { ++ pinmux = , /* I2C4_SCL */ ++ ; /* I2C4_SDA */ ++ bias-disable; ++ drive-open-drain; ++ slew-rate = <0>; ++ }; ++ }; ++ ++ i2c4_pins_sleep_s: i2c4-1 { ++ pins { ++ pinmux = , /* I2C4_SCL */ ++ ; /* I2C4_SDA */ ++ }; ++ }; ++ + i2c5_pins_a: i2c5-0 { + pins { + pinmux = , /* I2C5_SCL */ +diff --git a/arch/arm/boot/dts/stm32mp157c-odyssey.dts b/arch/arm/boot/dts/stm32mp157c-odyssey.dts +index 027aaa441e4f..f9861e8fdb3a 100644 +--- a/arch/arm/boot/dts/stm32mp157c-odyssey.dts ++++ b/arch/arm/boot/dts/stm32mp157c-odyssey.dts +@@ -78,3 +78,13 @@ &uart4 { + status = "okay"; + }; + ++&i2c4 { ++ pinctrl-names = "default", "sleep"; ++ pinctrl-0 = <&i2c4_pins_s>; ++ pinctrl-1 = <&i2c4_pins_sleep_s>; ++ i2c-scl-rising-time-ns = <185>; ++ i2c-scl-falling-time-ns = <20>; ++ status = "okay"; ++ /delete-property/dmas; ++ /delete-property/dma-names; ++}; +-- +2.29.2 + diff --git a/board/myna-player-odyssey/rootfs_patches/linux/0003-stm32mp157c-odyssey-Add-Wi-Fi.patch b/board/myna-player-odyssey/rootfs_patches/linux/0003-stm32mp157c-odyssey-Add-Wi-Fi.patch new file mode 100644 index 0000000..f07944f --- /dev/null +++ b/board/myna-player-odyssey/rootfs_patches/linux/0003-stm32mp157c-odyssey-Add-Wi-Fi.patch @@ -0,0 +1,121 @@ +From 4521bf754777c223b6c7bcceda7f01c057a07cee Mon Sep 17 00:00:00 2001 +From: Jookia +Date: Wed, 12 Aug 2020 00:28:50 +1000 +Subject: [PATCH 3/9] stm32mp157c-odyssey: Add Wi-Fi + +--- + arch/arm/boot/dts/stm32mp15-pinctrl.dtsi | 54 +++++++++++++++++++++++ + arch/arm/boot/dts/stm32mp157c-odyssey.dts | 25 +++++++++++ + 2 files changed, 79 insertions(+) + +diff --git a/arch/arm/boot/dts/stm32mp15-pinctrl.dtsi b/arch/arm/boot/dts/stm32mp15-pinctrl.dtsi +index b2329d29a2dc..1ab13fc1f5c6 100644 +--- a/arch/arm/boot/dts/stm32mp15-pinctrl.dtsi ++++ b/arch/arm/boot/dts/stm32mp15-pinctrl.dtsi +@@ -1580,6 +1580,60 @@ pins { + }; + }; + ++ sdmmc3_b4_pins_s: sdmmc3-b4-1 { ++ pins1 { ++ pinmux = , /* SDMMC3_D0 */ ++ , /* SDMMC3_D1 */ ++ , /* SDMMC3_D2 */ ++ , /* SDMMC3_D3 */ ++ ; /* SDMMC3_CMD */ ++ slew-rate = <1>; ++ drive-push-pull; ++ bias-pull-up; ++ }; ++ pins2 { ++ pinmux = ; /* SDMMC3_CLK */ ++ slew-rate = <2>; ++ drive-push-pull; ++ bias-pull-up; ++ }; ++ }; ++ ++ sdmmc3_b4_od_pins_s: sdmmc3-b4-od-1 { ++ pins1 { ++ pinmux = , /* SDMMC3_D0 */ ++ , /* SDMMC3_D1 */ ++ , /* SDMMC3_D2 */ ++ ; /* SDMMC3_D3 */ ++ slew-rate = <1>; ++ drive-push-pull; ++ bias-pull-up; ++ }; ++ pins2 { ++ pinmux = ; /* SDMMC3_CLK */ ++ slew-rate = <2>; ++ drive-push-pull; ++ bias-pull-up; ++ }; ++ pins3 { ++ pinmux = ; /* SDMMC2_CMD */ ++ slew-rate = <1>; ++ drive-open-drain; ++ bias-pull-up; ++ }; ++ }; ++ ++ sdmmc3_b4_sleep_pins_s: sdmmc3-b4-sleep-1 { ++ pins { ++ pinmux = , /* SDMMC3_D0 */ ++ , /* SDMMC3_D1 */ ++ , /* SDMMC3_D2 */ ++ , /* SDMMC3_D3 */ ++ , /* SDMMC3_CK */ ++ ; /* SDMMC3_CMD */ ++ }; ++ }; ++ + spdifrx_pins_a: spdifrx-0 { + pins { + pinmux = ; /* SPDIF_IN1 */ +diff --git a/arch/arm/boot/dts/stm32mp157c-odyssey.dts b/arch/arm/boot/dts/stm32mp157c-odyssey.dts +index f9861e8fdb3a..787c001fadef 100644 +--- a/arch/arm/boot/dts/stm32mp157c-odyssey.dts ++++ b/arch/arm/boot/dts/stm32mp157c-odyssey.dts +@@ -20,6 +20,12 @@ aliases { + chosen { + stdout-path = "serial0:115200n8"; + }; ++ ++ wifi_pwrseq: wifi-pwrseq { ++ compatible = "mmc-pwrseq-simple"; ++ reset-gpios = <&gpiod 9 GPIO_ACTIVE_LOW>; ++ post-power-on-delay-ms = <1>; ++ }; + }; + + ðernet0 { +@@ -72,6 +78,25 @@ &sdmmc1 { + status = "okay"; + }; + ++&sdmmc3 { ++ pinctrl-names = "default", "opendrain", "sleep"; ++ pinctrl-0 = <&sdmmc3_b4_pins_s>; ++ pinctrl-1 = <&sdmmc3_b4_od_pins_s>; ++ pinctrl-2 = <&sdmmc3_b4_sleep_pins_s>; ++ bus-width = <4>; ++ vmmc-supply = <&v3v3>; ++ mmc-pwrseq = <&wifi_pwrseq>; ++ status = "okay"; ++ keep-power-in-suspend; ++ ++ #address-cells = <1>; ++ #size-cells = <0>; ++ brcmf: bcrmf@1 { ++ reg = <1>; ++ compatible = "brcm,bcm4329-fmac"; ++ }; ++}; ++ + &uart4 { + pinctrl-names = "default"; + pinctrl-0 = <&uart4_pins_a>; +-- +2.29.2 + diff --git a/board/myna-player-odyssey/rootfs_patches/linux/0004-stm32mp157c-odyssey-Re-order-i2c-devices-for-Raspber.patch b/board/myna-player-odyssey/rootfs_patches/linux/0004-stm32mp157c-odyssey-Re-order-i2c-devices-for-Raspber.patch new file mode 100644 index 0000000..5863f3d --- /dev/null +++ b/board/myna-player-odyssey/rootfs_patches/linux/0004-stm32mp157c-odyssey-Re-order-i2c-devices-for-Raspber.patch @@ -0,0 +1,27 @@ +From ed903a0c9e8812b1ef6390505453e6bd3c5e0953 Mon Sep 17 00:00:00 2001 +From: Jookia +Date: Fri, 14 Aug 2020 13:15:17 +1000 +Subject: [PATCH 4/9] stm32mp157c-odyssey: Re-order i2c devices for Raspberry + Pi compatibility + +--- + arch/arm/boot/dts/stm32mp157c-odyssey.dts | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/arch/arm/boot/dts/stm32mp157c-odyssey.dts b/arch/arm/boot/dts/stm32mp157c-odyssey.dts +index 787c001fadef..c498d51c72ba 100644 +--- a/arch/arm/boot/dts/stm32mp157c-odyssey.dts ++++ b/arch/arm/boot/dts/stm32mp157c-odyssey.dts +@@ -15,6 +15,9 @@ / { + aliases { + ethernet0 = ðernet0; + serial0 = &uart4; ++ i2c0 = &i2c2; ++ i2c1 = &i2c4; /* RPi compatible */ ++ i2c2 = &i2c1; + }; + + chosen { +-- +2.29.2 + diff --git a/board/myna-player-odyssey/rootfs_patches/linux/0005-stm32mp157c-odyssey-enable-thermal-in-device-tree.patch b/board/myna-player-odyssey/rootfs_patches/linux/0005-stm32mp157c-odyssey-enable-thermal-in-device-tree.patch new file mode 100644 index 0000000..6231754 --- /dev/null +++ b/board/myna-player-odyssey/rootfs_patches/linux/0005-stm32mp157c-odyssey-enable-thermal-in-device-tree.patch @@ -0,0 +1,24 @@ +From 7f517f62d66ebe260f5010ddf10582f1ff67e794 Mon Sep 17 00:00:00 2001 +From: Xogium +Date: Fri, 1 Jan 2021 19:12:19 -0500 +Subject: [PATCH 5/9] stm32mp157c-odyssey: enable thermal in device tree. + +--- + arch/arm/boot/dts/stm32mp157c-odyssey.dts | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/arch/arm/boot/dts/stm32mp157c-odyssey.dts b/arch/arm/boot/dts/stm32mp157c-odyssey.dts +index c498d51c72ba..f9128b104ae9 100644 +--- a/arch/arm/boot/dts/stm32mp157c-odyssey.dts ++++ b/arch/arm/boot/dts/stm32mp157c-odyssey.dts +@@ -116,3 +116,7 @@ &i2c4 { + /delete-property/dmas; + /delete-property/dma-names; + }; ++ ++&dts { ++ status = "okay"; ++}; +-- +2.29.2 + diff --git a/board/myna-player-odyssey/rootfs_patches/linux/0006-stm32mp157c-odyssey-create-regulators-needed-for-usb.patch b/board/myna-player-odyssey/rootfs_patches/linux/0006-stm32mp157c-odyssey-create-regulators-needed-for-usb.patch new file mode 100644 index 0000000..b55b736 --- /dev/null +++ b/board/myna-player-odyssey/rootfs_patches/linux/0006-stm32mp157c-odyssey-create-regulators-needed-for-usb.patch @@ -0,0 +1,41 @@ +From 73722a8b3ddb85a81b304c389f1b9a1f68223dee Mon Sep 17 00:00:00 2001 +From: Xogium +Date: Thu, 7 Jan 2021 13:44:18 -0500 +Subject: [PATCH 1/4] stm32mp157c-odyssey: create regulators needed for usb + ports. + +The two regulators created in this patches set gpioh 13 and gpiof 8 to high, respectively. This should enable power for the usb ports. +--- + arch/arm/boot/dts/stm32mp157c-odyssey.dts | 16 ++++++++++++++++ + 1 file changed, 16 insertions(+) + +diff --git a/arch/arm/boot/dts/stm32mp157c-odyssey.dts b/arch/arm/boot/dts/stm32mp157c-odyssey.dts +index f9128b104ae9..73da983bd76a 100644 +--- a/arch/arm/boot/dts/stm32mp157c-odyssey.dts ++++ b/arch/arm/boot/dts/stm32mp157c-odyssey.dts +@@ -29,6 +29,22 @@ wifi_pwrseq: wifi-pwrseq { + reset-gpios = <&gpiod 9 GPIO_ACTIVE_LOW>; + post-power-on-delay-ms = <1>; + }; ++ ++ usb1vbus: fixed-regulator-usb1vbus { ++ compatible = "regulator-fixed"; ++ regulator-name = "host_usb1_vbus"; ++ gpios = <&gpioh 13 0>; // USB1_EN ++ enable-active-high; ++ regulator-always-on; ++ }; ++ ++ usb2vbus: fixed-regulator-usb2vbus { ++ compatible = "regulator-fixed"; ++ regulator-name = "host_usb2_vbus"; ++ gpios = <&gpiof 8 0>; // USB2_EN ++ enable-active-high; ++ regulator-always-on; ++ }; + }; + + ðernet0 { +-- +2.29.2 + diff --git a/board/myna-player-odyssey/rootfs_patches/linux/0007-stm32mp157c-odyssey-enable-usb-ports.patch b/board/myna-player-odyssey/rootfs_patches/linux/0007-stm32mp157c-odyssey-enable-usb-ports.patch new file mode 100644 index 0000000..798a440 --- /dev/null +++ b/board/myna-player-odyssey/rootfs_patches/linux/0007-stm32mp157c-odyssey-enable-usb-ports.patch @@ -0,0 +1,54 @@ +From a5fc04994cc0d858849945801c851cbcadfd896e Mon Sep 17 00:00:00 2001 +From: Xogium +Date: Thu, 7 Jan 2021 14:51:55 -0500 +Subject: [PATCH 1/3] stm32mp157c-odyssey: enable usb ports. + +This commit enables both usb host ports on board in ehci mode, as well as the OTG (type c) port in ohci mode. +--- + arch/arm/boot/dts/stm32mp157c-odyssey.dts | 33 +++++++++++++++++++++++ + 1 file changed, 33 insertions(+) + +diff --git a/arch/arm/boot/dts/stm32mp157c-odyssey.dts b/arch/arm/boot/dts/stm32mp157c-odyssey.dts +index 73da983bd76a..4fa0d2349300 100644 +--- a/arch/arm/boot/dts/stm32mp157c-odyssey.dts ++++ b/arch/arm/boot/dts/stm32mp157c-odyssey.dts +@@ -136,3 +136,36 @@ &i2c4 { + &dts { + status = "okay"; + }; ++ ++&usbphyc { ++ status = "okay"; ++}; ++ ++&usbh_ehci { ++ phys = <&usbphyc_port0>, <&usbphyc_port1 1>; ++ phy-names = "usb1-phy", "usb2-phy"; ++ status = "okay"; ++}; ++ ++&usbphyc_port0 { ++ phy-supply = <&vdd_usb>; ++ vbus-supply = <&usb1vbus>; ++ vdda1v1-supply = <®11>; ++ vdda1v8-supply = <®18>; ++}; ++ ++&usbphyc_port1 { ++ phy-supply = <&vdd_usb>; ++ vbus-supply = <&usb2vbus>; ++ vdda1v1-supply = <®11>; ++ vdda1v8-supply = <®18>; ++}; ++ ++&usbotg_hs { ++ compatible = "st,stm32mp15-fsotg", "snps,dwc2"; ++ pinctrl-names = "default"; ++ pinctrl-0 = <&usbotg_hs_pins_a &usbotg_fs_dp_dm_pins_a>; /* configure OTG ID and full-speed data pins */ ++ vbus-supply = <&vbus_otg>; /* voltage regulator to supply Vbus */ ++ dr_mode = "peripheral"; ++ status = "okay"; ++}; +-- +2.29.2 + diff --git a/board/myna-player-odyssey/rootfs_patches/linux/0008-stm32mp157c-odyssey-setting-broken-cd-for-sdmmc1.patch b/board/myna-player-odyssey/rootfs_patches/linux/0008-stm32mp157c-odyssey-setting-broken-cd-for-sdmmc1.patch new file mode 100644 index 0000000..fa44443 --- /dev/null +++ b/board/myna-player-odyssey/rootfs_patches/linux/0008-stm32mp157c-odyssey-setting-broken-cd-for-sdmmc1.patch @@ -0,0 +1,24 @@ +From ea57a5eb3ff4274c7661f878f6131e4d793365a7 Mon Sep 17 00:00:00 2001 +From: Xogium +Date: Fri, 8 Jan 2021 11:10:35 -0500 +Subject: [PATCH 8/9] stm32mp157c-odyssey: setting broken-cd for sdmmc1. + +--- + arch/arm/boot/dts/stm32mp157c-odyssey.dts | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/arch/arm/boot/dts/stm32mp157c-odyssey.dts b/arch/arm/boot/dts/stm32mp157c-odyssey.dts +index 85ea8c040ae0..3bd92ca1ae03 100644 +--- a/arch/arm/boot/dts/stm32mp157c-odyssey.dts ++++ b/arch/arm/boot/dts/stm32mp157c-odyssey.dts +@@ -91,6 +91,7 @@ &sdmmc1 { + pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>; + cd-gpios = <&gpiob 7 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; + disable-wp; ++ broken-cd; + st,neg-edge; + bus-width = <4>; + vmmc-supply = <&v3v3>; +-- +2.29.2 + diff --git a/board/myna-player-odyssey/rootfs_patches/linux/0009-stm32mp157c-odyssey-set-non-removable-property-for-s.patch b/board/myna-player-odyssey/rootfs_patches/linux/0009-stm32mp157c-odyssey-set-non-removable-property-for-s.patch new file mode 100644 index 0000000..2152dc4 --- /dev/null +++ b/board/myna-player-odyssey/rootfs_patches/linux/0009-stm32mp157c-odyssey-set-non-removable-property-for-s.patch @@ -0,0 +1,25 @@ +From 719fd81b93fca954f6f7b0a2933e88d65e5d8408 Mon Sep 17 00:00:00 2001 +From: Xogium +Date: Fri, 8 Jan 2021 11:50:07 -0500 +Subject: [PATCH 9/9] stm32mp157c-odyssey: set non-removable property for + sdmmc1. + +--- + arch/arm/boot/dts/stm32mp157c-odyssey.dts | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/arch/arm/boot/dts/stm32mp157c-odyssey.dts b/arch/arm/boot/dts/stm32mp157c-odyssey.dts +index 3bd92ca1ae03..927a8332bd15 100644 +--- a/arch/arm/boot/dts/stm32mp157c-odyssey.dts ++++ b/arch/arm/boot/dts/stm32mp157c-odyssey.dts +@@ -92,6 +92,7 @@ &sdmmc1 { + cd-gpios = <&gpiob 7 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; + disable-wp; + broken-cd; ++ non-removable; + st,neg-edge; + bus-width = <4>; + vmmc-supply = <&v3v3>; +-- +2.29.2 + 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/0010-stm32mp157c-odyssey-fix-hang-for-usb-otg.patch b/board/myna-player-odyssey/rootfs_patches/linux/0010-stm32mp157c-odyssey-fix-hang-for-usb-otg.patch new file mode 100644 index 0000000..99102d3 --- /dev/null +++ b/board/myna-player-odyssey/rootfs_patches/linux/0010-stm32mp157c-odyssey-fix-hang-for-usb-otg.patch @@ -0,0 +1,32 @@ +diff --git a/drivers/usb/dwc2/platform.c b/drivers/usb/dwc2/platform.c +index 5f18acac7406..c5332ddce4bd 100644 +--- a/drivers/usb/dwc2/platform.c ++++ b/drivers/usb/dwc2/platform.c +@@ -495,6 +495,27 @@ static int dwc2_driver_probe(struct platform_device *dev) + if (retval) + goto error; + ++ /* ++ * Connect FS PHY transceiver to prevent 'HANG! Soft Reset timeout' ++ */ ++ if (!hsotg->phy) { ++ u32 v; ++ ++ v = dwc2_readl(hsotg, GGPIO); ++ if (!(v & GGPIO_STM32_OTG_GCCFG_PWRDWN)) { ++ /* ++ * STM32 uses the GGPIO register as general ++ * core configuration register. ++ */ ++ v |= GGPIO_STM32_OTG_GCCFG_PWRDWN; ++ dwc2_writel(hsotg, v, GGPIO); ++ } ++ ++ v = dwc2_readl(hsotg, GUSBCFG); ++ v |= GUSBCFG_PHYSEL; ++ dwc2_writel(hsotg, v, GUSBCFG); ++ } ++ + /* + * Reset before dwc2_get_hwparams() then it could get power-on real + * reset value form registers. 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 - diff --git a/board/myna-player-odyssey/rootfs_patches/linux/100-i2c1-fix.patch b/board/myna-player-odyssey/rootfs_patches/linux/100-i2c1-fix.patch deleted file mode 100644 index 46fa5b0..0000000 --- a/board/myna-player-odyssey/rootfs_patches/linux/100-i2c1-fix.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 699deaabfacf831d0e984e8c1f9391b2f7a0c807 Mon Sep 17 00:00:00 2001 -From: Jookia -Date: Wed, 12 Aug 2020 00:17:03 +1000 -Subject: [PATCH 4/7] stm32mp157c-odyssey: Fix i2c1 pinctrl - ---- - arch/arm/boot/dts/stm32mp157c-odyssey.dts | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/arch/arm/boot/dts/stm32mp157c-odyssey.dts b/arch/arm/boot/dts/stm32mp157c-odyssey.dts -index a7ffec8f1516..027aaa441e4f 100644 ---- a/arch/arm/boot/dts/stm32mp157c-odyssey.dts -+++ b/arch/arm/boot/dts/stm32mp157c-odyssey.dts -@@ -50,8 +50,8 @@ - - &i2c1 { - pinctrl-names = "default", "sleep"; -- pinctrl-0 = <&i2c1_pins_a>; -- pinctrl-1 = <&i2c1_sleep_pins_a>; -+ pinctrl-0 = <&i2c1_pins_b>; -+ pinctrl-1 = <&i2c1_sleep_pins_b>; - i2c-scl-rising-time-ns = <100>; - i2c-scl-falling-time-ns = <7>; - status = "okay"; --- -2.20.1 - diff --git a/board/myna-player-odyssey/rootfs_patches/linux/101-dt-i2c4.patch b/board/myna-player-odyssey/rootfs_patches/linux/101-dt-i2c4.patch deleted file mode 100644 index cfe310d..0000000 --- a/board/myna-player-odyssey/rootfs_patches/linux/101-dt-i2c4.patch +++ /dev/null @@ -1,59 +0,0 @@ -From 6b74f44ebbf8af3bfe3ebd0db1296d641e51857a Mon Sep 17 00:00:00 2001 -From: Jookia -Date: Wed, 12 Aug 2020 00:19:06 +1000 -Subject: [PATCH 5/7] stm32mp157c-odyssey: Add i2c4 support - ---- - arch/arm/boot/dts/stm32mp15-pinctrl.dtsi | 17 +++++++++++++++++ - arch/arm/boot/dts/stm32mp157c-odyssey.dts | 10 ++++++++++ - 2 files changed, 27 insertions(+) - -diff --git a/arch/arm/boot/dts/stm32mp15-pinctrl.dtsi b/arch/arm/boot/dts/stm32mp15-pinctrl.dtsi -index 2f75b631feac..9828de2900a7 100644 ---- a/arch/arm/boot/dts/stm32mp15-pinctrl.dtsi -+++ b/arch/arm/boot/dts/stm32mp15-pinctrl.dtsi -@@ -432,6 +432,23 @@ - }; - }; - -+ i2c4_pins_s: i2c4-0 { -+ pins { -+ pinmux = , /* I2C4_SCL */ -+ ; /* I2C4_SDA */ -+ bias-disable; -+ drive-open-drain; -+ slew-rate = <0>; -+ }; -+ }; -+ -+ i2c4_pins_sleep_s: i2c4-1 { -+ pins { -+ pinmux = , /* I2C4_SCL */ -+ ; /* I2C4_SDA */ -+ }; -+ }; -+ - i2c5_pins_a: i2c5-0 { - pins { - pinmux = , /* I2C5_SCL */ -diff --git a/arch/arm/boot/dts/stm32mp157c-odyssey.dts b/arch/arm/boot/dts/stm32mp157c-odyssey.dts -index 027aaa441e4f..f9861e8fdb3a 100644 ---- a/arch/arm/boot/dts/stm32mp157c-odyssey.dts -+++ b/arch/arm/boot/dts/stm32mp157c-odyssey.dts -@@ -78,3 +78,13 @@ - status = "okay"; - }; - -+&i2c4 { -+ pinctrl-names = "default", "sleep"; -+ pinctrl-0 = <&i2c4_pins_s>; -+ pinctrl-1 = <&i2c4_pins_sleep_s>; -+ i2c-scl-rising-time-ns = <185>; -+ i2c-scl-falling-time-ns = <20>; -+ status = "okay"; -+ /delete-property/dmas; -+ /delete-property/dma-names; -+}; --- -2.20.1 - diff --git a/board/myna-player-odyssey/rootfs_patches/linux/102-dt-i2c-order.patch b/board/myna-player-odyssey/rootfs_patches/linux/102-dt-i2c-order.patch deleted file mode 100644 index 9da0a70..0000000 --- a/board/myna-player-odyssey/rootfs_patches/linux/102-dt-i2c-order.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 7c0334a831aa3812b0e4004836a7d636d89fd9ba Mon Sep 17 00:00:00 2001 -From: Jookia -Date: Fri, 14 Aug 2020 13:15:17 +1000 -Subject: [PATCH 7/7] stm32mp157c-odyssey: Re-order i2c devices for Raspberry - Pi compatibility - ---- - arch/arm/boot/dts/stm32mp157c-odyssey.dts | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/arch/arm/boot/dts/stm32mp157c-odyssey.dts b/arch/arm/boot/dts/stm32mp157c-odyssey.dts -index 787c001fadef..c498d51c72ba 100644 ---- a/arch/arm/boot/dts/stm32mp157c-odyssey.dts -+++ b/arch/arm/boot/dts/stm32mp157c-odyssey.dts -@@ -15,6 +15,9 @@ - aliases { - ethernet0 = ðernet0; - serial0 = &uart4; -+ i2c0 = &i2c2; -+ i2c1 = &i2c4; /* RPi compatible */ -+ i2c2 = &i2c1; - }; - - chosen { --- -2.20.1 - diff --git a/board/myna-player-odyssey/rootfs_patches/linux/200-dt-wifi.patch b/board/myna-player-odyssey/rootfs_patches/linux/200-dt-wifi.patch deleted file mode 100644 index 130fb49..0000000 --- a/board/myna-player-odyssey/rootfs_patches/linux/200-dt-wifi.patch +++ /dev/null @@ -1,121 +0,0 @@ -From 369ab26131981738b9ecee777882e1bf6d442138 Mon Sep 17 00:00:00 2001 -From: Jookia -Date: Wed, 12 Aug 2020 00:28:50 +1000 -Subject: [PATCH 6/7] stm32mp157c-odyssey: Add Wi-Fi - ---- - arch/arm/boot/dts/stm32mp15-pinctrl.dtsi | 54 +++++++++++++++++++++++ - arch/arm/boot/dts/stm32mp157c-odyssey.dts | 25 +++++++++++ - 2 files changed, 79 insertions(+) - -diff --git a/arch/arm/boot/dts/stm32mp15-pinctrl.dtsi b/arch/arm/boot/dts/stm32mp15-pinctrl.dtsi -index 9828de2900a7..617d1f0cc8ec 100644 ---- a/arch/arm/boot/dts/stm32mp15-pinctrl.dtsi -+++ b/arch/arm/boot/dts/stm32mp15-pinctrl.dtsi -@@ -1581,6 +1581,60 @@ - }; - }; - -+ sdmmc3_b4_pins_s: sdmmc3-b4-1 { -+ pins1 { -+ pinmux = , /* SDMMC3_D0 */ -+ , /* SDMMC3_D1 */ -+ , /* SDMMC3_D2 */ -+ , /* SDMMC3_D3 */ -+ ; /* SDMMC3_CMD */ -+ slew-rate = <1>; -+ drive-push-pull; -+ bias-pull-up; -+ }; -+ pins2 { -+ pinmux = ; /* SDMMC3_CLK */ -+ slew-rate = <2>; -+ drive-push-pull; -+ bias-pull-up; -+ }; -+ }; -+ -+ sdmmc3_b4_od_pins_s: sdmmc3-b4-od-1 { -+ pins1 { -+ pinmux = , /* SDMMC3_D0 */ -+ , /* SDMMC3_D1 */ -+ , /* SDMMC3_D2 */ -+ ; /* SDMMC3_D3 */ -+ slew-rate = <1>; -+ drive-push-pull; -+ bias-pull-up; -+ }; -+ pins2 { -+ pinmux = ; /* SDMMC3_CLK */ -+ slew-rate = <2>; -+ drive-push-pull; -+ bias-pull-up; -+ }; -+ pins3 { -+ pinmux = ; /* SDMMC2_CMD */ -+ slew-rate = <1>; -+ drive-open-drain; -+ bias-pull-up; -+ }; -+ }; -+ -+ sdmmc3_b4_sleep_pins_s: sdmmc3-b4-sleep-1 { -+ pins { -+ pinmux = , /* SDMMC3_D0 */ -+ , /* SDMMC3_D1 */ -+ , /* SDMMC3_D2 */ -+ , /* SDMMC3_D3 */ -+ , /* SDMMC3_CK */ -+ ; /* SDMMC3_CMD */ -+ }; -+ }; -+ - spdifrx_pins_a: spdifrx-0 { - pins { - pinmux = ; /* SPDIF_IN1 */ -diff --git a/arch/arm/boot/dts/stm32mp157c-odyssey.dts b/arch/arm/boot/dts/stm32mp157c-odyssey.dts -index f9861e8fdb3a..787c001fadef 100644 ---- a/arch/arm/boot/dts/stm32mp157c-odyssey.dts -+++ b/arch/arm/boot/dts/stm32mp157c-odyssey.dts -@@ -20,6 +20,12 @@ - chosen { - stdout-path = "serial0:115200n8"; - }; -+ -+ wifi_pwrseq: wifi-pwrseq { -+ compatible = "mmc-pwrseq-simple"; -+ reset-gpios = <&gpiod 9 GPIO_ACTIVE_LOW>; -+ post-power-on-delay-ms = <1>; -+ }; - }; - - ðernet0 { -@@ -72,6 +78,25 @@ - status = "okay"; - }; - -+&sdmmc3 { -+ pinctrl-names = "default", "opendrain", "sleep"; -+ pinctrl-0 = <&sdmmc3_b4_pins_s>; -+ pinctrl-1 = <&sdmmc3_b4_od_pins_s>; -+ pinctrl-2 = <&sdmmc3_b4_sleep_pins_s>; -+ bus-width = <4>; -+ vmmc-supply = <&v3v3>; -+ mmc-pwrseq = <&wifi_pwrseq>; -+ status = "okay"; -+ keep-power-in-suspend; -+ -+ #address-cells = <1>; -+ #size-cells = <0>; -+ brcmf: bcrmf@1 { -+ reg = <1>; -+ compatible = "brcm,bcm4329-fmac"; -+ }; -+}; -+ - &uart4 { - pinctrl-names = "default"; - pinctrl-0 = <&uart4_pins_a>; --- -2.20.1 - diff --git a/configs/myna_player_odyssey_defconfig b/configs/myna_player_odyssey_defconfig index baf8b1e..f88ee99 100644 --- a/configs/myna_player_odyssey_defconfig +++ b/configs/myna_player_odyssey_defconfig @@ -31,7 +31,7 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="-c $(BR2_EXTERNAL_MynaPlayer_PATH)/board/myna-player-odyssey/utilities/genimage.cfg" BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL_CUSTOM_VERSION=y -BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.8.10" +BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.11" BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_MynaPlayer_PATH)/board/myna-player-odyssey/configs/linux.config" BR2_LINUX_KERNEL_LZ4=y