mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
34e0c7847d
Add support for DH Electronics DHCOM SoM and PDK2 rev. 400 carrier board. This is an SoM with STM32MP157C and an evaluation kit. The baseboard provides Ethernet, UART, USB, CAN and optional display. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Alexandre Torgue <alexandre.torgue@st.com> Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com> Cc: Patrice Chotard <patrice.chotard@st.com> Cc: Patrick Delaunay <patrick.delaunay@st.com> Cc: linux-stm32@st-md-mailman.stormreply.com To: linux-arm-kernel@lists.infradead.org Signed-off-by: Alexandre Torgue <alexandre.torgue@st.com>
266 lines
5.1 KiB
Plaintext
266 lines
5.1 KiB
Plaintext
// SPDX-License-Identifier: GPL-2.0+ OR BSD-3-Clause
|
|
/*
|
|
* Copyright (C) 2019 Marek Vasut <marex@denx.de>
|
|
*/
|
|
|
|
#include "stm32mp157c-dhcom-som.dtsi"
|
|
#include <dt-bindings/pwm/pwm.h>
|
|
|
|
/ {
|
|
model = "STMicroelectronics STM32MP157C DHCOM Premium Developer Kit (2)";
|
|
compatible = "dh,stm32mp157c-dhcom-pdk2", "st,stm32mp157";
|
|
|
|
aliases {
|
|
serial0 = &uart4;
|
|
serial1 = &usart3;
|
|
serial2 = &uart8;
|
|
ethernet0 = ðernet0;
|
|
};
|
|
|
|
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 0 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>;
|
|
status = "okay";
|
|
};
|
|
|
|
ethernet_vio: vioregulator {
|
|
compatible = "regulator-fixed";
|
|
regulator-name = "vio";
|
|
regulator-min-microvolt = <3300000>;
|
|
regulator-max-microvolt = <3300000>;
|
|
gpio = <&gpiog 3 GPIO_ACTIVE_LOW>;
|
|
regulator-always-on;
|
|
regulator-boot-on;
|
|
};
|
|
|
|
panel {
|
|
compatible = "edt,etm0700g0edh6";
|
|
backlight = <&display_bl>;
|
|
|
|
port {
|
|
lcd_panel_in: endpoint {
|
|
remote-endpoint = <&lcd_display_out>;
|
|
};
|
|
};
|
|
};
|
|
|
|
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";
|
|
};
|
|
|
|
ðernet0 {
|
|
status = "okay";
|
|
pinctrl-0 = <ðernet0_rmii_pins_a>;
|
|
pinctrl-1 = <ðernet0_rmii_pins_sleep_a>;
|
|
pinctrl-names = "default", "sleep";
|
|
phy-mode = "rmii";
|
|
max-speed = <100>;
|
|
phy-handle = <&phy0>;
|
|
st,eth-ref-clk-sel;
|
|
phy-reset-gpios = <&gpioh 15 GPIO_ACTIVE_LOW>;
|
|
|
|
mdio0 {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
compatible = "snps,dwmac-mdio";
|
|
|
|
phy0: ethernet-phy@1 {
|
|
reg = <1>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&i2c5 {
|
|
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;
|
|
bitclock-master;
|
|
};
|
|
|
|
sgtl5000_rx_endpoint: endpoint@1 {
|
|
reg = <1>;
|
|
remote-endpoint = <&sai2b_endpoint>;
|
|
frame-master;
|
|
bitclock-master;
|
|
};
|
|
};
|
|
|
|
};
|
|
|
|
polytouch@38 {
|
|
compatible = "edt,edt-ft5x06";
|
|
reg = <0x38>;
|
|
interrupt-parent = <&gpiog>;
|
|
interrupts = <2 IRQ_TYPE_EDGE_FALLING>; /* GPIO E */
|
|
linux,wakeup;
|
|
};
|
|
};
|
|
|
|
<dc {
|
|
pinctrl-names = "default", "sleep";
|
|
pinctrl-0 = <<dc_pins_b>;
|
|
pinctrl-1 = <<dc_pins_sleep_b>;
|
|
status = "okay";
|
|
|
|
port {
|
|
lcd_display_out: endpoint {
|
|
remote-endpoint = <&lcd_panel_in>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&m_can1 {
|
|
pinctrl-names = "default", "sleep";
|
|
pinctrl-0 = <&m_can1_pins_a>;
|
|
pinctrl-1 = <&m_can1_sleep_pins_a>;
|
|
status = "okay";
|
|
};
|
|
|
|
&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>;
|
|
status = "okay";
|
|
};
|
|
|
|
&usbh_ehci {
|
|
phys = <&usbphyc_port0>;
|
|
status = "okay";
|
|
};
|
|
|
|
&usbotg_hs {
|
|
dr_mode = "peripheral";
|
|
phys = <&usbphyc_port1 0>;
|
|
phy-names = "usb2-phy";
|
|
status = "okay";
|
|
};
|
|
|
|
&usbphyc {
|
|
status = "okay";
|
|
};
|
|
|
|
&usbphyc_port0 {
|
|
phy-supply = <&vdd_usb>;
|
|
vdda1v1-supply = <®11>;
|
|
vdda1v8-supply = <®18>;
|
|
};
|
|
|
|
&usbphyc_port1 {
|
|
phy-supply = <&vdd_usb>;
|
|
vdda1v1-supply = <®11>;
|
|
vdda1v8-supply = <®18>;
|
|
};
|