1// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) 2/* 3 * Copyright (C) STMicroelectronics 2021 - All Rights Reserved 4 * Author: Alexandre Torgue <alexandre.torgue@foss.st.com> for STMicroelectronics. 5 */ 6 7/dts-v1/; 8 9#include <dt-bindings/gpio/gpio.h> 10#include <dt-bindings/input/input.h> 11#include <dt-bindings/leds/common.h> 12#include <dt-bindings/regulator/st,stm32mp13-regulator.h> 13#include "stm32mp135.dtsi" 14#include "stm32mp13xf.dtsi" 15#include "stm32mp13-pinctrl.dtsi" 16 17/ { 18 model = "STMicroelectronics STM32MP135F-DK Discovery Board"; 19 compatible = "st,stm32mp135f-dk", "st,stm32mp135"; 20 21 aliases { 22 serial0 = &uart4; 23 serial1 = &usart1; 24 serial2 = &uart8; 25 serial3 = &usart2; 26 }; 27 28 chosen { 29 stdout-path = "serial0:115200n8"; 30 }; 31 32 memory@c0000000 { 33 device_type = "memory"; 34 reg = <0xc0000000 0x20000000>; 35 }; 36 37 reserved-memory { 38 #address-cells = <1>; 39 #size-cells = <1>; 40 ranges; 41 42 optee@dd000000 { 43 reg = <0xdd000000 0x3000000>; 44 no-map; 45 }; 46 }; 47 48 gpio-keys { 49 compatible = "gpio-keys"; 50 51 button-user { 52 label = "User-PA13"; 53 linux,code = <BTN_1>; 54 gpios = <&gpioa 13 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; 55 }; 56 }; 57 58 leds { 59 compatible = "gpio-leds"; 60 61 led-blue { 62 function = LED_FUNCTION_HEARTBEAT; 63 color = <LED_COLOR_ID_BLUE>; 64 gpios = <&gpioa 14 GPIO_ACTIVE_LOW>; 65 linux,default-trigger = "heartbeat"; 66 default-state = "off"; 67 }; 68 }; 69}; 70 71&adc_1 { 72 pinctrl-names = "default"; 73 pinctrl-0 = <&adc1_usb_cc_pins_a>; 74 vdda-supply = <&scmi_vdd_adc>; 75 vref-supply = <&scmi_vdd_adc>; 76 status = "okay"; 77 adc1: adc@0 { 78 status = "okay"; 79 /* 80 * Type-C USB_PWR_CC1 & USB_PWR_CC2 on in6 & in12. 81 * Use at least 5 * RC time, e.g. 5 * (Rp + Rd) * C: 82 * 5 * (5.1 + 47kOhms) * 5pF => 1.3us. 83 * Use arbitrary margin here (e.g. 5us). 84 */ 85 channel@6 { 86 reg = <6>; 87 st,min-sample-time-ns = <5000>; 88 }; 89 channel@12 { 90 reg = <12>; 91 st,min-sample-time-ns = <5000>; 92 }; 93 }; 94}; 95 96&crc1 { 97 status = "okay"; 98}; 99 100&cryp { 101 status = "okay"; 102}; 103 104&i2c1 { 105 pinctrl-names = "default", "sleep"; 106 pinctrl-0 = <&i2c1_pins_a>; 107 pinctrl-1 = <&i2c1_sleep_pins_a>; 108 i2c-scl-rising-time-ns = <96>; 109 i2c-scl-falling-time-ns = <3>; 110 clock-frequency = <1000000>; 111 status = "okay"; 112 /* spare dmas for other usage */ 113 /delete-property/dmas; 114 /delete-property/dma-names; 115 116 mcp23017: pinctrl@21 { 117 compatible = "microchip,mcp23017"; 118 reg = <0x21>; 119 gpio-controller; 120 #gpio-cells = <2>; 121 interrupts = <12 IRQ_TYPE_LEVEL_LOW>; 122 interrupt-parent = <&gpiog>; 123 pinctrl-names = "default"; 124 pinctrl-0 = <&mcp23017_pins_a>; 125 interrupt-controller; 126 #interrupt-cells = <2>; 127 microchip,irq-mirror; 128 }; 129 130 typec@53 { 131 compatible = "st,stm32g0-typec"; 132 reg = <0x53>; 133 /* Alert pin on PI2 */ 134 interrupts = <2 IRQ_TYPE_EDGE_FALLING>; 135 interrupt-parent = <&gpioi>; 136 /* Internal pull-up on PI2 */ 137 pinctrl-names = "default"; 138 pinctrl-0 = <&stm32g0_intn_pins_a>; 139 firmware-name = "stm32g0-ucsi.mp135f-dk.fw"; 140 connector { 141 compatible = "usb-c-connector"; 142 label = "USB-C"; 143 144 port { 145 con_usb_c_g0_ep: endpoint { 146 remote-endpoint = <&usbotg_hs_ep>; 147 }; 148 }; 149 }; 150 }; 151}; 152 153&i2c5 { 154 pinctrl-names = "default", "sleep"; 155 pinctrl-0 = <&i2c5_pins_a>; 156 pinctrl-1 = <&i2c5_sleep_pins_a>; 157 i2c-scl-rising-time-ns = <170>; 158 i2c-scl-falling-time-ns = <5>; 159 clock-frequency = <400000>; 160 status = "okay"; 161 /* spare dmas for other usage */ 162 /delete-property/dmas; 163 /delete-property/dma-names; 164}; 165 166&iwdg2 { 167 timeout-sec = <32>; 168 status = "okay"; 169}; 170 171&rtc { 172 status = "okay"; 173}; 174 175&scmi_regu { 176 scmi_vdd_adc: regulator@10 { 177 reg = <VOLTD_SCMI_STPMIC1_LDO1>; 178 regulator-name = "vdd_adc"; 179 }; 180 scmi_vdd_usb: regulator@13 { 181 reg = <VOLTD_SCMI_STPMIC1_LDO4>; 182 regulator-name = "vdd_usb"; 183 }; 184 scmi_vdd_sd: regulator@14 { 185 reg = <VOLTD_SCMI_STPMIC1_LDO5>; 186 regulator-name = "vdd_sd"; 187 }; 188 scmi_v1v8_periph: regulator@15 { 189 reg = <VOLTD_SCMI_STPMIC1_LDO6>; 190 regulator-name = "v1v8_periph"; 191 }; 192 scmi_v3v3_sw: regulator@19 { 193 reg = <VOLTD_SCMI_STPMIC1_PWR_SW2>; 194 regulator-name = "v3v3_sw"; 195 }; 196}; 197 198&sdmmc1 { 199 pinctrl-names = "default", "opendrain", "sleep"; 200 pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_clk_pins_a>; 201 pinctrl-1 = <&sdmmc1_b4_od_pins_a &sdmmc1_clk_pins_a>; 202 pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>; 203 cd-gpios = <&gpioh 4 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; 204 disable-wp; 205 st,neg-edge; 206 bus-width = <4>; 207 vmmc-supply = <&scmi_vdd_sd>; 208 status = "okay"; 209}; 210 211&spi5 { 212 pinctrl-names = "default", "sleep"; 213 pinctrl-0 = <&spi5_pins_a>; 214 pinctrl-1 = <&spi5_sleep_pins_a>; 215 status = "disabled"; 216}; 217 218&timers3 { 219 /delete-property/dmas; 220 /delete-property/dma-names; 221 status = "disabled"; 222 pwm { 223 pinctrl-0 = <&pwm3_pins_a>; 224 pinctrl-1 = <&pwm3_sleep_pins_a>; 225 pinctrl-names = "default", "sleep"; 226 status = "okay"; 227 }; 228 timer@2 { 229 status = "okay"; 230 }; 231}; 232 233&timers4 { 234 /delete-property/dmas; 235 /delete-property/dma-names; 236 status = "disabled"; 237 pwm { 238 pinctrl-0 = <&pwm4_pins_a>; 239 pinctrl-1 = <&pwm4_sleep_pins_a>; 240 pinctrl-names = "default", "sleep"; 241 status = "okay"; 242 }; 243 timer@3 { 244 status = "okay"; 245 }; 246}; 247 248&timers8 { 249 /delete-property/dmas; 250 /delete-property/dma-names; 251 status = "disabled"; 252 pwm { 253 pinctrl-0 = <&pwm8_pins_a>; 254 pinctrl-1 = <&pwm8_sleep_pins_a>; 255 pinctrl-names = "default", "sleep"; 256 status = "okay"; 257 }; 258 timer@7 { 259 status = "okay"; 260 }; 261}; 262 263&timers14 { 264 status = "disabled"; 265 pwm { 266 pinctrl-0 = <&pwm14_pins_a>; 267 pinctrl-1 = <&pwm14_sleep_pins_a>; 268 pinctrl-names = "default", "sleep"; 269 status = "okay"; 270 }; 271 timer@13 { 272 status = "okay"; 273 }; 274}; 275 276&uart4 { 277 pinctrl-names = "default", "sleep", "idle"; 278 pinctrl-0 = <&uart4_pins_a>; 279 pinctrl-1 = <&uart4_sleep_pins_a>; 280 pinctrl-2 = <&uart4_idle_pins_a>; 281 /delete-property/dmas; 282 /delete-property/dma-names; 283 status = "okay"; 284}; 285 286&uart8 { 287 pinctrl-names = "default", "sleep", "idle"; 288 pinctrl-0 = <&uart8_pins_a>; 289 pinctrl-1 = <&uart8_sleep_pins_a>; 290 pinctrl-2 = <&uart8_idle_pins_a>; 291 /delete-property/dmas; 292 /delete-property/dma-names; 293 status = "disabled"; 294}; 295 296&usart1 { 297 pinctrl-names = "default", "sleep", "idle"; 298 pinctrl-0 = <&usart1_pins_a>; 299 pinctrl-1 = <&usart1_sleep_pins_a>; 300 pinctrl-2 = <&usart1_idle_pins_a>; 301 uart-has-rtscts; 302 status = "disabled"; 303}; 304 305/* Bluetooth */ 306&usart2 { 307 pinctrl-names = "default", "sleep", "idle"; 308 pinctrl-0 = <&usart2_pins_a>; 309 pinctrl-1 = <&usart2_sleep_pins_a>; 310 pinctrl-2 = <&usart2_idle_pins_a>; 311 uart-has-rtscts; 312 status = "okay"; 313}; 314 315&usbh_ehci { 316 phys = <&usbphyc_port0>; 317 status = "okay"; 318 #address-cells = <1>; 319 #size-cells = <0>; 320 /* onboard HUB */ 321 hub@1 { 322 compatible = "usb424,2514"; 323 reg = <1>; 324 vdd-supply = <&scmi_v3v3_sw>; 325 }; 326}; 327 328&usbotg_hs { 329 phys = <&usbphyc_port1 0>; 330 phy-names = "usb2-phy"; 331 usb-role-switch; 332 status = "okay"; 333 port { 334 usbotg_hs_ep: endpoint { 335 remote-endpoint = <&con_usb_c_g0_ep>; 336 }; 337 }; 338}; 339 340&usbphyc { 341 status = "okay"; 342}; 343 344&usbphyc_port0 { 345 phy-supply = <&scmi_vdd_usb>; 346 st,current-boost-microamp = <1000>; 347 st,decrease-hs-slew-rate; 348 st,tune-hs-dc-level = <2>; 349 st,enable-hs-rftime-reduction; 350 st,trim-hs-current = <11>; 351 st,trim-hs-impedance = <2>; 352 st,tune-squelch-level = <1>; 353 st,enable-hs-rx-gain-eq; 354 st,no-hs-ftime-ctrl; 355 st,no-lsfs-sc; 356}; 357 358&usbphyc_port1 { 359 phy-supply = <&scmi_vdd_usb>; 360 st,current-boost-microamp = <1000>; 361 st,decrease-hs-slew-rate; 362 st,tune-hs-dc-level = <2>; 363 st,enable-hs-rftime-reduction; 364 st,trim-hs-current = <11>; 365 st,trim-hs-impedance = <2>; 366 st,tune-squelch-level = <1>; 367 st,enable-hs-rx-gain-eq; 368 st,no-hs-ftime-ctrl; 369 st,no-lsfs-sc; 370}; 371