Skip to content

Commit

Permalink
ARM: dts: stm32: Add Plymovent AQM devicetree
Browse files Browse the repository at this point in the history
Introduce the devicetree for the Plymovent AQM board
(stm32mp151c-plyaqm), based on the STM32MP151 SoC.

Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Link: https://lore.kernel.org/r/20250305131425.1491769-5-o.rempel@pengutronix.de
Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
  • Loading branch information
Oleksij Rempel authored and Alexandre Torgue committed Mar 11, 2025
1 parent 0144bc5 commit 9365fa4
Show file tree
Hide file tree
Showing 2 changed files with 377 additions and 0 deletions.
1 change: 1 addition & 0 deletions arch/arm/boot/dts/st/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ dtb-$(CONFIG_ARCH_STM32) += \
stm32mp151a-dhcor-testbench.dtb \
stm32mp151c-mecio1r0.dtb \
stm32mp151c-mect1s.dtb \
stm32mp151c-plyaqm.dtb \
stm32mp153c-dhcom-drc02.dtb \
stm32mp153c-dhcor-drc-compact.dtb \
stm32mp153c-lxa-fairytux2-gen1.dtb \
Expand Down
376 changes: 376 additions & 0 deletions arch/arm/boot/dts/st/stm32mp151c-plyaqm.dts
Original file line number Diff line number Diff line change
@@ -0,0 +1,376 @@
// 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 = &ethernet0;
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";
};

&ethernet0 {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&ethernet0_rmii_pins_d>;
pinctrl-1 = <&ethernet0_rmii_sleep_pins_d>;
phy-mode = "rmii";
max-speed = <100>;
phy-handle = <&ethphy0>;
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";
};
};

0 comments on commit 9365fa4

Please sign in to comment.