]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
ARM: dts: stm32: Synchronize DHCOM DTs with Linux 5.15.12
authorMarek Vasut <marex@denx.de>
Thu, 30 Dec 2021 22:46:47 +0000 (23:46 +0100)
committerPatrice Chotard <patrice.chotard@foss.st.com>
Mon, 24 Jan 2022 09:57:56 +0000 (10:57 +0100)
Synchronize DH DHCOM DTs with Linux commit 25960cafa06e ("Linux 5.15.12").
There is no functional change to the resulting DTs. The eeprom0 alias and
PHY reset GPIO are now reinstated in SoM u-boot dtsi.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Patrice Chotard <patrice.chotard@foss.st.com>
Cc: Patrick Delaunay <patrick.delaunay@foss.st.com>
Reviewed-by: Patrick Delaunay <patrick.delaunay@foss.st.com>
arch/arm/dts/stm32mp15xx-dhcom-drc02.dts
arch/arm/dts/stm32mp15xx-dhcom-drc02.dtsi [new file with mode: 0644]
arch/arm/dts/stm32mp15xx-dhcom-pdk2-u-boot.dtsi
arch/arm/dts/stm32mp15xx-dhcom-pdk2.dts
arch/arm/dts/stm32mp15xx-dhcom-pdk2.dtsi [new file with mode: 0644]
arch/arm/dts/stm32mp15xx-dhcom-picoitx-u-boot.dtsi
arch/arm/dts/stm32mp15xx-dhcom-picoitx.dts
arch/arm/dts/stm32mp15xx-dhcom-picoitx.dtsi [new file with mode: 0644]
arch/arm/dts/stm32mp15xx-dhcom-som.dtsi [moved from arch/arm/dts/stm32mp15xx-dhcom.dtsi with 56% similarity]
arch/arm/dts/stm32mp15xx-dhcom-u-boot.dtsi

index 4948ccd40148cefbf24b697abca9cdebe3d18103..1ef9ac29cea96c601261e714fbee522ab3d68c05 100644 (file)
 /*
  * Copyright (C) 2020 Marek Vasut <marex@denx.de>
  */
+/dts-v1/;
 
-#include "stm32mp15xx-dhcom.dtsi"
+#include "stm32mp151.dtsi"
+#include "stm32mp15xc.dtsi"
+#include "stm32mp15xx-dhcom-som.dtsi"
+#include "stm32mp15xx-dhcom-drc02.dtsi"
 
 / {
        model = "DH Electronics STM32MP15xx DHCOM DRC02";
        compatible = "dh,stm32mp15xx-dhcom-drc02", "st,stm32mp1xx";
-
-       aliases {
-               serial0 = &uart4;
-               serial1 = &usart3;
-               serial2 = &uart8;
-       };
-
-       chosen {
-               stdout-path = "serial0:115200n8";
-       };
-};
-
-&adc {
-       status = "disabled";
-};
-
-&dac {
-       status = "disabled";
-};
-
-&gpiob {
-       /*
-        * NOTE: On DRC02, the RS485_RX_En is controlled by a separate
-        * GPIO line, however the STM32 UART driver assumes RX happens
-        * during TX anyway and that it only controls drive enable DE
-        * line. Hence, the RX is always enabled here.
-        */
-       usb-hub {
-               gpio-hog;
-               gpios = <8 0>;
-               output-high;
-               line-name = "rs485-rx-en";
-       };
-};
-
-&gpiod {
-       gpio-line-names = "", "", "", "",
-                         "", "", "", "",
-                         "", "", "", "Out1",
-                         "Out2", "", "", "";
-};
-
-&gpioi {
-       gpio-line-names = "In1", "", "", "",
-                         "", "", "", "",
-                         "In2", "", "", "",
-                         "", "", "", "";
-
-       /*
-        * NOTE: The USB Hub on the DRC02 needs a reset signal to be
-        * pulled high in order to be detected by the USB Controller.
-        * This signal should be handled by USB power sequencing in
-        * order to reset the Hub when USB bus is powered down, but
-        * so far there is no such functionality.
-        */
-       usb-hub {
-               gpio-hog;
-               gpios = <2 0>;
-               output-high;
-               line-name = "usb-hub-reset";
-       };
-};
-
-&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;
-       status = "okay";
-
-       eeprom@50 {
-               compatible = "atmel,24c04";
-               reg = <0x50>;
-               pagesize = <16>;
-       };
-};
-
-&i2c5 {        /* TP7/TP8 */
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c5_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;
-};
-
-&sdmmc3 {
-       /*
-        * On DRC02, the SoM does not have SDIO WiFi. The pins
-        * are used for on-board microSD slot instead.
-        */
-       pinctrl-names = "default", "opendrain", "sleep";
-       pinctrl-0 = <&sdmmc3_b4_pins_a>;
-       pinctrl-1 = <&sdmmc3_b4_od_pins_a>;
-       pinctrl-2 = <&sdmmc3_b4_sleep_pins_a>;
-       cd-gpios = <&gpioi 10 GPIO_ACTIVE_HIGH>;
-       disable-wp;
-       st,neg-edge;
-       bus-width = <4>;
-       vmmc-supply = <&v3v3>;
-       vqmmc-supply = <&v3v3>;
-       mmc-ddr-3_3v;
-       status = "okay";
-};
-
-&spi1 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&spi1_pins_a>;
-       cs-gpios = <&gpioz 3 0>;
-       /* Use PIO for the display */
-       /delete-property/dmas;
-       /delete-property/dma-names;
-       status = "disabled";    /* Enable once there is display driver */
-       /*
-        * Note: PF3/GPIO_A , PD6/GPIO_B , PG0/GPIO_C , PC6/GPIO_E are
-        * also connected to the display board connector.
-        */
-};
-
-&usart3 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&usart3_pins_a>;
-       status = "okay";
-};
-
-/*
- * Note: PI3 is UART1_RTS and PI5 is UART1_CTS on DRC02 (uart4 of STM32MP1),
- *       however the STM32MP1 pinmux cannot map them to UART4 .
- */
-
-&uart8 {       /* RS485 */
-       pinctrl-names = "default";
-       pinctrl-0 = <&uart8_pins_a>;
-       rts-gpios = <&gpioe 6 GPIO_ACTIVE_HIGH>;
-       status = "okay";
-};
-
-&usbh_ehci {
-       phys = <&usbphyc_port0>;
-       status = "okay";
-};
-
-&usbphyc {
-       status = "okay";
-};
-
-&usbphyc_port0 {
-       phy-supply = <&vdd_usb>;
-       vdda1v1-supply = <&reg11>;
-       vdda1v8-supply = <&reg18>;
 };
