STM32 DT for v6.20, round 1

Highlights:
 ----------
 
 - MCU:
   - Update/add Led support on ST boards.
 
 - MPU:
   - STM32MP13:
     - Add boot led and red led on ST DK board.
 
   - STMP32MP15:
     - Add boot led and red led on ST DK boards.
     - Add SPI1 sleep pinctrl group.
 
   - STM32MP23:
     - Add green ,orange and boot leds on ST boards.
     - Add SPI, I2C, DCMIPP and CSI instances to CLUSTER_PD
       power domain.
     - Enable analog-filter to all I2C instances.
 
   - STM32MP25:
     - Add green ,orange and boot leds on ST boards.
     - Add SPI, I2C, DCMIPP and CSI instances to CLUSTER_PD
       power domain.
     - Enable analog-filter to all I2C instances.
     - Add LPDDR/DDR channels to ST boards.
 -----BEGIN PGP SIGNATURE-----
 
 iQJRBAABCgA7FiEEctl9+nxzUSUqdELdf5rJavIecIUFAmlvehkdHGFsZXhhbmRy
 ZS50b3JndWVAZm9zcy5zdC5jb20ACgkQf5rJavIecIVXyg/9FTPNpAMFzYJqDeDY
 pb+94UFLQZkcLo2lLBNUL3/dD3ArsLCidMkVaU/oVbHzYKhzseWxMvFtVb37GCb4
 tiOaZxTVgsnVVVjbtf+p+K8CZ+FDI5o0SZa/Ge9PJz0enyGYSB9DuI7QWmGUd+FK
 OklNsdVwQmxk3uNE9pRqe7bPi0JxKtwNF5/D5USgZHBQYfHk8szDHqgvyoUjChbQ
 oKkn4MGsoNCYc5c9BoSTeQ69IlJugivX0QmhNUtGhoFwvnGPxw3PfaWt8Ts64ToK
 S0D83JBxHLG/fbD6B4y5HlSm3vog5K5kXb2Hiy0FVvsSvknYRIuR7Ih7+HcXt6rX
 K6HjSUXY8r1bAcgeu634hIp961KdFA+PLmFEh6ZDgEzL6cXFhXf8eaHhJqZHmZlC
 V7AM0mh2O0xL43jLwVNCFolCPszZe8wDpyTJvfnMcQDmLuYFyV6qVOdpidDMusiC
 stlH/K2Av82uJCkNerMY/K6N06HYfLbuMVFN8jajfa7Zf50jY357EFkGWL49sXRF
 5rB50eBDVxG/ii49ODEKnMRlyD2GKSNLGE8moU0Q2M3jEnuZ3YY21rmoBAgZUJGs
 og/g/ls4l1+UxLwSUJdzo+2T4Tv5lnUpfvcDhXgbDC7pCejd11wjM0osE16HoZf2
 IR/jW/l+60CM+QJ/cJirX2hFcJQ=
 =fwdw
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAml6NCsACgkQmmx57+YA
 GNno7BAAjnR73eMOGwmj0v3h/Fgzn0B/mJVmD3lEMLMtkjHd9WXWjDu7ubKD6ufZ
 WYRfaFMqSwrXYX6x0F3EfzW3LZjHasWSSFcAJMVgLNywqiQEYvX6ArvyLBDLi8wd
 7XrE7wGgpoQ5U/TTyaFgo23LF3EFVqfQuUwFzqzEy7eQL0sLLCn4arb84PPPszGn
 SCrDS+lB1Me/+hOHItB+FHETbpavCkD3H9HbCzfXIanwcHMBp/iwz4HDxkry9KS6
 bwQl22qnjPXQOvLHb+ooh7bWm0JA82Oed1FSm99hZIBY63N1TsCLm3Y6yTPX8Qve
 PwHtfJMcV99lm9bR0UCZ+Q9ENzDHtvlD/CvYC7kbxmu/6WHHPdWwV4rUoIWvMb/8
 KPoa9j0BbV2aKIuYwjWqsO4X8Ir26jc+T3+gwZkh/Y13EFgR8DPK8QB6/eT+DlzS
 Mf/6dBvdprCMA/BfM6sZ/Mzhgc3fN2xucBtFOeEaezbb5C05wvOAzhUt+ytwg2Nj
 pIvC5uctX/Q1QWHnSHpEXgo1pqWm4k37gFv1CvH5KaaAj0k/H0424QiqrmIG2cn6
 2/9TcXiLwuBd4yFOf5Vyy3aQLrMFHN6DhA5PGAhyI9NvWSUh0XvBSOiOsshWrz39
 /yeSq6rxcbXr5huHsXTMyw55huR9a3fPpwJ2ctqlkovWIYWqBr4=
 =ttY4
 -----END PGP SIGNATURE-----

Merge tag 'stm32-dt-for-v6.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32 into soc/dt

STM32 DT for v6.20, round 1

Highlights:
----------

- MCU:
  - Update/add Led support on ST boards.

