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&i2c1 { 97 pinctrl-names = "default", "sleep"; 98 pinctrl-0 = <&i2c1_pins_a>; 99 pinctrl-1 = <&i2c1_sleep_pins_a>; 100 i2c-scl-rising-time-ns = <96>; 101 i2c-scl-falling-time-ns = <3>; 102 clock-frequency = <1000000>; 103 status = "okay"; 104 /* spare dmas for other usage */ 105 /delete-property/dmas; 106 /delete-property/dma-names; 107 108 mcp23017: pinctrl@21 { 109 compatible = "microchip,mcp23017"; 110 reg = <0x21>; 111 gpio-controller; 112 #gpio-cells = <2>; 113 interrupts = <12 IRQ_TYPE_LEVEL_LOW>; 114 interrupt-parent = <&gpiog>; 115 pinctrl-names = "default"; 116 pinctrl-0 = <&mcp23017_pins_a>; 117 interrupt-controller; 118 #interrupt-cells = <2>; 119 microchip,irq-mirror; 120 }; 121 122 typec@53 { 123 compatible = "st,stm32g0-typec"; 124 reg = <0x53>; 125 /* Alert pin on PI2 */ 126 interrupts = <2 IRQ_TYPE_EDGE_FALLING>; 127 interrupt-parent = <&gpioi>; 128 /* Internal pull-up on PI2 */ 129 pinctrl-names = "default"; 130 pinctrl-0 = <&stm32g0_intn_pins_a>; 131 firmware-name = "stm32g0-ucsi.mp135f-dk.fw"; 132 connector { 133 compatible = "usb-c-connector"; 134 label = "USB-C"; 135 136 port { 137 con_usb_c_g0_ep: endpoint { 138 remote-endpoint = <&usbotg_hs_ep>; 139 }; 140 }; 141 }; 142 }; 143}; 144 145&i2c5 { 146 pinctrl-names = "default", "sleep"; 147 pinctrl-0 = <&i2c5_pins_a>; 148 pinctrl-1 = <&i2c5_sleep_pins_a>; 149 i2c-scl-rising-time-ns = <170>; 150 i2c-scl-falling-time-ns = <5>; 151 clock-frequency = <400000>; 152 status = "okay"; 153 /* spare dmas for other usage */ 154 /delete-property/dmas; 155 /delete-property/dma-names; 156}; 157 158&iwdg2 { 159 timeout-sec = <32>; 160 status = "okay"; 161}; 162 163&rtc { 164 status = "okay"; 165}; 166 167&scmi_regu { 168 scmi_vdd_adc: regulator@10 { 169 reg = <VOLTD_SCMI_STPMIC1_LDO1>; 170 regulator-name = "vdd_adc"; 171 }; 172 scmi_vdd_usb: regulator@13 { 173 reg = <VOLTD_SCMI_STPMIC1_LDO4>; 174 regulator-name = "vdd_usb"; 175 }; 176 scmi_vdd_sd: regulator@14 { 177 reg = <VOLTD_SCMI_STPMIC1_LDO5>; 178 regulator-name = "vdd_sd"; 179 }; 180 scmi_v1v8_periph: regulator@15 { 181 reg = <VOLTD_SCMI_STPMIC1_LDO6>; 182 regulator-name = "v1v8_periph"; 183 }; 184 scmi_v3v3_sw: regulator@19 { 185 reg = <VOLTD_SCMI_STPMIC1_PWR_SW2>; 186 regulator-name = "v3v3_sw"; 187 }; 188}; 189 190&sdmmc1 { 191 pinctrl-names = "default", "opendrain", "sleep"; 192 pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_clk_pins_a>; 193 pinctrl-1 = <&sdmmc1_b4_od_pins_a &sdmmc1_clk_pins_a>; 194 pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>; 195 cd-gpios = <&gpioh 4 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; 196 disable-wp; 197 st,neg-edge; 198 bus-width = <4>; 199 vmmc-supply = <&scmi_vdd_sd>; 200 status = "okay"; 201}; 202 203&spi5 { 204 pinctrl-names = "default", "sleep"; 205 pinctrl-0 = <&spi5_pins_a>; 206 pinctrl-1 = <&spi5_sleep_pins_a>; 207 status = "disabled"; 208}; 209 210&timers3 { 211 /delete-property/dmas; 212 /delete-property/dma-names; 213 status = "disabled"; 214 pwm { 215 pinctrl-0 = <&pwm3_pins_a>; 216 pinctrl-1 = <&pwm3_sleep_pins_a>; 217 pinctrl-names = "default", "sleep"; 218 status = "okay"; 219 }; 220 timer@2 { 221 status = "okay"; 222 }; 223}; 224 225&timers4 { 226 /delete-property/dmas; 227 /delete-property/dma-names; 228 status = "disabled"; 229 pwm { 230 pinctrl-0 = <&pwm4_pins_a>; 231 pinctrl-1 = <&pwm4_sleep_pins_a>; 232 pinctrl-names = "default", "sleep"; 233 status = "okay"; 234 }; 235 timer@3 { 236 status = "okay"; 237 }; 238}; 239 240&timers8 { 241 /delete-property/dmas; 242 /delete-property/dma-names; 243 status = "disabled"; 244 pwm { 245 pinctrl-0 = <&pwm8_pins_a>; 246 pinctrl-1 = <&pwm8_sleep_pins_a>; 247 pinctrl-names = "default", "sleep"; 248 status = "okay"; 249 }; 250 timer@7 { 251 status = "okay"; 252 }; 253}; 254 255&timers14 { 256 status = "disabled"; 257 pwm { 258 pinctrl-0 = <&pwm14_pins_a>; 259 pinctrl-1 = <&pwm14_sleep_pins_a>; 260 pinctrl-names = "default", "sleep"; 261 status = "okay"; 262 }; 263 timer@13 { 264 status = "okay"; 265 }; 266}; 267 268&uart4 { 269 pinctrl-names = "default", "sleep", "idle"; 270 pinctrl-0 = <&uart4_pins_a>; 271 pinctrl-1 = <&uart4_sleep_pins_a>; 272 pinctrl-2 = <&uart4_idle_pins_a>; 273 /delete-property/dmas; 274 /delete-property/dma-names; 275 status = "okay"; 276}; 277 278&uart8 { 279 pinctrl-names = "default", "sleep", "idle"; 280 pinctrl-0 = <&uart8_pins_a>; 281 pinctrl-1 = <&uart8_sleep_pins_a>; 282 pinctrl-2 = <&uart8_idle_pins_a>; 283 /delete-property/dmas; 284 /delete-property/dma-names; 285 status = "disabled"; 286}; 287 288&usart1 { 289 pinctrl-names = "default", "sleep", "idle"; 290 pinctrl-0 = <&usart1_pins_a>; 291 pinctrl-1 = <&usart1_sleep_pins_a>; 292 pinctrl-2 = <&usart1_idle_pins_a>; 293 uart-has-rtscts; 294 status = "disabled"; 295}; 296 297/* Bluetooth */ 298&usart2 { 299 pinctrl-names = "default", "sleep", "idle"; 300 pinctrl-0 = <&usart2_pins_a>; 301 pinctrl-1 = <&usart2_sleep_pins_a>; 302 pinctrl-2 = <&usart2_idle_pins_a>; 303 uart-has-rtscts; 304 status = "okay"; 305}; 306 307&usbh_ehci { 308 phys = <&usbphyc_port0>; 309 status = "okay"; 310 #address-cells = <1>; 311 #size-cells = <0>; 312 /* onboard HUB */ 313 hub@1 { 314 compatible = "usb424,2514"; 315 reg = <1>; 316 vdd-supply = <&scmi_v3v3_sw>; 317 }; 318}; 319 320&usbotg_hs { 321 phys = <&usbphyc_port1 0>; 322 phy-names = "usb2-phy"; 323 usb-role-switch; 324 status = "okay"; 325 port { 326 usbotg_hs_ep: endpoint { 327 remote-endpoint = <&con_usb_c_g0_ep>; 328 }; 329 }; 330}; 331 332&usbphyc { 333 status = "okay"; 334}; 335 336&usbphyc_port0 { 337 phy-supply = <&scmi_vdd_usb>; 338 st,current-boost-microamp = <1000>; 339 st,decrease-hs-slew-rate; 340 st,tune-hs-dc-level = <2>; 341 st,enable-hs-rftime-reduction; 342 st,trim-hs-current = <11>; 343 st,trim-hs-impedance = <2>; 344 st,tune-squelch-level = <1>; 345 st,enable-hs-rx-gain-eq; 346 st,no-hs-ftime-ctrl; 347 st,no-lsfs-sc; 348}; 349 350&usbphyc_port1 { 351 phy-supply = <&scmi_vdd_usb>; 352 st,current-boost-microamp = <1000>; 353 st,decrease-hs-slew-rate; 354 st,tune-hs-dc-level = <2>; 355 st,enable-hs-rftime-reduction; 356 st,trim-hs-current = <11>; 357 st,trim-hs-impedance = <2>; 358 st,tune-squelch-level = <1>; 359 st,enable-hs-rx-gain-eq; 360 st,no-hs-ftime-ctrl; 361 st,no-lsfs-sc; 362}; 363