diff --git a/arch/arm/dts/stm32mp15xx-dhcom-drc02.dtsi b/arch/arm/dts/stm32mp15xx-dhcom-drc02.dtsi
new file mode 100644 (file)
index 0000000..4b10b01
--- /dev/null
@@ -0,0 +1,165 @@
+// SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
+/*
+ * Copyright (C) 2020 Marek Vasut <marex@denx.de>
+ */
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/pwm/pwm.h>
+
+/ {
+       aliases {
+               serial0 = &uart4;
+               serial1 = &usart3;
+               serial2 = &uart8;
+       };
+
+       chosen {
+               stdout-path = "serial0:115200n8";
+       };
+};
+
+&adc {
+       status = "disabled";
+};
+
+&dac {
+       status = "disabled";
+};
+
+&gpiob {
+       /*
+        * NOTE: On DRC02, the RS485_RX_En is controlled by a separate
+        * GPIO line, however the STM32 UART driver assumes RX happens
+        * during TX anyway and that it only controls drive enable DE
+        * line. Hence, the RX is always enabled here.
+        */
+       rs485-rx-en-hog {
+               gpio-hog;
+               gpios = <8 0>;
+               output-low;
+               line-name = "rs485-rx-en";
+       };
+};
+
+&gpiod {
+       gpio-line-names = "", "", "", "",
+                         "", "", "DHCOM-B", "",
+                         "", "", "", "DRC02-Out1",
+                         "DRC02-Out2", "", "", "";
+};
+
+&gpioi {
+       gpio-line-names = "DRC02-In1", "DHCOM-O", "DHCOM-H", "DHCOM-I",
+                         "DHCOM-R", "DHCOM-M", "", "",
+                         "DRC02-In2", "", "", "",
+                         "", "", "", "";
+
+       /*
+        * NOTE: The USB Hub on the DRC02 needs a reset signal to be
+        * pulled high in order to be detected by the USB Controller.
+        * This signal should be handled by USB power sequencing in
+        * order to reset the Hub when USB bus is powered down, but
+        * so far there is no such functionality.
+        */
+       usb-hub-hog {
+               gpio-hog;
+               gpios = <2 0>;
+               output-high;
+               line-name = "usb-hub-reset";
+       };
+};
+
+&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;
+       status = "okay";
+
+       eeprom@50 {
+               compatible = "atmel,24c04";
+               reg = <0x50>;
+               pagesize = <16>;
+       };
+};
+
+&i2c4 {
+       touchscreen@49 {
+               status = "disabled";
+       };
+};
+
+&i2c5 {        /* TP7/TP8 */
+       pinctrl-names = "default";
+       pinctrl-0 = <&i2c5_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;
+};
+
+&sdmmc3 {
+       /*
+        * On DRC02, the SoM does not have SDIO WiFi. The pins
+        * are used for on-board microSD slot instead.
+        */
+       /delete-property/broken-cd;
+       cd-gpios = <&gpioi 10 GPIO_ACTIVE_HIGH>;
+       disable-wp;
+};
+
+&spi1 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&spi1_pins_a>;
+       cs-gpios = <&gpioz 3 0>;
+       /* Use PIO for the display */
+       /delete-property/dmas;
+       /delete-property/dma-names;
+       status = "disabled";    /* Enable once there is display driver */
+       /*
+        * Note: PF3/GPIO_A , PD6/GPIO_B , PG0/GPIO_C , PC6/GPIO_E are
+        * also connected to the display board connector.
+        */
+};
+
+&usart3 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&usart3_pins_a>;
+       status = "okay";
+};
+
+/*
+ * Note: PI3 is UART1_RTS and PI5 is UART1_CTS on DRC02 (uart4 of STM32MP1),
+ *       however the STM32MP1 pinmux cannot map them to UART4 .
+ */
+
+&uart8 {       /* RS485 */
+       linux,rs485-enabled-at-boot-time;
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart8_pins_a>;
+       rts-gpios = <&gpioe 6 GPIO_ACTIVE_HIGH>;
+       status = "okay";
+};
+
+&usbh_ehci {
+       phys = <&usbphyc_port0>;
+       status = "okay";
+};
+
+&usbphyc {
+       status = "okay";
+};
+
+&usbphyc_port0 {
+       phy-supply = <&vdd_usb>;
+};
+
+&usbphyc_port1 {
+       phy-supply = <&vdd_usb>;
+};
index 12f89b339877ae61e9805f488a00e80bf9d16cf3..2324926f9dfb9b03329319e852088074d43c81eb 100644 (file)
@@ -4,3 +4,7 @@
  */
 
 #include "stm32mp15xx-dhcom-u-boot.dtsi"
+
+&usbotg_hs {
+       dr_mode = "peripheral";
+};
index 52a77c412310b4c550dd66095d62f092fce2fc6b..e2e01e2146cf6bf24ebf61ef79c5dabde80effe4 100644 (file)
@@ -2,18 +2,14 @@
 /*
  * Copyright (C) 2019 Marek Vasut <marex@denx.de>
  */
+/dts-v1/;
 
-#include "stm32mp15xx-dhcom.dtsi"
+#include "stm32mp151.dtsi"
+#include "stm32mp15xc.dtsi"
+#include "stm32mp15xx-dhcom-som.dtsi"
+#include "stm32mp15xx-dhcom-pdk2.dtsi"
 
 / {
        model = "STMicroelectronics STM32MP15xx DHCOM Premium Developer Kit (2)";
        compatible = "dh,stm32mp15xx-dhcom-pdk2", "st,stm32mp15x";
-
-       aliases {
-               serial0 = &uart4;
-       };
-
-       chosen {
-               stdout-path = "serial0:115200n8";
-       };
 };
