mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-21 06:31:31 +00:00
ARM: dts: stm32: Synchronize DHCOM DTs with Linux 5.15.12
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>
This commit is contained in:
parent
6b8bd70904
commit
332facce6f
10 changed files with 917 additions and 424 deletions
|
@ -2,166 +2,14 @@
|
|||
/*
|
||||
* 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 = <®11>;
|
||||
vdda1v8-supply = <®18>;
|
||||
};
|
||||
|
|
165
arch/arm/dts/stm32mp15xx-dhcom-drc02.dtsi
Normal file
165
arch/arm/dts/stm32mp15xx-dhcom-drc02.dtsi
Normal file
|
@ -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>;
|
||||
};
|
|
@ -4,3 +4,7 @@
|
|||
*/
|
||||
|
||||
#include "stm32mp15xx-dhcom-u-boot.dtsi"
|
||||
|
||||
&usbotg_hs {
|
||||
dr_mode = "peripheral";
|
||||
};
|
||||
|
|
|
@ -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";
|
||||
};
|
||||
};
|
||||
|
|
325
arch/arm/dts/stm32mp15xx-dhcom-pdk2.dtsi
Normal file
325
arch/arm/dts/stm32mp15xx-dhcom-pdk2.dtsi
Normal file
|
@ -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 = <®_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 = <®_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 = <®_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 */
|
||||
};
|
||||
};
|
||||
|
||||
<dc {
|
||||
pinctrl-names = "default", "sleep";
|
||||
pinctrl-0 = <<dc_pins_b>;
|
||||
pinctrl-1 = <<dc_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>;
|
||||
};
|
|
@ -11,4 +11,8 @@
|
|||
};
|
||||
};
|
||||
|
||||
/delete-node/ &ksz8851;
|
||||
/delete-node/ &ks8851;
|
||||
|
||||
&usbotg_hs {
|
||||
dr_mode = "peripheral";
|
||||
};
|
||||
|
|
|
@ -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 = <®11>;
|
||||
vdda1v8-supply = <®18>;
|
||||
};
|
||||
|
|
147
arch/arm/dts/stm32mp15xx-dhcom-picoitx.dtsi
Normal file
147
arch/arm/dts/stm32mp15xx-dhcom-picoitx.dtsi
Normal file
|
@ -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>;
|
||||
};
|
|
@ -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>
|
||||
|
@ -13,8 +10,10 @@
|
|||
|
||||
/ {
|
||||
aliases {
|
||||
eeprom0 = &eeprom0;
|
||||
ethernet0 = ðernet0;
|
||||
ethernet1 = &ksz8851;
|
||||
rtc0 = &hwrtc;
|
||||
rtc1 = &rtc;
|
||||
};
|
||||
|
||||
memory@c0000000 {
|
||||
|
@ -22,6 +21,48 @@
|
|||
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";
|
||||
|
@ -30,20 +71,45 @@
|
|||
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";
|
||||
};
|
||||
};
|
||||
|
||||
&crc1 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&dcmi {
|
||||
&dac {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&dac_ch1_pins_a &dac_ch2_pins_a>;
|
||||
vref-supply = <&vdda>;
|
||||
status = "okay";
|
||||
pinctrl-names = "default", "sleep";
|
||||
pinctrl-0 = <&dcmi_pins_a>;
|
||||
pinctrl-1 = <&dcmi_sleep_pins_a>;
|
||||
|
||||
dac1: dac@1 {
|
||||
status = "okay";
|
||||
};
|
||||
dac2: dac@2 {
|
||||
status = "okay";
|
||||
};
|
||||
};
|
||||
|
||||
&dts {
|
||||
|
@ -53,12 +119,12 @@
|
|||
ðernet0 {
|
||||
status = "okay";
|
||||
pinctrl-0 = <ðernet0_rmii_pins_a>;
|
||||
pinctrl-1 = <ðernet0_rmii_pins_sleep_a>;
|
||||
pinctrl-1 = <ðernet0_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>;
|
||||
|
@ -67,16 +133,112 @@
|
|||
|
||||
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 {
|
||||
|
@ -89,6 +251,11 @@
|
|||
/delete-property/dmas;
|
||||
/delete-property/dma-names;
|
||||
|
||||
hwrtc: rtc@32 {
|
||||
compatible = "microcrystal,rv8803";
|
||||
reg = <0x32>;
|
||||
};
|
||||
|
||||
pmic: stpmic@33 {
|
||||
compatible = "st,stpmic1";
|
||||
reg = <0x33>;
|
||||
|
@ -146,6 +313,7 @@
|
|||
|
||||
vdda: ldo1 {
|
||||
regulator-name = "vdda";
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <2900000>;
|
||||
regulator-max-microvolt = <2900000>;
|
||||
interrupts = <IT_CURLIM_LDO1 0>;
|
||||
|
@ -168,8 +336,6 @@
|
|||
|
||||
vdd_usb: ldo4 {
|
||||
regulator-name = "vdd_usb";
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
interrupts = <IT_CURLIM_LDO4 0>;
|
||||
};
|
||||
|
||||
|
@ -191,24 +357,23 @@
|
|||
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 {
|
||||
|
@ -225,21 +390,20 @@
|
|||
};
|
||||
};
|
||||
|
||||
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";
|
||||
};
|
||||
|
@ -250,8 +414,12 @@
|
|||
};
|
||||
|
||||
&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";
|
||||
};
|
||||
|
||||
|
@ -260,42 +428,6 @@
|
|||
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>;
|
||||
|
@ -305,7 +437,7 @@
|
|||
#size-cells = <0>;
|
||||
status = "okay";
|
||||
|
||||
flash0: mx66l51235l@0 {
|
||||
flash0: flash@0 {
|
||||
compatible = "jedec,spi-nor";
|
||||
reg = <0>;
|
||||
spi-rx-bus-width = <4>;
|
||||
|
@ -324,14 +456,19 @@
|
|||
};
|
||||
|
||||
&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";
|
||||
|
@ -352,75 +489,33 @@
|
|||
};
|
||||
|
||||
&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 {
|
||||
|
@ -428,29 +523,3 @@
|
|||
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>;
|
||||
};
|
|
@ -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 {
|
||||
|
@ -30,28 +33,34 @@
|
|||
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>;
|
||||
};
|
||||
};
|
||||
|
||||
ðernet0 {
|
||||
phy-reset-gpios = <&gpioh 3 GPIO_ACTIVE_LOW>;
|
||||
/delete-property/ st,eth-ref-clk-sel;
|
||||
};
|
||||
|
||||
ðernet0_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 {
|
||||
|
@ -61,6 +70,10 @@
|
|||
};
|
||||
};
|
||||
|
||||
&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>;
|
||||
|
|
Loading…
Add table
Reference in a new issue