* [PATCH v2 0/4] Add support for Priva E-Measuringbox board
@ 2024-12-09 10:34 Oleksij Rempel
2024-12-09 10:34 ` [PATCH v2 1/4] dt-bindings: vendor-prefixes: Add prefix for Priva Oleksij Rempel
` (4 more replies)
0 siblings, 5 replies; 8+ messages in thread
From: Oleksij Rempel @ 2024-12-09 10:34 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Maxime Coquelin,
Alexandre Torgue, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Woojung Huh, Andrew Lunn
Cc: Oleksij Rempel, kernel, linux-kernel, netdev, devicetree, linux-stm32
This patch series introduces support for the Priva E-Measuringbox board
based on the ST STM32MP133 SoC. The set includes all the necessary
changes for device tree bindings, vendor prefixes, thermal support, and
board-specific devicetree to pass devicetree validation and checkpatch
tests.
changes v2:
- drop: dt-bindings: net: Add TI DP83TD510 10BaseT1L PHY
Oleksij Rempel (2):
dt-bindings: vendor-prefixes: Add prefix for Priva
dt-bindings: arm: stm32: Add Priva E-Measuringbox board
Roan van Dijk (2):
arm: dts: stm32: Add thermal support for STM32MP131
arm: dts: stm32: Add Priva E-Measuringbox devicetree
.../devicetree/bindings/arm/stm32/stm32.yaml | 6 +
.../devicetree/bindings/vendor-prefixes.yaml | 2 +
arch/arm/boot/dts/st/Makefile | 1 +
arch/arm/boot/dts/st/stm32mp131.dtsi | 35 ++
arch/arm/boot/dts/st/stm32mp133c-prihmb.dts | 496 ++++++++++++++++++
5 files changed, 540 insertions(+)
create mode 100644 arch/arm/boot/dts/st/stm32mp133c-prihmb.dts
--
2.39.5
^ permalink raw reply [flat|nested] 8+ messages in thread* [PATCH v2 1/4] dt-bindings: vendor-prefixes: Add prefix for Priva 2024-12-09 10:34 [PATCH v2 0/4] Add support for Priva E-Measuringbox board Oleksij Rempel @ 2024-12-09 10:34 ` Oleksij Rempel 2024-12-09 10:34 ` [PATCH v2 2/4] dt-bindings: arm: stm32: Add Priva E-Measuringbox board Oleksij Rempel ` (3 subsequent siblings) 4 siblings, 0 replies; 8+ messages in thread From: Oleksij Rempel @ 2024-12-09 10:34 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Maxime Coquelin, Alexandre Torgue, David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni, Woojung Huh, Andrew Lunn Cc: Oleksij Rempel, Conor Dooley, kernel, linux-kernel, netdev, devicetree, linux-stm32 Introduce the 'pri' vendor prefix for Priva, a company specializing in sustainable solutions for building automation, energy, and climate control. More information about Priva can be found at https://www.priva.com Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> Acked-by: Conor Dooley <conor.dooley@microchip.com> --- Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml index da01616802c7..9a9ac3adc5ef 100644 --- a/Documentation/devicetree/bindings/vendor-prefixes.yaml +++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml @@ -1198,6 +1198,8 @@ patternProperties: description: Primux Trading, S.L. "^probox2,.*": description: PROBOX2 (by W2COMP Co., Ltd.) + "^pri,.*": + description: Priva "^prt,.*": description: Protonic Holland "^pulsedlight,.*": -- 2.39.5 ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2 2/4] dt-bindings: arm: stm32: Add Priva E-Measuringbox board 2024-12-09 10:34 [PATCH v2 0/4] Add support for Priva E-Measuringbox board Oleksij Rempel 2024-12-09 10:34 ` [PATCH v2 1/4] dt-bindings: vendor-prefixes: Add prefix for Priva Oleksij Rempel @ 2024-12-09 10:34 ` Oleksij Rempel 2024-12-10 8:55 ` Krzysztof Kozlowski 2024-12-09 10:34 ` [PATCH v2 3/4] arm: dts: stm32: Add thermal support for STM32MP131 Oleksij Rempel ` (2 subsequent siblings) 4 siblings, 1 reply; 8+ messages in thread From: Oleksij Rempel @ 2024-12-09 10:34 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Maxime Coquelin, Alexandre Torgue, David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni, Woojung Huh, Andrew Lunn Cc: Oleksij Rempel, kernel, linux-kernel, netdev, devicetree, linux-stm32 Add support for the Priva E-Measuringbox ('pri,prihmb') board based on the ST STM32MP133 SoC to the STM32 devicetree bindings. Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> --- Documentation/devicetree/bindings/arm/stm32/stm32.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Documentation/devicetree/bindings/arm/stm32/stm32.yaml b/Documentation/devicetree/bindings/arm/stm32/stm32.yaml index 703d4b574398..1e27b2bd7c6a 100644 --- a/Documentation/devicetree/bindings/arm/stm32/stm32.yaml +++ b/Documentation/devicetree/bindings/arm/stm32/stm32.yaml @@ -51,6 +51,12 @@ properties: - st,stm32mp135f-dk - const: st,stm32mp135 + - description: ST STM32MP133 based Boards + items: + - enum: + - pri,prihmb # Priva E-Measuringbox board + - const: st,stm32mp133 + - description: ST STM32MP151 based Boards items: - enum: -- 2.39.5 ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 2/4] dt-bindings: arm: stm32: Add Priva E-Measuringbox board 2024-12-09 10:34 ` [PATCH v2 2/4] dt-bindings: arm: stm32: Add Priva E-Measuringbox board Oleksij Rempel @ 2024-12-10 8:55 ` Krzysztof Kozlowski 0 siblings, 0 replies; 8+ messages in thread From: Krzysztof Kozlowski @ 2024-12-10 8:55 UTC (permalink / raw) To: Oleksij Rempel Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Maxime Coquelin, Alexandre Torgue, David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni, Woojung Huh, Andrew Lunn, kernel, linux-kernel, netdev, devicetree, linux-stm32 On Mon, Dec 09, 2024 at 11:34:32AM +0100, Oleksij Rempel wrote: > Add support for the Priva E-Measuringbox ('pri,prihmb') board based on > the ST STM32MP133 SoC to the STM32 devicetree bindings. > > Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> > --- > Documentation/devicetree/bindings/arm/stm32/stm32.yaml | 6 ++++++ > 1 file changed, 6 insertions(+) Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Best regards, Krzysztof ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2 3/4] arm: dts: stm32: Add thermal support for STM32MP131 2024-12-09 10:34 [PATCH v2 0/4] Add support for Priva E-Measuringbox board Oleksij Rempel 2024-12-09 10:34 ` [PATCH v2 1/4] dt-bindings: vendor-prefixes: Add prefix for Priva Oleksij Rempel 2024-12-09 10:34 ` [PATCH v2 2/4] dt-bindings: arm: stm32: Add Priva E-Measuringbox board Oleksij Rempel @ 2024-12-09 10:34 ` Oleksij Rempel 2024-12-09 10:34 ` [PATCH v2 4/4] arm: dts: stm32: Add Priva E-Measuringbox devicetree Oleksij Rempel 2024-12-10 21:42 ` [PATCH v2 0/4] Add support for Priva E-Measuringbox board Rob Herring (Arm) 4 siblings, 0 replies; 8+ messages in thread From: Oleksij Rempel @ 2024-12-09 10:34 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Maxime Coquelin, Alexandre Torgue, David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni, Woojung Huh, Andrew Lunn Cc: Roan van Dijk, Oleksij Rempel, kernel, linux-kernel, netdev, devicetree, linux-stm32 From: Roan van Dijk <roan@protonic.nl> Add thermal zone configuration and sensor node for STM32MP131 SoC. Signed-off-by: Roan van Dijk <roan@protonic.nl> Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> --- arch/arm/boot/dts/st/stm32mp131.dtsi | 35 ++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/arch/arm/boot/dts/st/stm32mp131.dtsi b/arch/arm/boot/dts/st/stm32mp131.dtsi index e1a764d269d2..56660e67a2a2 100644 --- a/arch/arm/boot/dts/st/stm32mp131.dtsi +++ b/arch/arm/boot/dts/st/stm32mp131.dtsi @@ -100,6 +100,31 @@ timer { always-on; }; + thermal-zones { + cpu_thermal: cpu-thermal { + polling-delay-passive = <0>; + polling-delay = <0>; + thermal-sensors = <&dts>; + + trips { + cpu_alert1: cpu-alert1 { + temperature = <85000>; + hysteresis = <0>; + type = "passive"; + }; + + cpu-crit { + temperature = <120000>; + hysteresis = <0>; + type = "critical"; + }; + }; + + cooling-maps { + }; + }; + }; + soc { compatible = "simple-bus"; #address-cells = <1>; @@ -909,6 +934,16 @@ timer { }; }; + dts: thermal@50028000 { + compatible = "st,stm32-thermal"; + reg = <0x50028000 0x100>; + interrupts = <GIC_SPI 147 IRQ_TYPE_LEVEL_HIGH>; + clocks = <&rcc DTS>; + clock-names = "pclk"; + #thermal-sensor-cells = <0>; + status = "disabled"; + }; + mdma: dma-controller@58000000 { compatible = "st,stm32h7-mdma"; reg = <0x58000000 0x1000>; -- 2.39.5 ^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH v2 4/4] arm: dts: stm32: Add Priva E-Measuringbox devicetree 2024-12-09 10:34 [PATCH v2 0/4] Add support for Priva E-Measuringbox board Oleksij Rempel ` (2 preceding siblings ...) 2024-12-09 10:34 ` [PATCH v2 3/4] arm: dts: stm32: Add thermal support for STM32MP131 Oleksij Rempel @ 2024-12-09 10:34 ` Oleksij Rempel 2024-12-09 16:44 ` Andrew Lunn 2024-12-10 21:42 ` [PATCH v2 0/4] Add support for Priva E-Measuringbox board Rob Herring (Arm) 4 siblings, 1 reply; 8+ messages in thread From: Oleksij Rempel @ 2024-12-09 10:34 UTC (permalink / raw) To: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Maxime Coquelin, Alexandre Torgue, David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni, Woojung Huh, Andrew Lunn Cc: Roan van Dijk, Oleksij Rempel, kernel, linux-kernel, netdev, devicetree, linux-stm32 From: Roan van Dijk <roan@protonic.nl> Introduce the devicetree for the Priva E-Measuringbox board (stm32mp133c-prihmb), based on the STM32MP133 SoC. Signed-off-by: Roan van Dijk <roan@protonic.nl> Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de> --- arch/arm/boot/dts/st/Makefile | 1 + arch/arm/boot/dts/st/stm32mp133c-prihmb.dts | 496 ++++++++++++++++++++ 2 files changed, 497 insertions(+) create mode 100644 arch/arm/boot/dts/st/stm32mp133c-prihmb.dts diff --git a/arch/arm/boot/dts/st/Makefile b/arch/arm/boot/dts/st/Makefile index eab3a9bd435f..c4c01415fa85 100644 --- a/arch/arm/boot/dts/st/Makefile +++ b/arch/arm/boot/dts/st/Makefile @@ -29,6 +29,7 @@ dtb-$(CONFIG_ARCH_STM32) += \ stm32h743i-eval.dtb \ stm32h743i-disco.dtb \ stm32h750i-art-pi.dtb \ + stm32mp133c-prihmb.dtb \ stm32mp135f-dhcor-dhsbc.dtb \ stm32mp135f-dk.dtb \ stm32mp151a-prtt1a.dtb \ diff --git a/arch/arm/boot/dts/st/stm32mp133c-prihmb.dts b/arch/arm/boot/dts/st/stm32mp133c-prihmb.dts new file mode 100644 index 000000000000..663b6de1b814 --- /dev/null +++ b/arch/arm/boot/dts/st/stm32mp133c-prihmb.dts @@ -0,0 +1,496 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) +/dts-v1/; + +#include <dt-bindings/gpio/gpio.h> +#include <dt-bindings/input/input.h> +#include <dt-bindings/leds/common.h> +#include <dt-bindings/regulator/st,stm32mp13-regulator.h> +#include "stm32mp133.dtsi" +#include "stm32mp13xc.dtsi" +#include "stm32mp13-pinctrl.dtsi" + +/ { + model = "Priva E-Measuringbox board"; + compatible = "pri,prihmb", "st,stm32mp133"; + + aliases { + ethernet0 = ðernet1; + mdio-gpio0 = &mdio0; + mmc0 = &sdmmc1; + mmc1 = &sdmmc2; + serial0 = &uart4; + serial1 = &usart6; + serial2 = &uart7; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; + + counter-0 { + compatible = "interrupt-counter"; + gpios = <&gpioa 11 GPIO_ACTIVE_HIGH>; + }; + + gpio-keys { + compatible = "gpio-keys"; + autorepeat; + + button-reset { + label = "reset-button"; + linux,code = <BTN_1>; + gpios = <&gpioi 7 GPIO_ACTIVE_LOW>; + }; + }; + + leds { + compatible = "gpio-leds"; + + 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-controller-0 { + compatible = "pwm-leds-multicolor"; + + multi-led { + color = <LED_COLOR_ID_RGB>; + function = LED_FUNCTION_STATUS; + max-brightness = <255>; + + led-red { + active-low; + color = <LED_COLOR_ID_RED>; + pwms = <&pwm2 2 1000000 1>; + }; + + led-green { + active-low; + color = <LED_COLOR_ID_GREEN>; + pwms = <&pwm1 1 1000000 1>; + }; + + led-blue { + active-low; + color = <LED_COLOR_ID_BLUE>; + pwms = <&pwm1 2 1000000 1>; + }; + }; + }; + + led-controller-1 { + compatible = "pwm-leds-multicolor"; + + multi-led { + color = <LED_COLOR_ID_RGB>; + function = LED_FUNCTION_STATUS; + max-brightness = <255>; + + led-red { + active-low; + color = <LED_COLOR_ID_RED>; + pwms = <&pwm1 0 1000000 1>; + }; + + led-green { + active-low; + color = <LED_COLOR_ID_GREEN>; + pwms = <&pwm2 0 1000000 1>; + }; + + led-blue { + active-low; + color = <LED_COLOR_ID_BLUE>; + pwms = <&pwm2 1 1000000 1>; + }; + }; + }; + + /* DP83TD510E PHYs have max MDC rate of 1.75MHz. Since we can't reduce + * stmmac MDC clock without reducing system bus rate, we need to use + * gpio based MDIO bus. + */ + mdio0: mdio { + compatible = "virtual,mdio-gpio"; + #address-cells = <1>; + #size-cells = <0>; + gpios = <&gpiog 2 GPIO_ACTIVE_HIGH + &gpioa 2 GPIO_ACTIVE_HIGH>; + + /* TI DP83TD510E */ + phy0: ethernet-phy@0 { + compatible = "ethernet-phy-id2000.0181"; + reg = <0>; + interrupts-extended = <&gpioa 4 IRQ_TYPE_LEVEL_LOW>; + reset-gpios = <&gpioa 3 GPIO_ACTIVE_LOW>; + reset-assert-us = <10>; + reset-deassert-us = <35>; + }; + }; + + memory@c0000000 { + device_type = "memory"; + reg = <0xc0000000 0x10000000>; + }; + + reg_3v3: regulator-3v3 { + compatible = "regulator-fixed"; + regulator-name = "3v3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + }; + + reserved-memory { + #address-cells = <1>; + #size-cells = <1>; + ranges; + + optee@ce000000 { + reg = <0xce000000 0x02000000>; + no-map; + }; + }; +}; + +&adc_1 { + pinctrl-names = "default"; + pinctrl-0 = <&adc_1_pins_a>; + vdda-supply = <®_3v3>; + vref-supply = <®_3v3>; + status = "okay"; +}; + +&adc1 { + status = "okay"; + + channel@0 { /* Fan current PC0*/ + reg = <0>; + st,min-sample-time-ns = <10000>; /* 10µs sampling time */ + }; + channel@11 { /* Fan voltage */ + reg = <11>; + st,min-sample-time-ns = <10000>; /* 10µs sampling time */ + }; + channel@15 { /* Supply voltage */ + reg = <15>; + st,min-sample-time-ns = <10000>; /* 10µs sampling time */ + }; +}; + +&dts { + status = "okay"; +}; + +ðernet1 { + status = "okay"; + pinctrl-0 = <ðernet1_rmii_pins_a>; + pinctrl-1 = <ðernet1_rmii_sleep_pins_a>; + pinctrl-names = "default", "sleep"; + phy-mode = "rmii"; + phy-handle = <&phy0>; +}; + +&i2c1 { + pinctrl-names = "default", "sleep"; + pinctrl-0 = <&i2c1_pins_a>; + pinctrl-1 = <&i2c1_sleep_pins_a>; + clock-frequency = <100000>; + /delete-property/dmas; + /delete-property/dma-names; + status = "okay"; + + board-sensor@48 { + compatible = "ti,tmp1075"; + reg = <0x48>; + vs-supply = <®_3v3>; + }; +}; + +&{i2c1_pins_a/pins} { + pinmux = <STM32_PINMUX('D', 3, AF5)>, /* I2C1_SCL */ + <STM32_PINMUX('B', 8, AF4)>; /* I2C1_SDA */ + bias-disable; + drive-open-drain; + slew-rate = <0>; +}; + +&{i2c1_sleep_pins_a/pins} { + pinmux = <STM32_PINMUX('D', 3, ANALOG)>, /* I2C1_SCL */ + <STM32_PINMUX('B', 8, ANALOG)>; /* I2C1_SDA */ +}; + +&iwdg2 { + timeout-sec = <32>; + status = "okay"; +}; + +/* SD card without Card-detect */ +&sdmmc1 { + pinctrl-names = "default", "opendrain", "sleep"; + pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_clk_pins_a>; + pinctrl-1 = <&sdmmc1_b4_od_pins_a &sdmmc1_clk_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 = <®_3v3>; + status = "okay"; +}; + +/* EMMC */ +&sdmmc2 { + pinctrl-names = "default", "opendrain", "sleep"; + pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_a &sdmmc2_clk_pins_a>; + pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_d47_pins_a &sdmmc2_clk_pins_a>; + pinctrl-2 = <&sdmmc2_b4_sleep_pins_a &sdmmc2_d47_sleep_pins_a>; + non-removable; + no-sd; + no-sdio; + no-1-8-v; + st,neg-edge; + mmc-ddr-3_3v; + bus-width = <8>; + vmmc-supply = <®_3v3>; + status = "okay"; +}; + +&timers1 { + status = "okay"; + /delete-property/dmas; + /delete-property/dma-names; + + pwm1: pwm { + pinctrl-0 = <&pwm1_pins_a>; + pinctrl-1 = <&pwm1_sleep_pins_a>; + pinctrl-names = "default", "sleep"; + status = "okay"; + }; +}; + +&timers4 { + status = "okay"; + /delete-property/dmas; + /delete-property/dma-names; + + pwm2: pwm { + pinctrl-0 = <&pwm4_pins_a>; + pinctrl-1 = <&pwm4_sleep_pins_a>; + pinctrl-names = "default", "sleep"; + status = "okay"; + }; +}; + +/* Fan PWM */ +&timers5 { + status = "okay"; + + pwm3: pwm { + pinctrl-0 = <&pwm5_pins_a>; + pinctrl-1 = <&pwm5_sleep_pins_a>; + pinctrl-names = "default", "sleep"; + status = "okay"; + }; +}; + +&timers2 { + status = "okay"; + + timer@1 { + status = "okay"; + }; +}; + +&uart4 { + pinctrl-names = "default", "sleep", "idle"; + pinctrl-0 = <&uart4_pins_a>; + pinctrl-1 = <&uart4_sleep_pins_a>; + pinctrl-2 = <&uart4_idle_pins_a>; + /delete-property/dmas; + /delete-property/dma-names; + status = "okay"; +}; + +&uart7 { + pinctrl-names = "default", "sleep", "idle"; + pinctrl-0 = <&uart7_pins_a>; + pinctrl-1 = <&uart7_sleep_pins_a>; + pinctrl-2 = <&uart7_idle_pins_a>; + /delete-property/dmas; + /delete-property/dma-names; + status = "okay"; +}; + +&usart6 { + pinctrl-names = "default", "sleep", "idle"; + pinctrl-0 = <&usart6_pins_a>; + pinctrl-1 = <&usart6_sleep_pins_a>; + pinctrl-2 = <&usart6_idle_pins_a>; + linux,rs485-enabled-at-boot-time; + /delete-property/dmas; + /delete-property/dma-names; + status = "okay"; +}; + +&pinctrl { + adc_1_pins_a: adc1-0 { + pins { + pinmux = <STM32_PINMUX('C', 0, ANALOG)>, /* ADC1 in0 */ + <STM32_PINMUX('C', 2, ANALOG)>, /* ADC1 in15 */ + <STM32_PINMUX('F', 13, ANALOG)>; /* ADC1 in11 */ + }; + }; + + ethernet1_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 */ + 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; + }; + }; + + ethernet1_rmii_sleep_pins_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('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 */ + }; + }; + + pwm1_pins_a: pwm1-0 { + pins { + pinmux = <STM32_PINMUX('E', 9, AF1)>, /* TIM1_CH1 */ + <STM32_PINMUX('E', 11, AF1)>, /* TIM1_CH2 */ + <STM32_PINMUX('E', 13, AF1)>; /* TIM1_CH3 */ + bias-pull-down; + drive-push-pull; + slew-rate = <0>; + }; + }; + + pwm1_sleep_pins_a: pwm1-sleep-0 { + pins { + pinmux = <STM32_PINMUX('E', 9, ANALOG)>, /* TIM1_CH1 */ + <STM32_PINMUX('E', 11, ANALOG)>, /* TIM1_CH2 */ + <STM32_PINMUX('E', 13, ANALOG)>; /* TIM1_CH3 */ + }; + }; + + pwm4_pins_a: pwm4-0 { + pins { + pinmux = <STM32_PINMUX('D', 12, AF2)>, /* TIM4_CH1 */ + <STM32_PINMUX('B', 7, AF2)>, /* TIM4_CH2 */ + <STM32_PINMUX('D', 14, AF2)>; /* TIM4_CH3 */ + bias-pull-down; + drive-push-pull; + slew-rate = <0>; + }; + }; + + pwm4_sleep_pins_a: pwm4-sleep-0 { + pins { + pinmux = <STM32_PINMUX('D', 12, ANALOG)>, /* TIM4_CH1 */ + <STM32_PINMUX('B', 7, ANALOG)>, /* TIM4_CH2 */ + <STM32_PINMUX('D', 14, ANALOG)>; /* TIM4_CH3 */ + }; + }; + pwm5_pins_a: pwm5-0 { + pins { + pinmux = <STM32_PINMUX('A', 0, AF2)>; /* TIM5_CH1 */ + }; + }; + + pwm5_sleep_pins_a: pwm5-sleep-0 { + pins { + pinmux = <STM32_PINMUX('A', 0, ANALOG)>; /* TIM5_CH1 */ + }; + }; + + uart7_pins_a: uart7-0 { + pins1 { + pinmux = <STM32_PINMUX('E', 8, AF7)>; /* UART_TX */ + bias-disable; + drive-push-pull; + slew-rate = <0>; + }; + pins2 { + pinmux = <STM32_PINMUX('E', 10, AF7)>; /* UART7_RX */ + bias-pull-up; + }; + }; + + uart7_idle_pins_a: uart7-idle-0 { + pins1 { + pinmux = <STM32_PINMUX('E', 8, ANALOG)>; /* UART7_TX */ + }; + pins2 { + pinmux = <STM32_PINMUX('E', 10, AF7)>; /* UART7_RX */ + bias-pull-up; + }; + }; + + uart7_sleep_pins_a: uart7-sleep-0 { + pins { + pinmux = <STM32_PINMUX('E', 8, ANALOG)>, /* UART7_TX */ + <STM32_PINMUX('E', 10, ANALOG)>; /* UART7_RX */ + }; + }; + + usart6_pins_a: usart6-0 { + pins1 { + pinmux = <STM32_PINMUX('F', 8, AF7)>, /* USART6_TX */ + <STM32_PINMUX('F', 10, AF7)>; /* USART6_DE */ + bias-disable; + drive-push-pull; + slew-rate = <0>; + }; + pins2 { + pinmux = <STM32_PINMUX('H', 11, AF7)>; /* USART6_RX */ + bias-disable; + }; + }; + + usart6_idle_pins_a: usart6-idle-0 { + pins1 { + pinmux = <STM32_PINMUX('F', 8, ANALOG)>; /* USART6_TX */ + }; + pins2 { + pinmux = <STM32_PINMUX('F', 10, AF7)>; /* USART6_DE */ + bias-disable; + drive-push-pull; + slew-rate = <0>; + }; + pins3 { + pinmux = <STM32_PINMUX('H', 11, AF7)>; /* USART6_RX */ + bias-disable; + }; + }; + + usart6_sleep_pins_a: usart6-sleep-0 { + pins { + pinmux = <STM32_PINMUX('F', 8, ANALOG)>, /* USART6_TX */ + <STM32_PINMUX('F', 10, ANALOG)>, /* USART6_DE */ + <STM32_PINMUX('H', 11, ANALOG)>; /* USART6_RX */ + }; + }; +}; -- 2.39.5 ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 4/4] arm: dts: stm32: Add Priva E-Measuringbox devicetree 2024-12-09 10:34 ` [PATCH v2 4/4] arm: dts: stm32: Add Priva E-Measuringbox devicetree Oleksij Rempel @ 2024-12-09 16:44 ` Andrew Lunn 0 siblings, 0 replies; 8+ messages in thread From: Andrew Lunn @ 2024-12-09 16:44 UTC (permalink / raw) To: Oleksij Rempel Cc: Rob Herring, Krzysztof Kozlowski, Conor Dooley, Maxime Coquelin, Alexandre Torgue, David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni, Woojung Huh, Andrew Lunn, Roan van Dijk, kernel, linux-kernel, netdev, devicetree, linux-stm32 > + /* DP83TD510E PHYs have max MDC rate of 1.75MHz. Really? That breaks IEEE 802.3, which requires 2.5MHz. Humm, says it multiple times in the datasheet. Seems like a language lawyer was involved in the data sheet. The DP83TD510E is an ultra-low power Ethernet physical layer transceiver compliant with the IEEE 802.3cg 10Base-T1L specification I would not be surprised to find that 802.3cg says nothing about MDC, that is in the base 802.3 standard, which they don't say they are compliant to. > * Since we can't reduce > + * stmmac MDC clock without reducing system bus rate, we need to use > + * gpio based MDIO bus. > + */ At least there is a simple workaround, even if it is much slower than what you really need. Andrew ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH v2 0/4] Add support for Priva E-Measuringbox board 2024-12-09 10:34 [PATCH v2 0/4] Add support for Priva E-Measuringbox board Oleksij Rempel ` (3 preceding siblings ...) 2024-12-09 10:34 ` [PATCH v2 4/4] arm: dts: stm32: Add Priva E-Measuringbox devicetree Oleksij Rempel @ 2024-12-10 21:42 ` Rob Herring (Arm) 4 siblings, 0 replies; 8+ messages in thread From: Rob Herring (Arm) @ 2024-12-10 21:42 UTC (permalink / raw) To: Oleksij Rempel Cc: Jakub Kicinski, netdev, Paolo Abeni, devicetree, Krzysztof Kozlowski, linux-stm32, Woojung Huh, Conor Dooley, kernel, linux-kernel, Andrew Lunn, Alexandre Torgue, David S. Miller, Maxime Coquelin, Eric Dumazet On Mon, 09 Dec 2024 11:34:30 +0100, Oleksij Rempel wrote: > This patch series introduces support for the Priva E-Measuringbox board > based on the ST STM32MP133 SoC. The set includes all the necessary > changes for device tree bindings, vendor prefixes, thermal support, and > board-specific devicetree to pass devicetree validation and checkpatch > tests. > > changes v2: > - drop: dt-bindings: net: Add TI DP83TD510 10BaseT1L PHY > > Oleksij Rempel (2): > dt-bindings: vendor-prefixes: Add prefix for Priva > dt-bindings: arm: stm32: Add Priva E-Measuringbox board > > Roan van Dijk (2): > arm: dts: stm32: Add thermal support for STM32MP131 > arm: dts: stm32: Add Priva E-Measuringbox devicetree > > .../devicetree/bindings/arm/stm32/stm32.yaml | 6 + > .../devicetree/bindings/vendor-prefixes.yaml | 2 + > arch/arm/boot/dts/st/Makefile | 1 + > arch/arm/boot/dts/st/stm32mp131.dtsi | 35 ++ > arch/arm/boot/dts/st/stm32mp133c-prihmb.dts | 496 ++++++++++++++++++ > 5 files changed, 540 insertions(+) > create mode 100644 arch/arm/boot/dts/st/stm32mp133c-prihmb.dts > > -- > 2.39.5 > > > My bot found new DTB warnings on the .dts files added or changed in this series. Some warnings may be from an existing SoC .dtsi. Or perhaps the warnings are fixed by another series. Ultimately, it is up to the platform maintainer whether these warnings are acceptable or not. No need to reply unless the platform maintainer has comments. If you already ran DT checks and didn't see these error(s), then make sure dt-schema is up to date: pip3 install dtschema --upgrade New warnings running 'make CHECK_DTBS=y st/stm32mp133c-prihmb.dtb' for 20241209103434.359522-1-o.rempel@pengutronix.de: arch/arm/boot/dts/st/stm32mp133c-prihmb.dtb: adc@48004000: adc@0:interrupts: 0 was expected from schema $id: http://devicetree.org/schemas/iio/adc/st,stm32-adc.yaml# arch/arm/boot/dts/st/stm32mp133c-prihmb.dtb: adc@48003000: adc@0:interrupts: 0 was expected from schema $id: http://devicetree.org/schemas/iio/adc/st,stm32-adc.yaml# ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2024-12-10 21:42 UTC | newest] Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2024-12-09 10:34 [PATCH v2 0/4] Add support for Priva E-Measuringbox board Oleksij Rempel 2024-12-09 10:34 ` [PATCH v2 1/4] dt-bindings: vendor-prefixes: Add prefix for Priva Oleksij Rempel 2024-12-09 10:34 ` [PATCH v2 2/4] dt-bindings: arm: stm32: Add Priva E-Measuringbox board Oleksij Rempel 2024-12-10 8:55 ` Krzysztof Kozlowski 2024-12-09 10:34 ` [PATCH v2 3/4] arm: dts: stm32: Add thermal support for STM32MP131 Oleksij Rempel 2024-12-09 10:34 ` [PATCH v2 4/4] arm: dts: stm32: Add Priva E-Measuringbox devicetree Oleksij Rempel 2024-12-09 16:44 ` Andrew Lunn 2024-12-10 21:42 ` [PATCH v2 0/4] Add support for Priva E-Measuringbox board Rob Herring (Arm)
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®