diff --git a/arch/arm/dts/stm32mp15xx-dhcom-pdk2.dtsi b/arch/arm/dts/stm32mp15xx-dhcom-pdk2.dtsi
new file mode 100644 (file)
index 0000000..fbf3826
--- /dev/null
@@ -0,0 +1,325 @@
+// SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
+/*
+ * Copyright (C) 2019-2020 Marek Vasut <marex@denx.de>
+ */
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/pwm/pwm.h>
+
+/ {
+       aliases {
+               serial0 = &uart4;
+               serial1 = &usart3;
+               serial2 = &uart8;
+       };
+
+       chosen {
+               stdout-path = "serial0:115200n8";
+       };
+
+       clk_ext_audio_codec: clock-codec {
+               compatible = "fixed-clock";
+               #clock-cells = <0>;
+               clock-frequency = <24000000>;
+       };
+
+       display_bl: display-bl {
+               compatible = "pwm-backlight";
+               pwms = <&pwm2 3 500000 PWM_POLARITY_INVERTED>;
+               brightness-levels = <0 16 22 30 40 55 75 102 138 188 255>;
+               default-brightness-level = <8>;
+               enable-gpios = <&gpioi 0 GPIO_ACTIVE_HIGH>;
+               power-supply = <&reg_panel_bl>;
+               status = "okay";
+       };
+
+       gpio-keys-polled {
+               compatible = "gpio-keys-polled";
+               poll-interval = <20>;
+
+               /*
+                * The EXTi IRQ line 3 is shared with ethernet,
+                * so mark this as polled GPIO key.
+                */
+               button-0 {
+                       label = "TA1-GPIO-A";
+                       linux,code = <KEY_A>;
+                       gpios = <&gpiof 3 GPIO_ACTIVE_LOW>;
+               };
+
+               /*
+                * The EXTi IRQ line 6 is shared with touchscreen,
+                * so mark this as polled GPIO key.
+                */
+               button-1 {
+                       label = "TA2-GPIO-B";
+                       linux,code = <KEY_B>;
+                       gpios = <&gpiod 6 GPIO_ACTIVE_LOW>;
+               };
+
+               /*
+                * The EXTi IRQ line 0 is shared with PMIC,
+                * so mark this as polled GPIO key.
+                */
+               button-2 {
+                       label = "TA3-GPIO-C";
+                       linux,code = <KEY_C>;
+                       gpios = <&gpiog 0 GPIO_ACTIVE_LOW>;
+               };
+       };
+
+       gpio-keys {
+               compatible = "gpio-keys";
+
+               button-3 {
+                       label = "TA4-GPIO-D";
+                       linux,code = <KEY_D>;
+                       gpios = <&gpiod 12 GPIO_ACTIVE_LOW>;
+                       wakeup-source;
+               };
+       };
+
+       led {
+               compatible = "gpio-leds";
+
+               led-0 {
+                       label = "green:led5";
+                       gpios = <&gpioc 6 GPIO_ACTIVE_HIGH>;
+                       default-state = "off";
+                       status = "disabled";
+               };
+
+               led-1 {
+                       label = "green:led6";
+                       gpios = <&gpiod 11 GPIO_ACTIVE_HIGH>;
+                       default-state = "off";
+               };
+
+               led-2 {
+                       label = "green:led7";
+                       gpios = <&gpioi 2 GPIO_ACTIVE_HIGH>;
+                       default-state = "off";
+               };
+
+               led-3 {
+                       label = "green:led8";
+                       gpios = <&gpioi 3 GPIO_ACTIVE_HIGH>;
+                       default-state = "off";
+               };
+       };
+
+       panel {
+               compatible = "edt,etm0700g0edh6";
+               backlight = <&display_bl>;
+               power-supply = <&reg_panel_bl>;
+
+               port {
+                       lcd_panel_in: endpoint {
+                               remote-endpoint = <&lcd_display_out>;
+                       };
+               };
+       };
+
+       reg_panel_bl: regulator-panel-bl {
+               compatible = "regulator-fixed";
+               regulator-name = "panel_backlight";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+               vin-supply = <&reg_panel_supply>;
+       };
+
+       reg_panel_supply: regulator-panel-supply {
+               compatible = "regulator-fixed";
+               regulator-name = "panel_supply";
+               regulator-min-microvolt = <24000000>;
+               regulator-max-microvolt = <24000000>;
+       };
+
+       sound {
+               compatible = "audio-graph-card";
+               routing =
+                       "MIC_IN", "Capture",
+                       "Capture", "Mic Bias",
+                       "Playback", "HP_OUT";
+               dais = <&sai2a_port &sai2b_port>;
+               status = "okay";
+       };
+};
+
+&cec {
+       pinctrl-names = "default";
+       pinctrl-0 = <&cec_pins_a>;
+       status = "okay";
+};
+
+&i2c2 {        /* Header X22 */
+       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;
+       status = "okay";
+};
+
+&i2c5 {        /* Header X21 */
+       pinctrl-names = "default";
+       pinctrl-0 = <&i2c5_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;
+
+       sgtl5000: codec@a {
+               compatible = "fsl,sgtl5000";
+               reg = <0x0a>;
+               #sound-dai-cells = <0>;
+               clocks = <&clk_ext_audio_codec>;
+               VDDA-supply = <&v3v3>;
+               VDDIO-supply = <&vdd>;
+
+               sgtl5000_port: port {
+                       #address-cells = <1>;
+                       #size-cells = <0>;
+
+                       sgtl5000_tx_endpoint: endpoint@0 {
+                               reg = <0>;
+                               remote-endpoint = <&sai2a_endpoint>;
+                               frame-master = <&sgtl5000_tx_endpoint>;
+                               bitclock-master = <&sgtl5000_tx_endpoint>;
+                       };
+
+                       sgtl5000_rx_endpoint: endpoint@1 {
+                               reg = <1>;
+                               remote-endpoint = <&sai2b_endpoint>;
+                               frame-master = <&sgtl5000_rx_endpoint>;
+                               bitclock-master = <&sgtl5000_rx_endpoint>;
+                       };
+               };
+
+       };
+
+       touchscreen@38 {
+               compatible = "edt,edt-ft5406";
+               reg = <0x38>;
+               interrupt-parent = <&gpioc>;
+               interrupts = <6 IRQ_TYPE_EDGE_FALLING>; /* GPIO E */
+       };
+};
+
+&ltdc {
+       pinctrl-names = "default", "sleep";
+       pinctrl-0 = <&ltdc_pins_b>;
+       pinctrl-1 = <&ltdc_sleep_pins_b>;
+       status = "okay";
+
+       port {
+               lcd_display_out: endpoint {
+                       remote-endpoint = <&lcd_panel_in>;
+               };
+       };
+};
+
+&sai2 {
+       clocks = <&rcc SAI2>, <&rcc PLL3_Q>, <&rcc PLL3_R>;
+       clock-names = "pclk", "x8k", "x11k";
+       pinctrl-names = "default", "sleep";
+       pinctrl-0 = <&sai2a_pins_b &sai2b_pins_b>;
+       pinctrl-1 = <&sai2a_sleep_pins_b &sai2b_sleep_pins_b>;
+       status = "okay";
+
+       sai2a: audio-controller@4400b004 {
+               #clock-cells = <0>;
+               dma-names = "tx";
+               clocks = <&rcc SAI2_K>;
+               clock-names = "sai_ck";
+               status = "okay";
+
+               sai2a_port: port {
+                       sai2a_endpoint: endpoint {
+                               remote-endpoint = <&sgtl5000_tx_endpoint>;
+                               format = "i2s";
+                               mclk-fs = <512>;
+                               dai-tdm-slot-num = <2>;
+                               dai-tdm-slot-width = <16>;
+                       };
+               };
+       };
+
+       sai2b: audio-controller@4400b024 {
+               dma-names = "rx";
+               st,sync = <&sai2a 2>;
+               clocks = <&rcc SAI2_K>, <&sai2a>;
+               clock-names = "sai_ck", "MCLK";
+               status = "okay";
+
+               sai2b_port: port {
+                       sai2b_endpoint: endpoint {
+                               remote-endpoint = <&sgtl5000_rx_endpoint>;
+                               format = "i2s";
+                               mclk-fs = <512>;
+                               dai-tdm-slot-num = <2>;
+                               dai-tdm-slot-width = <16>;
+                       };
+               };
+       };
+};
+
+&timers2 {
+       /* spare dmas for other usage (un-delete to enable pwm capture) */
+       /delete-property/dmas;
+       /delete-property/dma-names;
+       status = "okay";
+       pwm2: pwm {
+               pinctrl-0 = <&pwm2_pins_a>;
+               pinctrl-names = "default";
+               status = "okay";
+       };
+       timer@1 {
+               status = "okay";
+       };
+};
+
+&usart3 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&usart3_pins_a>;
+       status = "okay";
+};
+
+&uart8 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart8_pins_a &uart8_rtscts_pins_a>;
+       uart-has-rtscts;
+       status = "okay";
+};
+
+&usbh_ehci {
+       phys = <&usbphyc_port0>;
+       status = "okay";
+};
+
+&usbotg_hs {
+       dr_mode = "otg";
+       pinctrl-0 = <&usbotg_hs_pins_a>;
+       pinctrl-names = "default";
+       phy-names = "usb2-phy";
+       phys = <&usbphyc_port1 0>;
+       vbus-supply = <&vbus_otg>;
+       status = "okay";
+};
+
+&usbphyc {
+       status = "okay";
+};
+
+&usbphyc_port0 {
+       phy-supply = <&vdd_usb>;
+};
+
+&usbphyc_port1 {
+       phy-supply = <&vdd_usb>;
+};
index 3cac663d9872dd2f7b3dcaf519573c75aa382827..5bc6698f87fc4267678ecc1a2160d74dd68573c7 100644 (file)
@@ -11,4 +11,8 @@
        };
 };
 
