mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-08-05 16:54:27 +00:00
377 lines
7.4 KiB
Text
377 lines
7.4 KiB
Text
![]() |
// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
|
||
|
/dts-v1/;
|
||
|
|
||
|
#include <arm/st/stm32mp151.dtsi>
|
||
|
#include <arm/st/stm32mp15xc.dtsi>
|
||
|
#include <arm/st/stm32mp15-pinctrl.dtsi>
|
||
|
#include <arm/st/stm32mp15xxad-pinctrl.dtsi>
|
||
|
#include <arm/st/stm32mp15-scmi.dtsi>
|
||
|
#include <dt-bindings/gpio/gpio.h>
|
||
|
#include <dt-bindings/leds/common.h>
|
||
|
|
||
|
/ {
|
||
|
model = "Plymovent AQM board";
|
||
|
compatible = "ply,plyaqm", "st,stm32mp151";
|
||
|
|
||
|
aliases {
|
||
|
ethernet0 = ðernet0;
|
||
|
serial0 = &uart4;
|
||
|
serial1 = &uart7;
|
||
|
};
|
||
|
|
||
|
codec {
|
||
|
compatible = "invensense,ics43432";
|
||
|
|
||
|
port {
|
||
|
codec_endpoint: endpoint {
|
||
|
remote-endpoint = <&i2s1_endpoint>;
|
||
|
dai-format = "i2s";
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
firmware {
|
||
|
optee {
|
||
|
compatible = "linaro,optee-tz";
|
||
|
method = "smc";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
leds {
|
||
|
compatible = "gpio-leds";
|
||
|
|
||
|
led-0 {
|
||
|
gpios = <&gpioa 3 GPIO_ACTIVE_HIGH>; /* WHITE_EN */
|
||
|
color = <LED_COLOR_ID_WHITE>;
|
||
|
default-state = "on";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
v3v3: fixed-regulator-v3v3 {
|
||
|
compatible = "regulator-fixed";
|
||
|
regulator-name = "v3v3";
|
||
|
regulator-min-microvolt = <3300000>;
|
||
|
regulator-max-microvolt = <3300000>;
|
||
|
};
|
||
|
|
||
|
v5v_sw: fixed-regulator-v5sw {
|
||
|
compatible = "regulator-fixed";
|
||
|
regulator-name = "5v-switched";
|
||
|
regulator-min-microvolt = <5000000>;
|
||
|
regulator-max-microvolt = <5000000>;
|
||
|
gpio = <&gpioe 10 GPIO_ACTIVE_HIGH>; /* 5V_SWITCHED_EN */
|
||
|
startup-delay-us = <100000>;
|
||
|
enable-active-high;
|
||
|
regulator-boot-on;
|
||
|
};
|
||
|
|
||
|
reserved-memory {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <1>;
|
||
|
ranges;
|
||
|
|
||
|
optee@cfd00000 {
|
||
|
reg = <0xcfd00000 0x300000>;
|
||
|
no-map;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
sound {
|
||
|
compatible = "audio-graph-card";
|
||
|
label = "STM32MP15";
|
||
|
dais = <&i2s1_port>;
|
||
|
};
|
||
|
|
||
|
wifi_pwrseq: wifi-pwrseq {
|
||
|
compatible = "mmc-pwrseq-simple";
|
||
|
reset-gpios = <&gpioe 12 GPIO_ACTIVE_LOW>; /* WLAN_REG_ON */
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&adc {
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&adc1_in10_pins_a>;
|
||
|
vdda-supply = <&v3v3>;
|
||
|
vref-supply = <&v3v3>;
|
||
|
status = "okay";
|
||
|
|
||
|
adc@0 {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
status = "okay";
|
||
|
|
||
|
channel@10 { /* NTC */
|
||
|
reg = <10>;
|
||
|
st,min-sample-time-ns = <10000>; /* 10µs sampling time */
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&cpu0 {
|
||
|
clocks = <&scmi_clk CK_SCMI_MPU>;
|
||
|
};
|
||
|
|
||
|
&cryp1 {
|
||
|
clocks = <&scmi_clk CK_SCMI_CRYP1>;
|
||
|
resets = <&scmi_reset RST_SCMI_CRYP1>;
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
ðernet0 {
|
||
|
pinctrl-names = "default", "sleep";
|
||
|
pinctrl-0 = <ðernet0_rmii_pins_d>;
|
||
|
pinctrl-1 = <ðernet0_rmii_sleep_pins_d>;
|
||
|
phy-mode = "rmii";
|
||
|
max-speed = <100>;
|
||
|
phy-handle = <ðphy0>;
|
||
|
status = "okay";
|
||
|
|
||
|
mdio {
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
compatible = "snps,dwmac-mdio";
|
||
|
|
||
|
/* KSZ8081RNA PHY */
|
||
|
ethphy0: ethernet-phy@0 {
|
||
|
reg = <0>;
|
||
|
interrupts-extended = <&gpiob 0 IRQ_TYPE_LEVEL_LOW>;
|
||
|
reset-gpios = <&gpiob 1 GPIO_ACTIVE_LOW>;
|
||
|
reset-assert-us = <10000>;
|
||
|
reset-deassert-us = <300>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&gpioa {
|
||
|
gpio-line-names =
|
||
|
"", "", "", "", "", "", "", "",
|
||
|
"", "", "", "", "", "HWID_PL_N", "HWID_CP", "";
|
||
|
};
|
||
|
|
||
|
&gpiob {
|
||
|
gpio-line-names =
|
||
|
"", "", "", "", "", "", "LED_LATCH", "",
|
||
|
"", "RELAY1_EN", "", "", "", "", "", "";
|
||
|
};
|
||
|
|
||
|
&gpioc {
|
||
|
gpio-line-names =
|
||
|
"", "", "", "", "", "", "", "",
|
||
|
"", "", "", "", "", "HWID_Q7", "", "";
|
||
|
};
|
||
|
|
||
|
&gpioe {
|
||
|
gpio-line-names =
|
||
|
"", "", "", "", "RELAY2_EN", "", "", "",
|
||
|
"", "", "", "", "", "", "", "";
|
||
|
};
|
||
|
|
||
|
&gpiog {
|
||
|
gpio-line-names =
|
||
|
"", "", "", "", "", "", "", "SW1",
|
||
|
"", "", "", "", "", "", "", "";
|
||
|
};
|
||
|
|
||
|
&gpioz {
|
||
|
clocks = <&scmi_clk CK_SCMI_GPIOZ>;
|
||
|
};
|
||
|
|
||
|
&hash1 {
|
||
|
clocks = <&scmi_clk CK_SCMI_HASH1>;
|
||
|
resets = <&scmi_reset RST_SCMI_HASH1>;
|
||
|
};
|
||
|
|
||
|
&i2c1 {
|
||
|
pinctrl-names = "default", "sleep";
|
||
|
pinctrl-0 = <&i2c1_pins_c>;
|
||
|
pinctrl-1 = <&i2c1_sleep_pins_c>;
|
||
|
i2c-scl-rising-time-ns = <185>;
|
||
|
i2c-scl-falling-time-ns = <20>;
|
||
|
status = "okay";
|
||
|
/delete-property/dmas;
|
||
|
/delete-property/dma-names;
|
||
|
};
|
||
|
|
||
|
&i2c4 {
|
||
|
clocks = <&scmi_clk CK_SCMI_I2C4>;
|
||
|
resets = <&scmi_reset RST_SCMI_I2C4>;
|
||
|
};
|
||
|
|
||
|
&i2c6 {
|
||
|
pinctrl-names = "default", "sleep";
|
||
|
pinctrl-0 = <&i2c6_pins_b>;
|
||
|
pinctrl-1 = <&i2c6_sleep_pins_b>;
|
||
|
i2c-scl-rising-time-ns = <185>;
|
||
|
i2c-scl-falling-time-ns = <20>;
|
||
|
clocks = <&scmi_clk CK_SCMI_I2C6>;
|
||
|
resets = <&scmi_reset RST_SCMI_I2C6>;
|
||
|
status = "okay";
|
||
|
/delete-property/dmas;
|
||
|
/delete-property/dma-names;
|
||
|
|
||
|
pressure-sensor@47 {
|
||
|
compatible = "bosch,bmp580";
|
||
|
reg = <0x47>;
|
||
|
vdda-supply = <&v5v_sw>;
|
||
|
vddd-supply = <&v5v_sw>;
|
||
|
};
|
||
|
|
||
|
co2-sensor@62 {
|
||
|
compatible = "sensirion,scd41";
|
||
|
reg = <0x62>;
|
||
|
vdd-supply = <&v5v_sw>;
|
||
|
};
|
||
|
|
||
|
pm-sensor@69 {
|
||
|
compatible = "sensirion,sps30";
|
||
|
reg = <0x69>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&i2s1 {
|
||
|
pinctrl-names = "default", "sleep";
|
||
|
pinctrl-0 = <&i2s1_pins_a>;
|
||
|
pinctrl-1 = <&i2s1_sleep_pins_a>;
|
||
|
clocks = <&rcc SPI1>, <&rcc SPI1_K>, <&rcc PLL3_Q>, <&rcc PLL3_R>;
|
||
|
clock-names = "pclk", "i2sclk", "x8k", "x11k";
|
||
|
#clock-cells = <0>; /* Set I2S2 as master clock provider */
|
||
|
status = "okay";
|
||
|
|
||
|
i2s1_port: port {
|
||
|
i2s1_endpoint: endpoint {
|
||
|
format = "i2s";
|
||
|
mclk-fs = <256>;
|
||
|
remote-endpoint = <&codec_endpoint>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&iwdg2 {
|
||
|
clocks = <&rcc IWDG2>, <&scmi_clk CK_SCMI_LSI>;
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&m4_rproc {
|
||
|
/delete-property/ st,syscfg-holdboot;
|
||
|
resets = <&scmi_reset RST_SCMI_MCU>,
|
||
|
<&scmi_reset RST_SCMI_MCU_HOLD_BOOT>;
|
||
|
reset-names = "mcu_rst", "hold_boot";
|
||
|
};
|
||
|
|
||
|
&mdma1 {
|
||
|
resets = <&scmi_reset RST_SCMI_MDMA>;
|
||
|
};
|
||
|
|
||
|
&rcc {
|
||
|
compatible = "st,stm32mp1-rcc-secure", "syscon";
|
||
|
clock-names = "hse", "hsi", "csi", "lse", "lsi";
|
||
|
clocks = <&scmi_clk CK_SCMI_HSE>,
|
||
|
<&scmi_clk CK_SCMI_HSI>,
|
||
|
<&scmi_clk CK_SCMI_CSI>,
|
||
|
<&scmi_clk CK_SCMI_LSE>,
|
||
|
<&scmi_clk CK_SCMI_LSI>;
|
||
|
};
|
||
|
|
||
|
&rng1 {
|
||
|
clocks = <&scmi_clk CK_SCMI_RNG1>;
|
||
|
resets = <&scmi_reset RST_SCMI_RNG1>;
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&rtc {
|
||
|
clocks = <&scmi_clk CK_SCMI_RTCAPB>, <&scmi_clk CK_SCMI_RTC>;
|
||
|
};
|
||
|
|
||
|
/* SD card without Card-detect */
|
||
|
&sdmmc1 {
|
||
|
pinctrl-names = "default", "opendrain", "sleep";
|
||
|
pinctrl-0 = <&sdmmc1_b4_pins_a>;
|
||
|
pinctrl-1 = <&sdmmc1_b4_od_pins_a>;
|
||
|
pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>;
|
||
|
broken-cd;
|
||
|
no-sdio;
|
||
|
no-1-8-v;
|
||
|
st,neg-edge;
|
||
|
bus-width = <4>;
|
||
|
vmmc-supply = <&v3v3>;
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
/* EMMC */
|
||
|
&sdmmc2 {
|
||
|
pinctrl-names = "default", "opendrain", "sleep";
|
||
|
pinctrl-0 = <&sdmmc2_b4_pins_c &sdmmc2_d47_pins_b>;
|
||
|
pinctrl-1 = <&sdmmc2_b4_od_pins_c &sdmmc2_d47_pins_b>;
|
||
|
pinctrl-2 = <&sdmmc2_b4_sleep_pins_c &sdmmc2_d47_sleep_pins_b>;
|
||
|
non-removable;
|
||
|
no-sd;
|
||
|
no-sdio;
|
||
|
no-1-8-v;
|
||
|
st,neg-edge;
|
||
|
bus-width = <8>;
|
||
|
vmmc-supply = <&v3v3>;
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
/* Wifi */
|
||
|
&sdmmc3 {
|
||
|
pinctrl-names = "default", "opendrain", "sleep";
|
||
|
pinctrl-0 = <&sdmmc3_b4_pins_c>;
|
||
|
pinctrl-1 = <&sdmmc3_b4_od_pins_c>;
|
||
|
pinctrl-2 = <&sdmmc3_b4_sleep_pins_c>;
|
||
|
non-removable;
|
||
|
st,neg-edge;
|
||
|
bus-width = <4>;
|
||
|
vmmc-supply = <&v3v3>;
|
||
|
mmc-pwrseq = <&wifi_pwrseq>;
|
||
|
#address-cells = <1>;
|
||
|
#size-cells = <0>;
|
||
|
status = "okay";
|
||
|
|
||
|
wifi@1 {
|
||
|
reg = <1>;
|
||
|
compatible = "brcm,bcm4329-fmac";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&timers5 {
|
||
|
status = "okay";
|
||
|
/delete-property/dmas;
|
||
|
/delete-property/dma-names;
|
||
|
|
||
|
pwm {
|
||
|
pinctrl-0 = <&pwm1_pins_d>;
|
||
|
pinctrl-1 = <&pwm1_sleep_pins_d>;
|
||
|
pinctrl-names = "default", "sleep";
|
||
|
status = "okay";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
&uart4 {
|
||
|
pinctrl-names = "default", "sleep", "idle";
|
||
|
pinctrl-0 = <&uart4_pins_e>;
|
||
|
pinctrl-1 = <&uart4_idle_pins_e>;
|
||
|
pinctrl-2 = <&uart4_sleep_pins_e>;
|
||
|
/delete-property/dmas;
|
||
|
/delete-property/dma-names;
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
&uart7 {
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <&uart7_pins_d>;
|
||
|
uart-has-rtscts;
|
||
|
status = "okay";
|
||
|
|
||
|
bluetooth {
|
||
|
compatible = "brcm,bcm43438-bt";
|
||
|
shutdown-gpios = <&gpioe 11 GPIO_ACTIVE_HIGH>; /* BT_REG_ON */
|
||
|
max-speed = <4000000>;
|
||
|
vbat-supply = <&v3v3>;
|
||
|
vddio-supply = <&v3v3>;
|
||
|
interrupt-parent = <&gpiog>;
|
||
|
interrupts = <12 IRQ_TYPE_EDGE_RISING>; /* BT_HOST_WAKE */
|
||
|
interrupt-names = "host-wakeup";
|
||
|
};
|
||
|
};
|