- MPU:
  - STM32MP13:
    - Add boot led and red led on ST DK board.

  - STMP32MP15:
    - Add boot led and red led on ST DK boards.
    - Add SPI1 sleep pinctrl group.

  - STM32MP23:
    - Add green ,orange and boot leds on ST boards.
    - Add SPI, I2C, DCMIPP and CSI instances to CLUSTER_PD
      power domain.
    - Enable analog-filter to all I2C instances.

  - STM32MP25:
    - Add green ,orange and boot leds on ST boards.
    - Add SPI, I2C, DCMIPP and CSI instances to CLUSTER_PD
      power domain.
    - Enable analog-filter to all I2C instances.
    - Add LPDDR/DDR channels to ST boards.

* tag 'stm32-dt-for-v6.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32: (31 commits)
  arm/arm64: dts: st: Drop unused .dtsi
  arm64: STM32: drop an undefined Kconfig symbol
  arm64: dts: st: Minor whitespace cleanup
  arm64: dts: st: Use hyphen in node names
  arm64: dts: st: add power-domain of dcmipp in stm32mp231.dtsi
  arm64: dts: st: add power-domain of dcmipp in stm32mp251.dtsi
  dt-bindings: media: st: dcmipp: add 'power-domains' property
  arm64: dts: st: add power-domain of csi in stm32mp231.dtsi
  arm64: dts: st: add power-domain of csi in stm32mp251.dtsi
  dt-bindings: media: st: csi: add 'power-domains' property
  ARM: dts: stm32: add spi1 sleep state pinctrl on stm32mp157c-ev1
  arm64: dts: st: add DDR channel to stm32mp257f-ev1 board
  arm64: dts: st: add LPDDR channel to stm32mp257f-dk board
  arm64: dts: st: enable i2c analog-filter in stm32mp231.dtsi
  arm64: dts: st: enable i2c analog-filter in stm32mp251.dtsi
  arm64: dts: st: add power-domains in all i2c of stm32mp231.dtsi
  arm64: dts: st: add power-domains in all i2c of stm32mp251.dtsi
  dt-bindings: i2c: st,stm32-i2c: add 'power-domains' property
  arm64: dts: st: add power-domains in all spi of stm32mp231.dtsi
  arm64: dts: st: add power-domains in all spi of stm32mp251.dtsi
  ...

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Arnd Bergmann 2026-01-28 17:04:28 +01:00
commit 1092e5c0d1
28 changed files with 365 additions and 228 deletions

View File

@ -127,6 +127,9 @@ properties:
wakeup-source: true
power-domains:
maxItems: 1
access-controllers:
minItems: 1
maxItems: 2

View File

@ -37,6 +37,9 @@ properties:
resets:
maxItems: 1
power-domains:
maxItems: 1
access-controllers:
minItems: 1
maxItems: 2

View File

@ -46,6 +46,9 @@ properties:
minItems: 1
maxItems: 2
power-domains:
maxItems: 1
ports:
$ref: /schemas/graph.yaml#/properties/ports

View File

@ -1,24 +0,0 @@
// SPDX-License-Identifier: GPL-2.0-or-later
/*
* DTS file for SPEAr320s SoC
*
* Copyright 2021 Herve Codina <herve.codina@bootlin.com>
*/
/include/ "spear320.dtsi"
/ {
ahb {
apb {
gpiopinctrl: gpio@b3000000 {
/*
* The "RM0321 SPEAr320s address and map
* registers" document mentions interrupt 6
* (NPGIO_INTR) for the PL_GPIO interrupt.
*/
interrupts = <6>;
interrupt-parent = <&shirq>;
};
};
};
};

View File