-/delete-node/ &ksz8851;
+/delete-node/ &ks8851;
+
+&usbotg_hs {
+       dr_mode = "peripheral";
+};
index 59d13713d88968be61421cd0d418869e7444b0ce..06770b478738ad8cb7d920d4b5df245f056af9d9 100644 (file)
@@ -2,92 +2,14 @@
 /*
  * Copyright (C) 2020 Marek Vasut <marex@denx.de>
  */
+/dts-v1/;
 
-#include "stm32mp15xx-dhcom.dtsi"
+#include "stm32mp157.dtsi"
+#include "stm32mp15xc.dtsi"
+#include "stm32mp15xx-dhcom-som.dtsi"
+#include "stm32mp15xx-dhcom-picoitx.dtsi"
 
 / {
        model = "DH Electronics STM32MP15xx DHCOM PicoITX";
        compatible = "dh,stm32mp15xx-dhcom-picoitx", "st,stm32mp1xx";
-
-       aliases {
-               serial0 = &uart4;
-               serial1 = &usart3;
-               serial2 = &uart8;
-       };
-
-       chosen {
-               stdout-path = "serial0:115200n8";
-       };
-};
-
-&adc {
-       status = "disabled";
-};
-
-&dac {
-       status = "disabled";
-};
-
-&gpioa {
-       /*
-        * NOTE: The USB Port on the PicoITX needs a PWR_EN signal to enable
-        * port power. This signal should be handled by USB power sequencing
-        * in order to turn on port power when USB bus is powered up, but so
-        * far there is no such functionality.
-        */
-       usb-port-power {
-               gpio-hog;
-               gpios = <13 0>;
-               output-low;
-               line-name = "usb-port-power";
-       };
-};
-
-&i2c2 {        /* On board-to-board connector (optional) */
-       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;
-};
-
-&i2c5 {        /* On board-to-board connector */
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c5_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;
-};
-
-&usart3 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&usart3_pins_a>;
-       status = "okay";
-};
-
-&uart8 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&uart8_pins_a>;
-       status = "okay";
-};
-
-&usbh_ehci {
-       phys = <&usbphyc_port0>;
-       status = "okay";
-};
-
-&usbphyc {
-       status = "okay";
-};
-
-&usbphyc_port0 {
-       phy-supply = <&vdd_usb>;
-       vdda1v1-supply = <&reg11>;
-       vdda1v8-supply = <&reg18>;
 };
