Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: dts: stm32: add support for Protonic PRTT1x boards

This boards are based on STM32MP151AAD3 and use 10BaseT1L for communication.

- PRTT1C - 10BaseT1L switch
- PRTT1S - 10BaseT1L CO2 sensor board
- PRTT1A - 10BaseT1L multi functional controller

Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>

authored by

Oleksij Rempel and committed by
Alexandre Torgue
1a43e9b2 9ad65d24

+651
+3
arch/arm/boot/dts/Makefile
··· 1156 1156 stm32h743i-disco.dtb \ 1157 1157 stm32h750i-art-pi.dtb \ 1158 1158 stm32mp135f-dk.dtb \ 1159 + stm32mp151a-prtt1a.dtb \ 1160 + stm32mp151a-prtt1c.dtb \ 1161 + stm32mp151a-prtt1s.dtb \ 1159 1162 stm32mp153c-dhcom-drc02.dtb \ 1160 1163 stm32mp157a-avenger96.dtb \ 1161 1164 stm32mp157a-dhcor-avenger96.dtb \
+52
arch/arm/boot/dts/stm32mp151a-prtt1a.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) 2 + /* 3 + * Copyright (C) Protonic Holland 4 + * Author: David Jander <david@protonic.nl> 5 + */ 6 + /dts-v1/; 7 + 8 + #include "stm32mp151a-prtt1l.dtsi" 9 + 10 + / { 11 + model = "Protonic PRTT1A"; 12 + compatible = "prt,prtt1a", "st,stm32mp151"; 13 + }; 14 + 15 + &ethernet0 { 16 + phy-handle = <&phy0>; 17 + }; 18 + 19 + &mdio0 { 20 + /* TI DP83TD510E */ 21 + phy0: ethernet-phy@0 { 22 + compatible = "ethernet-phy-id2000.0181"; 23 + reg = <0>; 24 + interrupts-extended = <&gpioa 4 IRQ_TYPE_LEVEL_LOW>; 25 + reset-gpios = <&gpioa 3 GPIO_ACTIVE_LOW>; 26 + reset-assert-us = <10>; 27 + reset-deassert-us = <35>; 28 + }; 29 + }; 30 + 31 + &pwm5_pins_a { 32 + pins { 33 + pinmux = <STM32_PINMUX('A', 0, AF2)>; /* TIM5_CH1 */ 34 + }; 35 + }; 36 + 37 + &pwm5_sleep_pins_a { 38 + pins { 39 + pinmux = <STM32_PINMUX('A', 0, ANALOG)>; /* TIM5_CH1 */ 40 + }; 41 + }; 42 + 43 + &timers5 { 44 + status = "okay"; 45 + 46 + pwm { 47 + pinctrl-0 = <&pwm5_pins_a>; 48 + pinctrl-1 = <&pwm5_sleep_pins_a>; 49 + pinctrl-names = "default", "sleep"; 50 + status = "okay"; 51 + }; 52 + };
+304
arch/arm/boot/dts/stm32mp151a-prtt1c.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) 2 + /* 3 + * Copyright (C) Protonic Holland 4 + * Author: David Jander <david@protonic.nl> 5 + */ 6 + /dts-v1/; 7 + 8 + #include "stm32mp151a-prtt1l.dtsi" 9 + 10 + / { 11 + model = "Protonic PRTT1C"; 12 + compatible = "prt,prtt1c", "st,stm32mp151"; 13 + 14 + clock_ksz9031: clock-ksz9031 { 15 + compatible = "fixed-clock"; 16 + #clock-cells = <0>; 17 + clock-frequency = <25000000>; 18 + }; 19 + 20 + clock_sja1105: clock-sja1105 { 21 + compatible = "fixed-clock"; 22 + #clock-cells = <0>; 23 + clock-frequency = <25000000>; 24 + }; 25 + 26 + mdio0: mdio { 27 + compatible = "virtual,mdio-gpio"; 28 + #address-cells = <1>; 29 + #size-cells = <0>; 30 + gpios = <&gpioc 1 GPIO_ACTIVE_HIGH 31 + &gpioa 2 GPIO_ACTIVE_HIGH>; 32 + 33 + }; 34 + 35 + wifi_pwrseq: wifi-pwrseq { 36 + compatible = "mmc-pwrseq-simple"; 37 + reset-gpios = <&gpiod 8 GPIO_ACTIVE_LOW>; 38 + }; 39 + }; 40 + 41 + &ethernet0 { 42 + fixed-link { 43 + speed = <100>; 44 + full-duplex; 45 + }; 46 + }; 47 + 48 + &gpioa { 49 + gpio-line-names = 50 + "", "", "", "PHY0_nRESET", "PHY0_nINT", "", "", "", 51 + "", "", "", "", "", "", "", "SPI1_nSS"; 52 + }; 53 + 54 + &gpiod { 55 + gpio-line-names = 56 + "", "", "", "", "", "", "", "", 57 + "WFM_RESET", "", "", "", "", "", "", ""; 58 + }; 59 + 60 + &gpioe { 61 + gpio-line-names = 62 + "SDMMC2_nRESET", "", "", "", "", "", "SPI1_nRESET", "", 63 + "", "", "", "", "WFM_nIRQ", "", "", ""; 64 + }; 65 + 66 + &gpiog { 67 + gpio-line-names = 68 + "", "", "", "", "", "", "", "PHY3_nINT", 69 + "PHY1_nINT", "PHY3_nRESET", "PHY2_nINT", "PHY2_nRESET", 70 + "PHY1_nRESET", "SPE1_PWR", "SPE0_PWR", ""; 71 + }; 72 + 73 + &mdio0 { 74 + /* All this DP83TD510E PHYs can't be probed before switch@0 is 75 + * probed so we need to use compatible with PHYid 76 + */ 77 + /* TI DP83TD510E */ 78 + t1l0_phy: ethernet-phy@6 { 79 + compatible = "ethernet-phy-id2000.0181"; 80 + reg = <6>; 81 + interrupts-extended = <&gpioa 4 IRQ_TYPE_LEVEL_LOW>; 82 + reset-gpios = <&gpioa 3 GPIO_ACTIVE_LOW>; 83 + reset-assert-us = <10>; 84 + reset-deassert-us = <35>; 85 + }; 86 + 87 + /* TI DP83TD510E */ 88 + t1l1_phy: ethernet-phy@7 { 89 + compatible = "ethernet-phy-id2000.0181"; 90 + reg = <7>; 91 + interrupts-extended = <&gpiog 8 IRQ_TYPE_LEVEL_LOW>; 92 + reset-gpios = <&gpiog 12 GPIO_ACTIVE_LOW>; 93 + reset-assert-us = <10>; 94 + reset-deassert-us = <35>; 95 + }; 96 + 97 + /* TI DP83TD510E */ 98 + t1l2_phy: ethernet-phy@10 { 99 + compatible = "ethernet-phy-id2000.0181"; 100 + reg = <10>; 101 + interrupts-extended = <&gpiog 10 IRQ_TYPE_LEVEL_LOW>; 102 + reset-gpios = <&gpiog 11 GPIO_ACTIVE_LOW>; 103 + reset-assert-us = <10>; 104 + reset-deassert-us = <35>; 105 + }; 106 + 107 + /* Micrel KSZ9031 */ 108 + rj45_phy: ethernet-phy@2 { 109 + reg = <2>; 110 + interrupts-extended = <&gpiog 7 IRQ_TYPE_LEVEL_LOW>; 111 + reset-gpios = <&gpiog 9 GPIO_ACTIVE_LOW>; 112 + reset-assert-us = <10000>; 113 + reset-deassert-us = <1000>; 114 + 115 + clocks = <&clock_ksz9031>; 116 + }; 117 + }; 118 + 119 + &qspi { 120 + status = "disabled"; 121 + }; 122 + 123 + &sdmmc2 { 124 + pinctrl-names = "default", "opendrain", "sleep"; 125 + pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_a>; 126 + pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_d47_pins_a>; 127 + pinctrl-2 = <&sdmmc2_b4_sleep_pins_a &sdmmc2_d47_sleep_pins_a>; 128 + non-removable; 129 + no-sd; 130 + no-sdio; 131 + no-1-8-v; 132 + st,neg-edge; 133 + bus-width = <8>; 134 + vmmc-supply = <&reg_3v3>; 135 + vqmmc-supply = <&reg_3v3>; 136 + status = "okay"; 137 + }; 138 + 139 + &sdmmc2_b4_od_pins_a { 140 + pins1 { 141 + pinmux = <STM32_PINMUX('B', 14, AF9)>, /* SDMMC2_D0 */ 142 + <STM32_PINMUX('B', 7, AF10)>, /* SDMMC2_D1 */ 143 + <STM32_PINMUX('B', 3, AF9)>, /* SDMMC2_D2 */ 144 + <STM32_PINMUX('B', 4, AF9)>; /* SDMMC2_D3 */ 145 + }; 146 + }; 147 + 148 + &sdmmc2_b4_pins_a { 149 + pins1 { 150 + pinmux = <STM32_PINMUX('B', 14, AF9)>, /* SDMMC2_D0 */ 151 + <STM32_PINMUX('B', 7, AF10)>, /* SDMMC2_D1 */ 152 + <STM32_PINMUX('B', 3, AF9)>, /* SDMMC2_D2 */ 153 + <STM32_PINMUX('B', 4, AF9)>, /* SDMMC2_D3 */ 154 + <STM32_PINMUX('G', 6, AF10)>; /* SDMMC2_CMD */ 155 + }; 156 + }; 157 + 158 + &sdmmc2_b4_sleep_pins_a { 159 + pins { 160 + pinmux = <STM32_PINMUX('B', 14, ANALOG)>, /* SDMMC2_D0 */ 161 + <STM32_PINMUX('B', 7, ANALOG)>, /* SDMMC2_D1 */ 162 + <STM32_PINMUX('B', 3, ANALOG)>, /* SDMMC2_D2 */ 163 + <STM32_PINMUX('B', 4, ANALOG)>, /* SDMMC2_D3 */ 164 + <STM32_PINMUX('E', 3, ANALOG)>, /* SDMMC2_CK */ 165 + <STM32_PINMUX('G', 6, ANALOG)>; /* SDMMC2_CMD */ 166 + }; 167 + }; 168 + 169 + &sdmmc2_d47_pins_a { 170 + pins { 171 + pinmux = <STM32_PINMUX('A', 8, AF9)>, /* SDMMC2_D4 */ 172 + <STM32_PINMUX('A', 9, AF10)>, /* SDMMC2_D5 */ 173 + <STM32_PINMUX('C', 6, AF10)>, /* SDMMC2_D6 */ 174 + <STM32_PINMUX('C', 7, AF10)>; /* SDMMC2_D7 */ 175 + }; 176 + }; 177 + 178 + &sdmmc2_d47_sleep_pins_a { 179 + pins { 180 + pinmux = <STM32_PINMUX('A', 8, ANALOG)>, /* SDMMC2_D4 */ 181 + <STM32_PINMUX('A', 9, ANALOG)>, /* SDMMC2_D5 */ 182 + <STM32_PINMUX('C', 6, ANALOG)>, /* SDMMC2_D6 */ 183 + <STM32_PINMUX('D', 3, ANALOG)>; /* SDMMC2_D7 */ 184 + }; 185 + }; 186 + 187 + &sdmmc3 { 188 + pinctrl-names = "default", "opendrain", "sleep"; 189 + pinctrl-0 = <&sdmmc3_b4_pins_b>; 190 + pinctrl-1 = <&sdmmc3_b4_od_pins_b>; 191 + pinctrl-2 = <&sdmmc3_b4_sleep_pins_b>; 192 + non-removable; 193 + no-1-8-v; 194 + st,neg-edge; 195 + bus-width = <4>; 196 + vmmc-supply = <&reg_3v3>; 197 + vqmmc-supply = <&reg_3v3>; 198 + mmc-pwrseq = <&wifi_pwrseq>; 199 + #address-cells = <1>; 200 + #size-cells = <0>; 201 + status = "okay"; 202 + 203 + mmc@1 { 204 + compatible = "prt,prtt1c-wfm200", "silabs,wf200"; 205 + reg = <1>; 206 + }; 207 + }; 208 + 209 + &sdmmc3_b4_od_pins_b { 210 + pins1 { 211 + pinmux = <STM32_PINMUX('D', 1, AF10)>, /* SDMMC3_D0 */ 212 + <STM32_PINMUX('D', 4, AF10)>, /* SDMMC3_D1 */ 213 + <STM32_PINMUX('D', 5, AF10)>, /* SDMMC3_D2 */ 214 + <STM32_PINMUX('D', 7, AF10)>; /* SDMMC3_D3 */ 215 + }; 216 + }; 217 + 218 + &sdmmc3_b4_pins_b { 219 + pins1 { 220 + pinmux = <STM32_PINMUX('D', 1, AF10)>, /* SDMMC3_D0 */ 221 + <STM32_PINMUX('D', 4, AF10)>, /* SDMMC3_D1 */ 222 + <STM32_PINMUX('D', 5, AF10)>, /* SDMMC3_D2 */ 223 + <STM32_PINMUX('D', 7, AF10)>, /* SDMMC3_D3 */ 224 + <STM32_PINMUX('D', 0, AF10)>; /* SDMMC3_CMD */ 225 + }; 226 + }; 227 + 228 + &sdmmc3_b4_sleep_pins_b { 229 + pins { 230 + pinmux = <STM32_PINMUX('D', 1, ANALOG)>, /* SDMMC3_D0 */ 231 + <STM32_PINMUX('D', 4, ANALOG)>, /* SDMMC3_D1 */ 232 + <STM32_PINMUX('D', 5, ANALOG)>, /* SDMMC3_D2 */ 233 + <STM32_PINMUX('D', 7, ANALOG)>, /* SDMMC3_D3 */ 234 + <STM32_PINMUX('G', 15, ANALOG)>, /* SDMMC3_CK */ 235 + <STM32_PINMUX('D', 0, ANALOG)>; /* SDMMC3_CMD */ 236 + }; 237 + }; 238 + 239 + &spi1 { 240 + pinctrl-0 = <&spi1_pins_b>; 241 + pinctrl-names = "default"; 242 + cs-gpios = <&gpioa 15 GPIO_ACTIVE_LOW>; 243 + /delete-property/dmas; 244 + /delete-property/dma-names; 245 + status = "okay"; 246 + 247 + switch@0 { 248 + compatible = "nxp,sja1105q"; 249 + reg = <0>; 250 + spi-max-frequency = <4000000>; 251 + spi-rx-delay-us = <1>; 252 + spi-tx-delay-us = <1>; 253 + spi-cpha; 254 + 255 + reset-gpios = <&gpioe 6 GPIO_ACTIVE_LOW>; 256 + 257 + clocks = <&clock_sja1105>; 258 + 259 + ports { 260 + #address-cells = <1>; 261 + #size-cells = <0>; 262 + 263 + port@0 { 264 + reg = <0>; 265 + label = "t1l0"; 266 + phy-mode = "rmii"; 267 + phy-handle = <&t1l0_phy>; 268 + }; 269 + 270 + port@1 { 271 + reg = <1>; 272 + label = "t1l1"; 273 + phy-mode = "rmii"; 274 + phy-handle = <&t1l1_phy>; 275 + }; 276 + 277 + port@2 { 278 + reg = <2>; 279 + label = "t1l2"; 280 + phy-mode = "rmii"; 281 + phy-handle = <&t1l2_phy>; 282 + }; 283 + 284 + port@3 { 285 + reg = <3>; 286 + label = "rj45"; 287 + phy-handle = <&rj45_phy>; 288 + phy-mode = "rgmii-id"; 289 + }; 290 + 291 + port@4 { 292 + reg = <4>; 293 + label = "cpu"; 294 + ethernet = <&ethernet0>; 295 + phy-mode = "rmii"; 296 + 297 + fixed-link { 298 + speed = <100>; 299 + full-duplex; 300 + }; 301 + }; 302 + }; 303 + }; 304 + };
+229
arch/arm/boot/dts/stm32mp151a-prtt1l.dtsi
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) 2 + /* 3 + * Copyright (C) Protonic Holland 4 + * Author: David Jander <david@protonic.nl> 5 + */ 6 + /dts-v1/; 7 + 8 + #include "stm32mp151.dtsi" 9 + #include "stm32mp15-pinctrl.dtsi" 10 + #include "stm32mp15xxad-pinctrl.dtsi" 11 + #include <dt-bindings/gpio/gpio.h> 12 + #include <dt-bindings/input/input.h> 13 + #include <dt-bindings/leds/common.h> 14 + 15 + / { 16 + aliases { 17 + ethernet0 = &ethernet0; 18 + mdio-gpio0 = &mdio0; 19 + serial0 = &uart4; 20 + }; 21 + 22 + led-controller-0 { 23 + compatible = "gpio-leds"; 24 + 25 + led-0 { 26 + color = <LED_COLOR_ID_RED>; 27 + function = LED_FUNCTION_INDICATOR; 28 + gpios = <&gpioa 13 GPIO_ACTIVE_LOW>; 29 + }; 30 + 31 + led-1 { 32 + color = <LED_COLOR_ID_GREEN>; 33 + function = LED_FUNCTION_INDICATOR; 34 + gpios = <&gpioa 14 GPIO_ACTIVE_LOW>; 35 + linux,default-trigger = "heartbeat"; 36 + }; 37 + }; 38 + 39 + 40 + /* DP83TD510E PHYs have max MDC rate of 1.75MHz. Since we can't reduce 41 + * stmmac MDC clock without reducing system bus rate, we need to use 42 + * gpio based MDIO bus. 43 + */ 44 + mdio0: mdio { 45 + compatible = "virtual,mdio-gpio"; 46 + #address-cells = <1>; 47 + #size-cells = <0>; 48 + gpios = <&gpioc 1 GPIO_ACTIVE_HIGH 49 + &gpioa 2 GPIO_ACTIVE_HIGH>; 50 + }; 51 + 52 + reg_3v3: regulator-3v3 { 53 + compatible = "regulator-fixed"; 54 + regulator-name = "3v3"; 55 + regulator-min-microvolt = <3300000>; 56 + regulator-max-microvolt = <3300000>; 57 + }; 58 + }; 59 + 60 + &dts { 61 + status = "okay"; 62 + }; 63 + 64 + &ethernet0 { 65 + pinctrl-0 = <&ethernet0_rmii_pins_a>; 66 + pinctrl-1 = <&ethernet0_rmii_sleep_pins_a>; 67 + pinctrl-names = "default", "sleep"; 68 + phy-mode = "rmii"; 69 + status = "okay"; 70 + }; 71 + 72 + &ethernet0_rmii_pins_a { 73 + pins1 { 74 + pinmux = <STM32_PINMUX('B', 12, AF11)>, /* ETH1_RMII_TXD0 */ 75 + <STM32_PINMUX('B', 13, AF11)>, /* ETH1_RMII_TXD1 */ 76 + <STM32_PINMUX('B', 11, AF11)>; /* ETH1_RMII_TX_EN */ 77 + }; 78 + pins2 { 79 + pinmux = <STM32_PINMUX('C', 4, AF11)>, /* ETH1_RMII_RXD0 */ 80 + <STM32_PINMUX('C', 5, AF11)>, /* ETH1_RMII_RXD1 */ 81 + <STM32_PINMUX('A', 1, AF11)>, /* ETH1_RMII_REF_CLK input */ 82 + <STM32_PINMUX('A', 7, AF11)>; /* ETH1_RMII_CRS_DV */ 83 + }; 84 + }; 85 + 86 + &ethernet0_rmii_sleep_pins_a { 87 + pins1 { 88 + pinmux = <STM32_PINMUX('B', 12, ANALOG)>, /* ETH1_RMII_TXD0 */ 89 + <STM32_PINMUX('B', 13, ANALOG)>, /* ETH1_RMII_TXD1 */ 90 + <STM32_PINMUX('B', 11, ANALOG)>, /* ETH1_RMII_TX_EN */ 91 + <STM32_PINMUX('C', 4, ANALOG)>, /* ETH1_RMII_RXD0 */ 92 + <STM32_PINMUX('C', 5, ANALOG)>, /* ETH1_RMII_RXD1 */ 93 + <STM32_PINMUX('A', 1, ANALOG)>, /* ETH1_RMII_REF_CLK */ 94 + <STM32_PINMUX('A', 7, ANALOG)>; /* ETH1_RMII_CRS_DV */ 95 + }; 96 + }; 97 + 98 + &iwdg2 { 99 + status = "okay"; 100 + }; 101 + 102 + &qspi { 103 + pinctrl-names = "default", "sleep"; 104 + pinctrl-0 = <&qspi_clk_pins_a &qspi_bk1_pins_a>; 105 + pinctrl-1 = <&qspi_clk_sleep_pins_a &qspi_bk1_sleep_pins_a>; 106 + reg = <0x58003000 0x1000>, <0x70000000 0x4000000>; 107 + #address-cells = <1>; 108 + #size-cells = <0>; 109 + status = "okay"; 110 + 111 + flash@0 { 112 + compatible = "spi-nand"; 113 + reg = <0>; 114 + spi-rx-bus-width = <4>; 115 + spi-max-frequency = <104000000>; 116 + #address-cells = <1>; 117 + #size-cells = <1>; 118 + }; 119 + }; 120 + 121 + &qspi_bk1_pins_a { 122 + pins1 { 123 + bias-pull-up; 124 + drive-push-pull; 125 + slew-rate = <1>; 126 + }; 127 + }; 128 + 129 + &rng1 { 130 + status = "okay"; 131 + }; 132 + 133 + &sdmmc1 { 134 + pinctrl-names = "default", "opendrain", "sleep"; 135 + pinctrl-0 = <&sdmmc1_b4_pins_a>; 136 + pinctrl-1 = <&sdmmc1_b4_od_pins_a>; 137 + pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>; 138 + broken-cd; 139 + st,neg-edge; 140 + bus-width = <4>; 141 + vmmc-supply = <&reg_3v3>; 142 + vqmmc-supply = <&reg_3v3>; 143 + status = "okay"; 144 + }; 145 + 146 + &sdmmc1_b4_od_pins_a { 147 + pins1 { 148 + bias-pull-up; 149 + }; 150 + pins2 { 151 + bias-pull-up; 152 + }; 153 + }; 154 + 155 + &sdmmc1_b4_pins_a { 156 + pins1 { 157 + bias-pull-up; 158 + }; 159 + pins2 { 160 + bias-pull-up; 161 + }; 162 + }; 163 + 164 + &uart4 { 165 + pinctrl-names = "default", "sleep", "idle"; 166 + pinctrl-0 = <&uart4_pins_a>; 167 + pinctrl-1 = <&uart4_sleep_pins_a>; 168 + pinctrl-2 = <&uart4_idle_pins_a>; 169 + /delete-property/dmas; 170 + /delete-property/dma-names; 171 + status = "okay"; 172 + }; 173 + 174 + &uart4_idle_pins_a { 175 + pins1 { 176 + pinmux = <STM32_PINMUX('B', 9, ANALOG)>; /* UART4_TX */ 177 + }; 178 + pins2 { 179 + pinmux = <STM32_PINMUX('B', 2, AF8)>; /* UART4_RX */ 180 + bias-pull-up; 181 + }; 182 + }; 183 + 184 + &uart4_pins_a { 185 + pins1 { 186 + pinmux = <STM32_PINMUX('B', 9, AF8)>; /* UART4_TX */ 187 + bias-disable; 188 + drive-push-pull; 189 + slew-rate = <0>; 190 + }; 191 + pins2 { 192 + pinmux = <STM32_PINMUX('B', 2, AF8)>; /* UART4_RX */ 193 + bias-pull-up; 194 + }; 195 + }; 196 + 197 + &uart4_sleep_pins_a { 198 + pins { 199 + pinmux = <STM32_PINMUX('B', 9, ANALOG)>, /* UART4_TX */ 200 + <STM32_PINMUX('B', 2, ANALOG)>; /* UART4_RX */ 201 + }; 202 + }; 203 + 204 + &usbh_ehci { 205 + phys = <&usbphyc_port0>; 206 + phy-names = "usb"; 207 + status = "okay"; 208 + }; 209 + 210 + &usbotg_hs { 211 + dr_mode = "host"; 212 + pinctrl-0 = <&usbotg_hs_pins_a>; 213 + pinctrl-names = "default"; 214 + phys = <&usbphyc_port1 0>; 215 + phy-names = "usb2-phy"; 216 + status = "okay"; 217 + }; 218 + 219 + &usbphyc { 220 + status = "okay"; 221 + }; 222 + 223 + &usbphyc_port0 { 224 + phy-supply = <&reg_3v3>; 225 + }; 226 + 227 + &usbphyc_port1 { 228 + phy-supply = <&reg_3v3>; 229 + };
+63
arch/arm/boot/dts/stm32mp151a-prtt1s.dts
··· 1 + // SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) 2 + /* 3 + * Copyright (C) Protonic Holland 4 + * Author: David Jander <david@protonic.nl> 5 + */ 6 + /dts-v1/; 7 + 8 + #include "stm32mp151a-prtt1l.dtsi" 9 + 10 + / { 11 + model = "Protonic PRTT1S"; 12 + compatible = "prt,prtt1s", "st,stm32mp151"; 13 + }; 14 + 15 + &ethernet0 { 16 + phy-handle = <&phy0>; 17 + }; 18 + 19 + &i2c1 { 20 + pinctrl-names = "default", "sleep"; 21 + pinctrl-0 = <&i2c1_pins_a>; 22 + pinctrl-1 = <&i2c1_sleep_pins_a>; 23 + clock-frequency = <100000>; 24 + /delete-property/dmas; 25 + /delete-property/dma-names; 26 + status = "okay"; 27 + 28 + humidity-sensor@40 { 29 + compatible = "ti,hdc1080"; 30 + reg = <0x40>; 31 + }; 32 + 33 + co2-sensor@62 { 34 + compatible = "sensirion,scd41"; 35 + reg = <0x62>; 36 + }; 37 + }; 38 + 39 + &i2c1_pins_a { 40 + pins { 41 + pinmux = <STM32_PINMUX('D', 12, AF5)>, /* I2C1_SCL */ 42 + <STM32_PINMUX('D', 13, AF5)>; /* I2C1_SDA */ 43 + }; 44 + }; 45 + 46 + &i2c1_sleep_pins_a { 47 + pins { 48 + pinmux = <STM32_PINMUX('D', 12, ANALOG)>, /* I2C1_SCL */ 49 + <STM32_PINMUX('D', 13, ANALOG)>; /* I2C1_SDA */ 50 + }; 51 + }; 52 + 53 + &mdio0 { 54 + /* TI DP83TD510E */ 55 + phy0: ethernet-phy@0 { 56 + compatible = "ethernet-phy-id2000.0181"; 57 + reg = <0>; 58 + interrupts-extended = <&gpioa 4 IRQ_TYPE_LEVEL_LOW>; 59 + reset-gpios = <&gpioa 3 GPIO_ACTIVE_LOW>; 60 + reset-assert-us = <10>; 61 + reset-deassert-us = <35>; 62 + }; 63 + };