@ -48,8 +48,9 @@
/dts-v1/;
#include "stm32f429.dtsi"
#include "stm32f429-pinctrl.dtsi"
#include <dt-bindings/input/input.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/leds/common.h>
#include <dt-bindings/media/video-interfaces.h>
/ {
@ -82,40 +83,24 @@ soc {
dma-ranges = <0xc0000000 0x0 0x10000000>;
};
vdda: regulator-vdda {
compatible = "regulator-fixed";
regulator-name = "vdda";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
vref: regulator-vref {
compatible = "regulator-fixed";
regulator-name = "vref";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
vdd_panel: vdd-panel {
compatible = "regulator-fixed";
regulator-name = "vdd_panel";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
leds {
compatible = "gpio-leds";
led-green {
led_green: led-green {
function = LED_FUNCTION_HEARTBEAT;
color = <LED_COLOR_ID_GREEN>;
gpios = <&gpiog 6 1>;
linux,default-trigger = "heartbeat";
};
led-orange {
color = <LED_COLOR_ID_ORANGE>;
gpios = <&gpiog 7 1>;
};
led-red {
color = <LED_COLOR_ID_RED>;
gpios = <&gpiog 10 1>;
};
led-blue {
color = <LED_COLOR_ID_BLUE>;
gpios = <&gpiog 12 1>;
};
};
@ -135,11 +120,18 @@ button-1 {
};
};
usbotg_hs_phy: usbphy {
#phy-cells = <0>;
compatible = "usb-nop-xceiv";
clocks = <&rcc 0 STM32F4_AHB1_CLOCK(OTGHSULPI)>;
clock-names = "main_clk";
mmc_vcard: mmc_vcard {
compatible = "regulator-fixed";
regulator-name = "mmc_vcard";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
options {
u-boot {
compatible = "u-boot,config";
boot-led = <&led_green>;
};
};
panel_rgb: panel-rgb {
@ -153,9 +145,30 @@ panel_in_rgb: endpoint {
};
};
mmc_vcard: mmc_vcard {
vdda: regulator-vdda {
compatible = "regulator-fixed";
regulator-name = "mmc_vcard";
regulator-name = "vdda";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
vref: regulator-vref {
compatible = "regulator-fixed";
regulator-name = "vref";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
usbotg_hs_phy: usbphy {
#phy-cells = <0>;
compatible = "usb-nop-xceiv";
clocks = <&rcc 0 STM32F4_AHB1_CLOCK(OTGHSULPI)>;
clock-names = "main_clk";
};
vdd_panel: vdd-panel {
compatible = "regulator-fixed";
regulator-name = "vdd_panel";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};

View File

@ -45,6 +45,7 @@
#include "stm32f746-pinctrl.dtsi"
#include <dt-bindings/input/input.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/leds/common.h>
/ {
model = "STMicroelectronics STM32746g-EVAL board";
@ -66,17 +67,22 @@ aliases {
leds {
compatible = "gpio-leds";
led-green {
led_green: led-green {
function = LED_FUNCTION_HEARTBEAT;
color = <LED_COLOR_ID_GREEN>;
gpios = <&gpiof 10 1>;
linux,default-trigger = "heartbeat";
};
led-orange {
color = <LED_COLOR_ID_ORANGE>;
gpios = <&stmfx_pinctrl 17 1>;
};
led-red {
color = <LED_COLOR_ID_RED>;
gpios = <&gpiob 7 1>;
};
led-blue {
color = <LED_COLOR_ID_BLUE>;
gpios = <&stmfx_pinctrl 19 1>;
};
};
@ -127,6 +133,13 @@ button-4 {
};
};
options {
u-boot {
compatible = "u-boot,config";
boot-led = <&led_green>;
};
};
usbotg_hs_phy: usb-phy {
#phy-cells = <0>;
compatible = "usb-nop-xceiv";

View File

@ -48,9 +48,10 @@
/dts-v1/;
#include "stm32f429.dtsi"
#include "stm32f429-pinctrl.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/leds/common.h>
/ {
model = "STMicroelectronics STM32F429i-DISCO board";
@ -73,9 +74,12 @@ aliases {
leds {
compatible = "gpio-leds";
led-red {
color = <LED_COLOR_ID_RED>;
gpios = <&gpiog 14 0>;
};
led-green {
led_green: led-green {
function = LED_FUNCTION_HEARTBEAT;
color = <LED_COLOR_ID_GREEN>;
gpios = <&gpiog 13 0>;
linux,default-trigger = "heartbeat";
};
@ -91,6 +95,13 @@ button-0 {
};
};
options {
u-boot {
compatible = "u-boot,config";
boot-led = <&led_green>;
};
};
/* This turns on vbus for otg for host mode (dwc2) */
vcc5v_otg: vcc5v-otg-regulator {
compatible = "regulator-fixed";

View File

@ -50,6 +50,7 @@
#include "stm32f469-pinctrl.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/leds/common.h>
/ {
model = "STMicroelectronics STM32F469i-DISCO board";
@ -82,17 +83,22 @@ soc {
leds {
compatible = "gpio-leds";
led-green {
led_green: led-green {
function = LED_FUNCTION_HEARTBEAT;
color = <LED_COLOR_ID_GREEN>;
gpios = <&gpiog 6 GPIO_ACTIVE_LOW>;
linux,default-trigger = "heartbeat";
};
led-orange {
color = <LED_COLOR_ID_ORANGE>;
gpios = <&gpiod 4 GPIO_ACTIVE_LOW>;
};
led-red {
color = <LED_COLOR_ID_RED>;
gpios = <&gpiod 5 GPIO_ACTIVE_LOW>;
};
led-blue {
color = <LED_COLOR_ID_BLUE>;
gpios = <&gpiok 3 GPIO_ACTIVE_LOW>;
};
};
@ -107,6 +113,13 @@ button-0 {
};
};
options {
u-boot {
compatible = "u-boot,config";
boot-led = <&led_green>;
};
};
/* This turns on vbus for otg for host mode (dwc2) */
vcc5v_otg: vcc5v-otg-regulator {
compatible = "regulator-fixed";

View File

@ -46,6 +46,7 @@
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/leds/common.h>
/ {
model = "STMicroelectronics STM32F746-DISCO board";
@ -80,7 +81,9 @@ aliases {
leds {
compatible = "gpio-leds";
led-usr {
led_usr: led-usr {
function = LED_FUNCTION_HEARTBEAT;
color = <LED_COLOR_ID_GREEN>;
gpios = <&gpioi 1 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "heartbeat";
};
@ -96,6 +99,13 @@ button-0 {
};
};
options {
u-boot {
compatible = "u-boot,config";
boot-led = <&led_usr>;
};
};
usbotg_hs_phy: usb-phy {
#phy-cells = <0>;
compatible = "usb-nop-xceiv";

View File

@ -45,6 +45,7 @@
#include "stm32f769-pinctrl.dtsi"
#include <dt-bindings/input/input.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/leds/common.h>
/ {
model = "STMicroelectronics STM32F769-DISCO board";
@ -79,14 +80,18 @@ aliases {
leds {
compatible = "gpio-leds";
led-usr2 {
led_usr2: led-usr2 {
function = LED_FUNCTION_HEARTBEAT;
color = <LED_COLOR_ID_GREEN>;
gpios = <&gpioj 5 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "heartbeat";
};
led-usr1 {
color = <LED_COLOR_ID_RED>;
gpios = <&gpioj 13 GPIO_ACTIVE_HIGH>;
};
led-usr3 {
color = <LED_COLOR_ID_GREEN>;
gpios = <&gpioa 12 GPIO_ACTIVE_HIGH>;
};
};
@ -101,6 +106,13 @@ button-0 {
};
};
options {
u-boot {
compatible = "u-boot,config";
boot-led = <&led_usr2>;
};
};
usbotg_hs_phy: usb-phy {
#phy-cells = <0>;
compatible = "usb-nop-xceiv";

View File

@ -43,6 +43,8 @@
/dts-v1/;
#include "stm32h743.dtsi"
#include "stm32h7-pinctrl.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/leds/common.h>
/ {
model = "STMicroelectronics STM32H743i-Discovery board";
@ -69,6 +71,38 @@ v3v3: regulator-v3v3 {
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
leds {
compatible = "gpio-leds";
led_green: led-green {
function = LED_FUNCTION_HEARTBEAT;
color = <LED_COLOR_ID_GREEN>;
gpios = <&gpioi 12 GPIO_ACTIVE_LOW>;
linux,default-trigger = "heartbeat";
};
led-orange {
color = <LED_COLOR_ID_ORANGE>;
gpios = <&gpioi 13 GPIO_ACTIVE_LOW>;
};
led-red {
color = <LED_COLOR_ID_RED>;
gpios = <&gpioi 14 GPIO_ACTIVE_LOW>;
};
led-blue {
color = <LED_COLOR_ID_BLUE>;
gpios = <&gpioi 15 GPIO_ACTIVE_LOW>;
};
};
options {
u-boot {
compatible = "u-boot,config";
boot-led = <&led_green>;
};
};
};
&clk_hse {

View File

@ -43,6 +43,8 @@
/dts-v1/;
#include "stm32h743.dtsi"
#include "stm32h7-pinctrl.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/leds/common.h>
/ {
model = "STMicroelectronics STM32H743i-EVAL board";
@ -62,6 +64,29 @@ aliases {
serial0 = &usart1;
};
led {
compatible = "gpio-leds";
led_green: led-green {
function = LED_FUNCTION_HEARTBEAT;
color = <LED_COLOR_ID_GREEN>;
gpios = <&gpiof 10 GPIO_ACTIVE_LOW>;
linux,default-trigger = "heartbeat";
default-state = "off";
};
led-red {
color = <LED_COLOR_ID_RED>;
gpios = <&gpioa 4 GPIO_ACTIVE_LOW>;
};
};
options {
u-boot {
compatible = "u-boot,config";
boot-led = <&led_green>;
};
};
vdda: regulator-vdda {
compatible = "regulator-fixed";
regulator-name = "vdda";

View File

@ -8,6 +8,7 @@
#include "stm32h7-pinctrl.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/leds/common.h>
/ {
model = "STMicroelectronics STM32H747i-Discovery board";
@ -38,17 +39,22 @@ v3v3: regulator-v3v3 {
leds {
compatible = "gpio-leds";
led-green {
led_green: led-green {
function = LED_FUNCTION_HEARTBEAT;
color = <LED_COLOR_ID_GREEN>;
gpios = <&gpioi 12 GPIO_ACTIVE_LOW>;
linux,default-trigger = "heartbeat";
};
led-orange {
color = <LED_COLOR_ID_ORANGE>;
gpios = <&gpioi 13 GPIO_ACTIVE_LOW>;
};
led-red {
color = <LED_COLOR_ID_RED>;
gpios = <&gpioi 14 GPIO_ACTIVE_LOW>;
};
led-blue {
color = <LED_COLOR_ID_BLUE>;
gpios = <&gpioi 15 GPIO_ACTIVE_LOW>;
};
};
@ -87,6 +93,13 @@ button-5 {
gpios = <&gpiok 5 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
};
};
options {
u-boot {
compatible = "u-boot,config";
boot-led = <&led_green>;
};
};
};
&clk_hse {

View File

@ -73,13 +73,26 @@ button-user {
leds {
compatible = "gpio-leds";
led-blue {
led_blue: led-blue {
function = LED_FUNCTION_HEARTBEAT;
color = <LED_COLOR_ID_BLUE>;
gpios = <&gpioa 14 GPIO_ACTIVE_LOW>;
linux,default-trigger = "heartbeat";
default-state = "off";
};
led-red {
function = LED_FUNCTION_STATUS;
color = <LED_COLOR_ID_RED>;
gpios = <&gpioa 13 GPIO_ACTIVE_LOW>;
};
};
options {
u-boot {
compatible = "u-boot,config";
boot-led = <&led_blue>;
};
};
panel_backlight: panel-backlight {

View File

@ -74,13 +74,26 @@ retram: retram@38000000 {
led {
compatible = "gpio-leds";
led-blue {
led_blue: led-blue {
gpios = <&gpiod 9 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "heartbeat";
default-state = "off";
function = LED_FUNCTION_HEARTBEAT;
color = <LED_COLOR_ID_BLUE>;
};
led-red {
function = LED_FUNCTION_STATUS;
color = <LED_COLOR_ID_RED>;
gpios = <&gpioa 13 GPIO_ACTIVE_LOW>;
};
};
options {
u-boot {
compatible = "u-boot,config";
boot-led = <&led_blue>;
};
};
sd_switch: regulator-sd_switch {

View File

@ -296,8 +296,9 @@ &sdmmc3 {
};
&spi1 {
pinctrl-names = "default";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&spi1_pins_a>;
pinctrl-1 = <&spi1_sleep_pins_a>;
status = "disabled";
};

View File

@ -5,6 +5,7 @@
*/
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/leds/common.h>
#include <dt-bindings/mfd/st,stpmic1.h>
/ {
@ -63,12 +64,26 @@ retram: retram@38000000 {
led {
compatible = "gpio-leds";
led-blue {
label = "heartbeat";
led_blue: led-blue {
function = LED_FUNCTION_HEARTBEAT;
color = <LED_COLOR_ID_BLUE>;
gpios = <&gpiod 11 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "heartbeat";
default-state = "off";
};
led-red {
function = LED_FUNCTION_STATUS;
color = <LED_COLOR_ID_RED>;
gpios = <&gpioa 13 GPIO_ACTIVE_LOW>;
};
};
options {
u-boot {
compatible = "u-boot,config";
boot-led = <&led_blue>;
};
};
sound {

View File

@ -1,57 +0,0 @@
// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause)
/*
* Copyright (C) STMicroelectronics 2019 - All Rights Reserved
* Author: Alexandre Torgue <alexandre.torgue@st.com> for STMicroelectronics.
*/
&pinctrl {
st,package = <STM32MP_PKG_AB>;
gpioa: gpio@50002000 {
status = "okay";
ngpios = <16>;
gpio-ranges = <&pinctrl 0 0 16>;
};
gpiob: gpio@50003000 {
status = "okay";
ngpios = <16>;
gpio-ranges = <&pinctrl 0 16 16>;
};
gpioc: gpio@50004000 {
status = "okay";
ngpios = <16>;
gpio-ranges = <&pinctrl 0 32 16>;
};
gpiod: gpio@50005000 {
status = "okay";
ngpios = <16>;
gpio-ranges = <&pinctrl 0 48 16>;
};
gpioe: gpio@50006000 {
status = "okay";
ngpios = <16>;
gpio-ranges = <&pinctrl 0 64 16>;
};
gpiof: gpio@50007000 {
status = "okay";
ngpios = <6>;
gpio-ranges = <&pinctrl 6 86 6>;
};
gpiog: gpio@50008000 {
status = "okay";
ngpios = <10>;
gpio-ranges = <&pinctrl 6 102 10>;
};
gpioh: gpio@50009000 {
status = "okay";
ngpios = <2>;
gpio-ranges = <&pinctrl 0 112 2>;
};
};

View File

@ -372,7 +372,6 @@ config ARCH_STM32
bool "STMicroelectronics STM32 SoC Family"
select GPIOLIB
select PINCTRL
select ARM_SMC_MBOX
select ARM_SCMI_PROTOCOL
select REGULATOR
select REGULATOR_ARM_SCMI

View File

@ -1,8 +0,0 @@
// SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause)
/*
* Copyright (C) STMicroelectronics 2025 - All Rights Reserved
* Author: Alexandre Torgue <alexandre.torgue@foss.st.com> for STMicroelectronics.
*/
/ {
};

View File

@ -251,6 +251,7 @@ spi2: spi@400b0000 {
<&hpdma 52 0x20 0x3021>;
dma-names = "rx", "tx";
access-controllers = <&rifsc 23>;
power-domains = <&cluster_pd>;
status = "disabled";
};
@ -281,6 +282,7 @@ spi3: spi@400c0000 {
<&hpdma 54 0x20 0x3021>;
dma-names = "rx", "tx";
access-controllers = <&rifsc 24>;
power-domains = <&cluster_pd>;
status = "disabled";
};
@ -359,6 +361,8 @@ i2c1: i2c@40120000 {
<&hpdma 28 0x20 0x3021>;
dma-names = "rx", "tx";
access-controllers = <&rifsc 41>;
power-domains = <&cluster_pd>;
i2c-analog-filter;
status = "disabled";
};
@ -375,6 +379,8 @@ i2c2: i2c@40130000 {
<&hpdma 31 0x20 0x3021>;
dma-names = "rx", "tx";
access-controllers = <&rifsc 42>;
power-domains = <&cluster_pd>;
i2c-analog-filter;
status = "disabled";
};
@ -391,6 +397,8 @@ i2c7: i2c@40180000 {
<&hpdma 46 0x20 0x3021>;
dma-names = "rx", "tx";
access-controllers = <&rifsc 47>;
power-domains = <&cluster_pd>;
i2c-analog-filter;
status = "disabled";
};
@ -433,6 +441,7 @@ spi1: spi@40230000 {
<&hpdma 50 0x20 0x3021>;
dma-names = "rx", "tx";
access-controllers = <&rifsc 22>;
power-domains = <&cluster_pd>;
status = "disabled";
};
@ -448,6 +457,7 @@ spi4: spi@40240000 {
<&hpdma 56 0x20 0x3021>;
dma-names = "rx", "tx";
access-controllers = <&rifsc 25>;
power-domains = <&cluster_pd>;
status = "disabled";
};
@ -463,6 +473,7 @@ spi5: spi@40280000 {
<&hpdma 58 0x20 0x3021>;
dma-names = "rx", "tx";
access-controllers = <&rifsc 26>;
power-domains = <&cluster_pd>;
status = "disabled";
};
@ -664,6 +675,8 @@ i2c8: i2c@46040000 {
<&hpdma 169 0x20 0x3021>;
dma-names = "rx", "tx";
access-controllers = <&rifsc 48>;
power-domains = <&cluster_pd>;
i2c-analog-filter;
status = "disabled";
};
@ -676,6 +689,7 @@ csi: csi@48020000 {
<&rcc CK_KER_CSIPHY>;
clock-names = "pclk", "txesc", "csi2phy";
access-controllers = <&rifsc 86>;
power-domains = <&cluster_pd>;
status = "disabled";
};
@ -687,6 +701,7 @@ dcmipp: dcmipp@48030000 {
clocks = <&rcc CK_BUS_DCMIPP>, <&rcc CK_KER_CSI>;
clock-names = "kclk", "mclk";
access-controllers = <&rifsc 87>;
power-domains = <&cluster_pd>;
status = "disabled";
};
@ -761,11 +776,11 @@ bsec: efuse@44000000 {
#address-cells = <1>;
#size-cells = <1>;
part_number_otp@24 {
part-number-otp@24 {
reg = <0x24 0x4>;
};
package_otp@1e8 {
package-otp@1e8 {
reg = <0x1e8 0x1>;
bits = <0 3>;
};

View File

@ -46,13 +46,23 @@ button-user-2 {
gpio-leds {
compatible = "gpio-leds";
led-blue {
led_blue: led-blue {
function = LED_FUNCTION_HEARTBEAT;
color = <LED_COLOR_ID_BLUE>;
gpios = <&gpioh 7 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "heartbeat";
default-state = "off";
};
led-green {
color = <LED_COLOR_ID_GREEN>;
gpios = <&gpioh 5 GPIO_ACTIVE_HIGH>;
};
led-orange {
color = <LED_COLOR_ID_ORANGE>;
gpios = <&gpioh 6 GPIO_ACTIVE_HIGH>;
};
};
memory@80000000 {
@ -60,6 +70,13 @@ memory@80000000 {
reg = <0x0 0x80000000 0x0 0x80000000>;
};
options {
u-boot {
compatible = "u-boot,config";
boot-led = <&led_blue>;
};
};
reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
@ -93,7 +110,7 @@ mdio {
phy1_eth1: ethernet-phy@1 {
compatible = "ethernet-phy-id001c.c916";
reg = <1>;
reset-gpios = <&gpioa 2 GPIO_ACTIVE_LOW>;
reset-gpios = <&gpioa 2 GPIO_ACTIVE_LOW>;
reset-assert-us = <10000>;
reset-deassert-us = <80000>;
};

View File

@ -1,8 +0,0 @@
// SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause)
/*
* Copyright (C) STMicroelectronics 2025 - All Rights Reserved
* Author: Alexandre Torgue <alexandre.torgue@foss.st.com> for STMicroelectronics.
*/
/ {
};

View File

@ -672,6 +672,7 @@ spi2: spi@400b0000 {
<&hpdma 52 0x20 0x3021>;
dma-names = "rx", "tx";
access-controllers = <&rifsc 23>;
power-domains = <&CLUSTER_PD>;
status = "disabled";
};
@ -702,6 +703,7 @@ spi3: spi@400c0000 {
<&hpdma 54 0x20 0x3021>;
dma-names = "rx", "tx";
access-controllers = <&rifsc 24>;
power-domains = <&CLUSTER_PD>;
status = "disabled";
};
@ -780,6 +782,8 @@ i2c1: i2c@40120000 {
<&hpdma 28 0x20 0x3021>;
dma-names = "rx", "tx";
access-controllers = <&rifsc 41>;
power-domains = <&CLUSTER_PD>;
i2c-analog-filter;
status = "disabled";
};
@ -796,6 +800,8 @@ i2c2: i2c@40130000 {
<&hpdma 31 0x20 0x3021>;
dma-names = "rx", "tx";
access-controllers = <&rifsc 42>;
power-domains = <&CLUSTER_PD>;
i2c-analog-filter;
status = "disabled";
};
@ -812,6 +818,8 @@ i2c3: i2c@40140000 {
<&hpdma 34 0x20 0x3021>;
dma-names = "rx", "tx";
access-controllers = <&rifsc 43>;
power-domains = <&CLUSTER_PD>;
i2c-analog-filter;
status = "disabled";
};
@ -828,6 +836,8 @@ i2c4: i2c@40150000 {
<&hpdma 37 0x20 0x3021>;
dma-names = "rx", "tx";
access-controllers = <&rifsc 44>;
power-domains = <&CLUSTER_PD>;
i2c-analog-filter;
status = "disabled";
};
@ -844,6 +854,8 @@ i2c5: i2c@40160000 {
<&hpdma 40 0x20 0x3021>;
dma-names = "rx", "tx";
access-controllers = <&rifsc 45>;
power-domains = <&CLUSTER_PD>;
i2c-analog-filter;
status = "disabled";
};
@ -860,6 +872,8 @@ i2c6: i2c@40170000 {
<&hpdma 43 0x20 0x3021>;
dma-names = "rx", "tx";
access-controllers = <&rifsc 46>;
power-domains = <&CLUSTER_PD>;
i2c-analog-filter;
status = "disabled";
};
@ -876,6 +890,8 @@ i2c7: i2c@40180000 {
<&hpdma 46 0x20 0x3021>;
dma-names = "rx", "tx";
access-controllers = <&rifsc 47>;
power-domains = <&CLUSTER_PD>;
i2c-analog-filter;
status = "disabled";
};
@ -1048,6 +1064,7 @@ spi1: spi@40230000 {
<&hpdma 50 0x20 0x3021>;
dma-names = "rx", "tx";
access-controllers = <&rifsc 22>;
power-domains = <&CLUSTER_PD>;
status = "disabled";
};
@ -1063,6 +1080,7 @@ spi4: spi@40240000 {
<&hpdma 56 0x20 0x3021>;
dma-names = "rx", "tx";
access-controllers = <&rifsc 25>;
power-domains = <&CLUSTER_PD>;
status = "disabled";
};
@ -1171,6 +1189,7 @@ spi5: spi@40280000 {
<&hpdma 58 0x20 0x3021>;
dma-names = "rx", "tx";
access-controllers = <&rifsc 26>;
power-domains = <&CLUSTER_PD>;
status = "disabled";
};
@ -1380,6 +1399,7 @@ spi6: spi@40350000 {
<&hpdma 60 0x20 0x3021>;
dma-names = "rx", "tx";
access-controllers = <&rifsc 27>;
power-domains = <&CLUSTER_PD>;
status = "disabled";
};
@ -1395,6 +1415,7 @@ spi7: spi@40360000 {
<&hpdma 62 0x20 0x3021>;
dma-names = "rx", "tx";
access-controllers = <&rifsc 28>;
power-domains = <&CLUSTER_PD>;
status = "disabled";
};
@ -1444,6 +1465,7 @@ spi8: spi@46020000 {
<&hpdma 172 0x20 0x3021>;
dma-names = "rx", "tx";
access-controllers = <&rifsc 29>;
power-domains = <&CLUSTER_PD>;
status = "disabled";
};
@ -1460,6 +1482,8 @@ i2c8: i2c@46040000 {
<&hpdma 169 0x20 0x3021>;
dma-names = "rx", "tx";
access-controllers = <&rifsc 48>;
power-domains = <&CLUSTER_PD>;
i2c-analog-filter;
status = "disabled";
};
@ -1589,6 +1613,7 @@ csi: csi@48020000 {
<&rcc CK_KER_CSIPHY>;
clock-names = "pclk", "txesc", "csi2phy";
access-controllers = <&rifsc 86>;
power-domains = <&CLUSTER_PD>;
status = "disabled";
};
@ -1600,6 +1625,7 @@ dcmipp: dcmipp@48030000 {
clocks = <&rcc CK_BUS_DCMIPP>, <&rcc CK_KER_CSI>;
clock-names = "kclk", "mclk";
access-controllers = <&rifsc 87>;
power-domains = <&CLUSTER_PD>;
status = "disabled";
};
@ -1739,11 +1765,11 @@ bsec: efuse@44000000 {
#address-cells = <1>;
#size-cells = <1>;
part_number_otp@24 {
part-number-otp@24 {
reg = <0x24 0x4>;
};
package_otp@1e8 {
package-otp@1e8 {
reg = <0x1e8 0x1>;
bits = <0 3>;
};

View File

@ -46,13 +46,30 @@ button-user-2 {
gpio-leds {
compatible = "gpio-leds";
led-blue {
led_blue: led-blue {
function = LED_FUNCTION_HEARTBEAT;
color = <LED_COLOR_ID_BLUE>;
gpios = <&gpioh 7 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "heartbeat";
default-state = "off";
};
led-green {
color = <LED_COLOR_ID_GREEN>;
gpios = <&gpioh 5 GPIO_ACTIVE_HIGH>;
};
led-orange {
color = <LED_COLOR_ID_ORANGE>;
gpios = <&gpioh 6 GPIO_ACTIVE_HIGH>;
};
};
lpddr_channel: sdram-channel-0 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "jedec,lpddr4-channel";
io-width = <32>;
};
memory@80000000 {
@ -60,6 +77,13 @@ memory@80000000 {
reg = <0x0 0x80000000 0x1 0x0>;
};
options {
u-boot {
compatible = "u-boot,config";
boot-led = <&led_blue>;
};
};
reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
@ -93,7 +117,7 @@ mdio {
phy1_eth1: ethernet-phy@1 {
compatible = "ethernet-phy-id001c.c916";
reg = <1>;
reset-gpios = <&gpioa 2 GPIO_ACTIVE_LOW>;
reset-gpios = <&gpioa 2 GPIO_ACTIVE_LOW>;
reset-assert-us = <10000>;
reset-deassert-us = <80000>;
};

View File

@ -7,6 +7,7 @@
/dts-v1/;
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/leds/common.h>
#include <dt-bindings/regulator/st,stm32mp25-regulator.h>
#include "stm32mp257.dtsi"
#include "stm32mp25xf.dtsi"
@ -42,6 +43,35 @@ pad_clk: pad-clk {
};
};
gpio-leds {
compatible = "gpio-leds";
led_blue: led-blue {
function = LED_FUNCTION_HEARTBEAT;
color = <LED_COLOR_ID_BLUE>;
gpios = <&gpioj 7 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "heartbeat";
default-state = "off";
};
led-green {
color = <LED_COLOR_ID_GREEN>;
gpios = <&gpiod 8 GPIO_ACTIVE_HIGH>;
};
led-orange {
color = <LED_COLOR_ID_ORANGE>;
gpios = <&gpioj 6 GPIO_ACTIVE_HIGH>;
};
};
ddr_channel: sdram-channel-0 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "jedec,ddr4-channel";
io-width = <32>;
};
imx335_2v9: regulator-2v9 {
compatible = "regulator-fixed";
regulator-name = "imx335-avdd";
@ -71,6 +101,13 @@ memory@80000000 {
reg = <0x0 0x80000000 0x1 0x0>;
};
options {
u-boot {
compatible = "u-boot,config";
boot-led = <&led_blue>;
};
};
panel_lvds: display {
compatible = "edt,etml0700z9ndha", "panel-lvds";
enable-gpios = <&gpiog 15 GPIO_ACTIVE_HIGH>;
@ -186,7 +223,7 @@ mdio {
phy1_eth1: ethernet-phy@4 {
compatible = "ethernet-phy-id001c.c916";
reg = <4>;
reset-gpios = <&gpioj 9 GPIO_ACTIVE_LOW>;
reset-gpios = <&gpioj 9 GPIO_ACTIVE_LOW>;
reset-assert-us = <10000>;
reset-deassert-us = <80000>;
};

View File

@ -1,8 +0,0 @@
// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-3-Clause)
/*
* Copyright (C) STMicroelectronics 2023 - All Rights Reserved
* Author: Alexandre Torgue <alexandre.torgue@foss.st.com> for STMicroelectronics.
*/
/ {
};

View File

@ -1,71 +0,0 @@
// SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-3-Clause)
/*
* Copyright (C) STMicroelectronics 2023 - All Rights Reserved
* Author: Alexandre Torgue <alexandre.torgue@foss.st.com> for STMicroelectronics.
*/
&pinctrl {
st,package = <STM32MP_PKG_AL>;
gpioa: gpio@44240000 {
status = "okay";
ngpios = <16>;
gpio-ranges = <&pinctrl 0 0 16>;
};
gpiob: gpio@44250000 {
status = "okay";
ngpios = <16>;
gpio-ranges = <&pinctrl 0 16 16>;
};
gpioc: gpio@44260000 {
status = "okay";
ngpios = <14>;
gpio-ranges = <&pinctrl 0 32 14>;
};
gpiod: gpio@44270000 {
status = "okay";
ngpios = <16>;
gpio-ranges = <&pinctrl 0 48 16>;
};
gpioe: gpio@44280000 {
status = "okay";
ngpios = <16>;
gpio-ranges = <&pinctrl 0 64 16>;
};
gpiof: gpio@44290000 {
status = "okay";
ngpios = <16>;
gpio-ranges = <&pinctrl 0 80 16>;
};
gpiog: gpio@442a0000 {
status = "okay";
ngpios = <16>;
gpio-ranges = <&pinctrl 0 96 16>;
};
gpioh: gpio@442b0000 {
status = "okay";
ngpios = <12>;
gpio-ranges = <&pinctrl 2 114 12>;
};
gpioi: gpio@442c0000 {
status = "okay";
ngpios = <12>;
gpio-ranges = <&pinctrl 0 128 12>;
};
};
&pinctrl_z {
gpioz: gpio@46200000 {
status = "okay";
ngpios = <10>;
gpio-ranges = <&pinctrl_z 0 400 10>;
};
};