diff --git a/arch/arm/dts/stm32mp15xx-dhcom-picoitx.dtsi b/arch/arm/dts/stm32mp15xx-dhcom-picoitx.dtsi
new file mode 100644 (file)
index 0000000..ba816ef
--- /dev/null
@@ -0,0 +1,147 @@
+// SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
+/*
+ * Copyright (C) 2020 Marek Vasut <marex@denx.de>
+ */
+
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/pwm/pwm.h>
+
+/ {
+       aliases {
+               serial0 = &uart4;
+               serial1 = &usart3;
+               serial2 = &uart8;
+       };
+
+       chosen {
+               stdout-path = "serial0:115200n8";
+       };
+
+       led {
+               compatible = "gpio-leds";
+
+               led-0 {
+                       label = "yellow:led";
+                       gpios = <&gpioi 3 GPIO_ACTIVE_HIGH>;
+                       default-state = "off";
+               };
+       };
+};
+
+&adc {
+       status = "disabled";
+};
+
+&dac {
+       status = "disabled";
+};
+
+&fmc {
+       status = "disabled";
+};
+
+&gpioa {
+       /*
+        * NOTE: The USB Port on the PicoITX needs a PWR_EN signal to enable
+        * port power. This signal should be handled by USB power sequencing
+        * in order to turn on port power when USB bus is powered up, but so
+        * far there is no such functionality.
+        */
+       usb-port-power-hog {
+               gpio-hog;
+               gpios = <13 0>;
+               output-low;
+               line-name = "usb-port-power";
+       };
+};
+
+&gpioc {
+       gpio-line-names = "", "", "", "",
+                         "", "", "PicoITX-In1", "",
+                         "", "", "", "",
+                         "", "", "", "";
+};
+
+&gpiod {
+       gpio-line-names = "", "", "", "",
+                         "", "", "DHCOM-B", "",
+                         "", "", "", "PicoITX-Out1",
+                         "PicoITX-Out2", "", "", "";
+};
+
+&gpiog {
+       gpio-line-names = "PicoITX-In2", "", "", "",
+                         "", "", "", "",
+                         "DHCOM-L", "", "", "",
+                         "", "", "", "";
+};
+
+&i2c2 {        /* On board-to-board connector (optional) */
+       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;
+};
+
+&i2c5 {        /* On board-to-board connector */
+       pinctrl-names = "default";
+       pinctrl-0 = <&i2c5_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;
+};
+
+&ksz8851 {
+       status = "disabled";
+};
+
+&usart3 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&usart3_pins_a>;
+       status = "okay";
+};
+
+&uart8 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart8_pins_a &uart8_rtscts_pins_a>;
+       status = "okay";
+};
+
+&usbh_ehci {
+       phys = <&usbphyc_port0>;
+       status = "okay";
+};
+
+&usbh_ohci {
+       phys = <&usbphyc_port0>;
+       status = "okay";
+};
+
+&usbotg_hs {
+       dr_mode = "otg";
+       pinctrl-0 = <&usbotg_hs_pins_a>;
+       pinctrl-names = "default";
+       phy-names = "usb2-phy";
+       phys = <&usbphyc_port1 0>;
+       vbus-supply = <&vbus_otg>;
+       status = "okay";
+};
+
+&usbphyc {
+       status = "okay";
+};
+
+&usbphyc_port0 {
+       phy-supply = <&vdd_usb>;
+};
+
+&usbphyc_port1 {
+       phy-supply = <&vdd_usb>;
+};
similarity index 56%
rename from arch/arm/dts/stm32mp15xx-dhcom.dtsi
rename to arch/arm/dts/stm32mp15xx-dhcom-som.dtsi
index a1d1b8dec764b221a1cdb6d90601980fb0f19b7c..8c41f819f77696171d8da706391979983cbaf5b2 100644 (file)
@@ -1,11 +1,8 @@
 // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
 /*
- * Copyright (C) 2019 Marek Vasut <marex@denx.de>
+ * Copyright (C) 2019-2020 Marek Vasut <marex@denx.de>
  */
-/dts-v1/;
 
-#include "stm32mp157.dtsi"
-#include "stm32mp15xc.dtsi"
 #include "stm32mp15-pinctrl.dtsi"
 #include "stm32mp15xxaa-pinctrl.dtsi"
 #include <dt-bindings/gpio/gpio.h>
 
 / {
        aliases {
-               eeprom0 = &eeprom0;
                ethernet0 = &ethernet0;
+               ethernet1 = &ksz8851;
+               rtc0 = &hwrtc;
+               rtc1 = &rtc;
        };
 
        memory@c0000000 {
                reg = <0xC0000000 0x40000000>;
        };
 
+       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;
+               };
+       };
+
        ethernet_vio: vioregulator {
                compatible = "regulator-fixed";
                regulator-name = "vio";
                gpio = <&gpiog 3 GPIO_ACTIVE_LOW>;
                regulator-always-on;
                regulator-boot-on;
+               vin-supply = <&vdd>;
        };
 };
 
-&cec {
-       pinctrl-names = "default";
-       pinctrl-0 = <&cec_pins_a>;
+&adc {
+       vdd-supply = <&vdd>;
+       vdda-supply = <&vdda>;
+       vref-supply = <&vdda>;
        status = "okay";
+
+       adc1: adc@0 {
+               st,min-sample-time-nsecs = <5000>;
+               st,adc-channels = <0>;
+               status = "okay";
+       };
+
+       adc2: adc@100 {
+               st,adc-channels = <1>;
+               st,min-sample-time-nsecs = <5000>;
+               status = "okay";
+       };
 };
 
-&dcmi {
+&crc1 {
        status = "okay";
-       pinctrl-names = "default", "sleep";
-       pinctrl-0 = <&dcmi_pins_a>;
-       pinctrl-1 = <&dcmi_sleep_pins_a>;
+};
+
+&dac {
+       pinctrl-names = "default";
+       pinctrl-0 = <&dac_ch1_pins_a &dac_ch2_pins_a>;
+       vref-supply = <&vdda>;
+       status = "okay";
+
+       dac1: dac@1 {
+               status = "okay";
+       };
+       dac2: dac@2 {
+               status = "okay";
+       };
 };
 
 &dts {
 &ethernet0 {
        status = "okay";
        pinctrl-0 = <&ethernet0_rmii_pins_a>;
-       pinctrl-1 = <&ethernet0_rmii_pins_sleep_a>;
+       pinctrl-1 = <&ethernet0_rmii_sleep_pins_a>;
        pinctrl-names = "default", "sleep";
        phy-mode = "rmii";
        max-speed = <100>;
        phy-handle = <&phy0>;
-       phy-reset-gpios = <&gpioh 15 GPIO_ACTIVE_LOW>;
+       st,eth-ref-clk-sel;
 
        mdio0 {
                #address-cells = <1>;
 
                phy0: ethernet-phy@1 {
                        reg = <1>;
+                       /* LAN8710Ai */
+                       compatible = "ethernet-phy-id0007.c0f0",
+                                    "ethernet-phy-ieee802.3-c22";
+                       clocks = <&rcc ETHCK_K>;
+                       reset-gpios = <&gpioh 3 GPIO_ACTIVE_LOW>;
+                       reset-assert-us = <500>;
+                       reset-deassert-us = <500>;
+                       smsc,disable-energy-detect;
+                       interrupt-parent = <&gpioi>;
+                       interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
                };
        };
 };
 
-&i2c2 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c2_pins_a>;
-       i2c-scl-rising-time-ns = <185>;
-       i2c-scl-falling-time-ns = <20>;
+&fmc {
+       pinctrl-names = "default", "sleep";
+       pinctrl-0 = <&fmc_pins_b>;
+       pinctrl-1 = <&fmc_sleep_pins_b>;
        status = "okay";
+
+       ksz8851: ethernet@1,0 {
+               compatible = "micrel,ks8851-mll";
+               reg = <1 0x0 0x2>, <1 0x2 0x20000>;
+               interrupt-parent = <&gpioc>;
+               interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
+               bank-width = <2>;
+
+               /* Timing values are in nS */
+               st,fmc2-ebi-cs-mux-enable;
+               st,fmc2-ebi-cs-transaction-type = <4>;
+               st,fmc2-ebi-cs-buswidth = <16>;
+               st,fmc2-ebi-cs-address-setup-ns = <5>;
+               st,fmc2-ebi-cs-address-hold-ns = <5>;
+               st,fmc2-ebi-cs-bus-turnaround-ns = <5>;
+               st,fmc2-ebi-cs-data-setup-ns = <45>;
+               st,fmc2-ebi-cs-data-hold-ns = <1>;
+               st,fmc2-ebi-cs-write-address-setup-ns = <5>;
+               st,fmc2-ebi-cs-write-address-hold-ns = <5>;
+               st,fmc2-ebi-cs-write-bus-turnaround-ns = <5>;
+               st,fmc2-ebi-cs-write-data-setup-ns = <45>;
+               st,fmc2-ebi-cs-write-data-hold-ns = <1>;
+       };
+};
+
+&gpioa {
+       gpio-line-names = "", "", "", "",
+                         "", "", "DHCOM-K", "",
+                         "", "", "", "",
+                         "", "", "", "";
+};
+
+&gpiob {
+       gpio-line-names = "", "", "", "",
+                         "", "", "", "",
+                         "DHCOM-Q", "", "", "",
+                         "", "", "", "";
+};
+
+&gpioc {
+       gpio-line-names = "", "", "", "",
+                         "", "", "DHCOM-E", "",
+                         "", "", "", "",
+                         "", "", "", "";
+       status = "okay";
+};
+
+&gpiod {
+       gpio-line-names = "", "", "", "",
+                         "", "", "DHCOM-B", "",
+                         "", "", "", "DHCOM-F",
+                         "DHCOM-D", "", "", "";
+};
+
+&gpioe {
+       gpio-line-names = "", "", "", "",
+                         "", "", "DHCOM-P", "",
+                         "", "", "", "",
+                         "", "", "", "";
+};
+
+&gpiof {
+       gpio-line-names = "", "", "", "DHCOM-A",
+                         "", "", "", "",
+                         "", "", "", "",
+                         "", "", "", "";
+};
+
+&gpiog {
+       gpio-line-names = "DHCOM-C", "", "", "",
+                         "", "", "", "",
+                         "DHCOM-L", "", "", "",
+                         "", "", "", "";
+};
+
+&gpioh {
+       gpio-line-names = "", "", "", "",
+                         "", "", "", "DHCOM-N",
+                         "DHCOM-J", "DHCOM-W", "DHCOM-V", "DHCOM-U",
+                         "DHCOM-T", "", "DHCOM-S", "";
+};
+
+&gpioi {
+       gpio-line-names = "DHCOM-G", "DHCOM-O", "DHCOM-H", "DHCOM-I",
+                         "DHCOM-R", "DHCOM-M", "", "",
+                         "", "", "", "",
+                         "", "", "", "";
 };
 
 &i2c4 {
        /delete-property/dmas;
        /delete-property/dma-names;
 
+       hwrtc: rtc@32 {
+               compatible = "microcrystal,rv8803";
+               reg = <0x32>;
+       };
+
        pmic: stpmic@33 {
                compatible = "st,stpmic1";
                reg = <0x33>;
 
                        vdda: ldo1 {
                                regulator-name = "vdda";
+                               regulator-always-on;
                                regulator-min-microvolt = <2900000>;
                                regulator-max-microvolt = <2900000>;
                                interrupts = <IT_CURLIM_LDO1 0>;
 
                        vdd_usb: ldo4 {
                                regulator-name = "vdd_usb";
-                               regulator-min-microvolt = <3300000>;
-                               regulator-max-microvolt = <3300000>;
                                interrupts = <IT_CURLIM_LDO4 0>;
                        };
 
                        vref_ddr: vref_ddr {
                                regulator-name = "vref_ddr";
                                regulator-always-on;
-                               regulator-over-current-protection;
                        };
 
-                        bst_out: boost {
+                       bst_out: boost {
                                regulator-name = "bst_out";
                                interrupts = <IT_OCP_BOOST 0>;
-                        };
+                       };
 
                        vbus_otg: pwr_sw1 {
                                regulator-name = "vbus_otg";
                                interrupts = <IT_OCP_OTG 0>;
-                        };
+                       };
 
-                        vbus_sw: pwr_sw2 {
+                       vbus_sw: pwr_sw2 {
                                regulator-name = "vbus_sw";
                                interrupts = <IT_OCP_SWOUT 0>;
-                               regulator-active-discharge;
-                        };
+                               regulator-active-discharge = <1>;
+                       };
                };
 
                onkey {
                };
        };
 
-       eeprom0: eeprom@50 {
+       touchscreen@49 {
+               compatible = "ti,tsc2004";
+               reg = <0x49>;
+               vio-supply = <&v3v3>;
+               interrupts-extended = <&gpioh 15 IRQ_TYPE_EDGE_FALLING>;
+       };
+
+       eeprom@50 {
                compatible = "atmel,24c02";
                reg = <0x50>;
                pagesize = <16>;
        };
 };
 
-&i2c5 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&i2c5_pins_a>;
-       i2c-scl-rising-time-ns = <185>;
-       i2c-scl-falling-time-ns = <20>;
-       status = "okay";
-};
-
 &ipcc {
        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";
 };
 
        vdd_3v3_usbfs-supply = <&vdd_usb>;
 };
 
-&pinctrl {
-       ethernet0_rmii_pins_a: rmii-0 {
-               pins1 {
-                       pinmux = <STM32_PINMUX('G', 13, AF11)>, /* ETH1_RMII_TXD0 */
-                                <STM32_PINMUX('G', 14, AF11)>, /* ETH1_RMII_TXD1 */
-                                <STM32_PINMUX('B', 11, AF11)>, /* ETH1_RMII_TX_EN */
-                                <STM32_PINMUX('A', 1, AF11)>,  /* ETH1_RMII_REF_CLK */
-                                <STM32_PINMUX('A', 2, AF11)>,  /* ETH1_MDIO */
-                                <STM32_PINMUX('C', 1, AF11)>;  /* ETH1_MDC */
-                       bias-disable;
-                       drive-push-pull;
-                       slew-rate = <2>;
-               };
-               pins2 {
-                       pinmux = <STM32_PINMUX('C', 4, AF11)>,  /* ETH1_RMII_RXD0 */
-                                <STM32_PINMUX('C', 5, AF11)>,  /* ETH1_RMII_RXD1 */
-                                <STM32_PINMUX('A', 7, AF11)>;  /* ETH1_RMII_CRS_DV */
-                       bias-disable;
-               };
-       };
-
-       ethernet0_rmii_pins_sleep_a: rmii-sleep-0 {
-               pins1 {
-                       pinmux = <STM32_PINMUX('G', 13, ANALOG)>, /* ETH1_RMII_TXD0 */
-                                <STM32_PINMUX('G', 14, ANALOG)>, /* ETH1_RMII_TXD1 */
-                                <STM32_PINMUX('B', 11, ANALOG)>, /* ETH1_RMII_TX_EN */
-                                <STM32_PINMUX('A', 2, ANALOG)>,  /* ETH1_MDIO */
-                                <STM32_PINMUX('C', 1, ANALOG)>,  /* ETH1_MDC */
-                                <STM32_PINMUX('C', 4, ANALOG)>,  /* ETH1_RMII_RXD0 */
-                                <STM32_PINMUX('C', 5, ANALOG)>,  /* ETH1_RMII_RXD1 */
-                                <STM32_PINMUX('A', 1, ANALOG)>,  /* ETH1_RMII_REF_CLK */
-                                <STM32_PINMUX('A', 7, ANALOG)>;  /* ETH1_RMII_CRS_DV */
-               };
-       };
-};
-
 &qspi {
        pinctrl-names = "default", "sleep";
        pinctrl-0 = <&qspi_clk_pins_a &qspi_bk1_pins_a>;
        #size-cells = <0>;
        status = "okay";
 
-       flash0: mx66l51235l@0 {
+       flash0: flash@0 {
                compatible = "jedec,spi-nor";
                reg = <0>;
                spi-rx-bus-width = <4>;
 };
 
 &sdmmc1 {
-       pinctrl-names = "default", "opendrain", "sleep";
+       pinctrl-names = "default", "opendrain", "sleep", "init";
        pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_dir_pins_a>;
        pinctrl-1 = <&sdmmc1_b4_od_pins_a &sdmmc1_dir_pins_a>;
        pinctrl-2 = <&sdmmc1_b4_sleep_pins_a &sdmmc1_dir_sleep_pins_a>;
+       pinctrl-3 = <&sdmmc1_b4_init_pins_a &sdmmc1_dir_init_pins_a>;
        cd-gpios = <&gpiog 1 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
        disable-wp;
        st,sig-dir;
        st,neg-edge;
+       st,use-ckin;
+       st,cmd-gpios = <&gpiod 2 0>;
+       st,ck-gpios = <&gpioc 12 0>;
+       st,ckin-gpios = <&gpioe 4 0>;
        bus-width = <4>;
        vmmc-supply = <&vdd_sd>;
        status = "okay";
 };
 
 &sdmmc2 {
-       pinctrl-names = "default";
+       pinctrl-names = "default", "opendrain", "sleep";
        pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_a>;
+       pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_d47_pins_a>;
+       pinctrl-2 = <&sdmmc2_b4_sleep_pins_a &sdmmc2_d47_sleep_pins_a>;
        non-removable;
        no-sd;
        no-sdio;
-       st,sig-dir;
        st,neg-edge;
        bus-width = <8>;
        vmmc-supply = <&v3v3>;
+       vqmmc-supply = <&v3v3>;
+       mmc-ddr-3_3v;
        status = "okay";
 };
 
-&spi1 {
-       pinctrl-names = "default";
-       pinctrl-0 = <&spi1_pins_a>;
-       status = "disabled";
-};
-
-&timers2 {
-       /* spare dmas for other usage (un-delete to enable pwm capture) */
-       /delete-property/dmas;
-       /delete-property/dma-names;
-       status = "disabled";
-       pwm {
-               pinctrl-0 = <&pwm2_pins_a>;
-               pinctrl-names = "default";
-               status = "okay";
-       };
-       timer@1 {
-               status = "okay";
-       };
-};
-
-&timers6 {
+&sdmmc3 {
+       pinctrl-names = "default", "opendrain", "sleep";
+       pinctrl-0 = <&sdmmc3_b4_pins_a>;
+       pinctrl-1 = <&sdmmc3_b4_od_pins_a>;
+       pinctrl-2 = <&sdmmc3_b4_sleep_pins_a>;
+       broken-cd;
+       st,neg-edge;
+       bus-width = <4>;
+       vmmc-supply = <&v3v3>;
+       vqmmc-supply = <&v3v3>;
+       mmc-ddr-3_3v;
        status = "okay";
-       /* spare dmas for other usage */
-       /delete-property/dmas;
-       /delete-property/dma-names;
-       timer@5 {
-               status = "okay";
-       };
-};
-
-&timers8 {
-       /delete-property/dmas;
-       /delete-property/dma-names;
-       status = "disabled";
-       pwm {
-               pinctrl-0 = <&pwm8_pins_a>;
-               pinctrl-names = "default";
-               status = "okay";
-       };
-       timer@7 {
-               status = "okay";
-       };
-};
-
-&timers12 {
-       /delete-property/dmas;
-       /delete-property/dma-names;
-       status = "disabled";
-       pwm {
-               pinctrl-0 = <&pwm12_pins_a>;
-               pinctrl-names = "default";
-               status = "okay";
-       };
-       timer@11 {
-               status = "okay";
-       };
 };
 
 &uart4 {
        pinctrl-0 = <&uart4_pins_a>;
        status = "okay";
 };
-
-&usbh_ehci {
-       phys = <&usbphyc_port0>;
-       phy-names = "usb";
-       status = "okay";
-};
-
-&usbotg_hs {
-       dr_mode = "peripheral";
-       phys = <&usbphyc_port1 0>;
-       phy-names = "usb2-phy";
-       vbus-supply = <&vbus_otg>;
-       status = "okay";
-};
-
-&usbphyc {
-       status = "okay";
-};
-
-&usbphyc_port0 {
-       phy-supply = <&vdd_usb>;
-};
-
-&usbphyc_port1 {
-       phy-supply = <&vdd_usb>;
-};
index 5b2b09bcfb9e63c39bac81157b5ecb240d7dca97..f09f4290f62b7e908c222155fdc84b10e2434e7a 100644 (file)
@@ -9,6 +9,8 @@
 #include "stm32mp15-ddr3-dhsom-2x2Gb-1066-binG.dtsi"
 #include "stm32mp15-ddr3-dhsom-2x4Gb-1066-binG.dtsi"
 
+/delete-node/ &ksz8851;
+
 / {
        aliases {
                i2c1 = &i2c2;
@@ -18,7 +20,8 @@
                mmc1 = &sdmmc2;
                spi0 = &qspi;
                usb0 = &usbotg_hs;
-               ethernet1 = &ksz8851;
+               eeprom0 = &eeprom0;
+               ethernet1 = &ks8851;
        };
 
        config {
                dh,ddr3-coding-gpios = <&gpioz 6 0>, <&gpioz 7 0>;
        };
 
-       led {
-               red {
-                       label = "error";
-                       gpios = <&gpioa 13 GPIO_ACTIVE_LOW>;
-                       default-state = "off";
-                       status = "okay";
-               };
-
-               blue {
-                       default-state = "on";
-               };
-       };
-
        /* This is actually on FMC2, but we do not have bus driver for that */
-       ksz8851: ks8851mll@64000000 {
+       ks8851: ks8851mll@64000000 {
                compatible = "micrel,ks8851-mll";
                reg = <0x64000000 0x20000>;
        };
 };
 
+&ethernet0 {
+       phy-reset-gpios = <&gpioh 3 GPIO_ACTIVE_LOW>;
+       /delete-property/ st,eth-ref-clk-sel;
+};
+
+&ethernet0_rmii_pins_a {
+       pins1 {
+               pinmux = <STM32_PINMUX('G', 13, AF11)>, /* ETH1_RMII_TXD0 */
+                        <STM32_PINMUX('G', 14, AF11)>, /* ETH1_RMII_TXD1 */
+                        <STM32_PINMUX('B', 11, AF11)>, /* ETH1_RMII_TX_EN */
+                        <STM32_PINMUX('A', 1, AF11)>,  /* ETH1_RMII_REF_CLK */
+                        <STM32_PINMUX('A', 2, AF11)>,  /* ETH1_MDIO */
+                        <STM32_PINMUX('C', 1, AF11)>;  /* ETH1_MDC */
+       };
+};
+
 &i2c4 {
        u-boot,dm-pre-reloc;
+
+       eeprom0: eeprom@50 {
+       };
 };
 
 &i2c4_pins_a {
        };
 };
 
+&phy0 {
+       /delete-property/ reset-gpios;
+};
+
 &pinctrl {
        /* These should bound to FMC2 bus driver, but we do not have one */
        pinctrl-0 = <&fmc_pins_b &mco2_pins_a>;