1724ba675SRob Herring// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) 2724ba675SRob Herring/* 3724ba675SRob Herring * Copyright (C) STMicroelectronics 2021 - All Rights Reserved 4724ba675SRob Herring * Author: Alexandre Torgue <alexandre.torgue@foss.st.com> for STMicroelectronics. 5724ba675SRob Herring */ 6724ba675SRob Herring 7724ba675SRob Herring/dts-v1/; 8724ba675SRob Herring 9724ba675SRob Herring#include <dt-bindings/gpio/gpio.h> 10724ba675SRob Herring#include <dt-bindings/input/input.h> 11724ba675SRob Herring#include <dt-bindings/leds/common.h> 124c757f6bSEtienne Carriere#include <dt-bindings/regulator/st,stm32mp13-regulator.h> 13724ba675SRob Herring#include "stm32mp135.dtsi" 14724ba675SRob Herring#include "stm32mp13xf.dtsi" 15724ba675SRob Herring#include "stm32mp13-pinctrl.dtsi" 16724ba675SRob Herring 17724ba675SRob Herring/ { 18724ba675SRob Herring model = "STMicroelectronics STM32MP135F-DK Discovery Board"; 19724ba675SRob Herring compatible = "st,stm32mp135f-dk", "st,stm32mp135"; 20724ba675SRob Herring 21724ba675SRob Herring aliases { 22724ba675SRob Herring serial0 = &uart4; 23724ba675SRob Herring serial1 = &usart1; 24724ba675SRob Herring serial2 = &uart8; 25724ba675SRob Herring serial3 = &usart2; 26724ba675SRob Herring }; 27724ba675SRob Herring 28724ba675SRob Herring chosen { 29724ba675SRob Herring stdout-path = "serial0:115200n8"; 30724ba675SRob Herring }; 31724ba675SRob Herring 32724ba675SRob Herring memory@c0000000 { 33724ba675SRob Herring device_type = "memory"; 34724ba675SRob Herring reg = <0xc0000000 0x20000000>; 35724ba675SRob Herring }; 36724ba675SRob Herring 37724ba675SRob Herring reserved-memory { 38724ba675SRob Herring #address-cells = <1>; 39724ba675SRob Herring #size-cells = <1>; 40724ba675SRob Herring ranges; 41724ba675SRob Herring 42724ba675SRob Herring optee@dd000000 { 43724ba675SRob Herring reg = <0xdd000000 0x3000000>; 44724ba675SRob Herring no-map; 45724ba675SRob Herring }; 46724ba675SRob Herring }; 47724ba675SRob Herring 48724ba675SRob Herring gpio-keys { 49724ba675SRob Herring compatible = "gpio-keys"; 50724ba675SRob Herring 51724ba675SRob Herring button-user { 52724ba675SRob Herring label = "User-PA13"; 53724ba675SRob Herring linux,code = <BTN_1>; 54724ba675SRob Herring gpios = <&gpioa 13 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; 55724ba675SRob Herring }; 56724ba675SRob Herring }; 57724ba675SRob Herring 58724ba675SRob Herring leds { 59724ba675SRob Herring compatible = "gpio-leds"; 60724ba675SRob Herring 61724ba675SRob Herring led-blue { 62724ba675SRob Herring function = LED_FUNCTION_HEARTBEAT; 63724ba675SRob Herring color = <LED_COLOR_ID_BLUE>; 64724ba675SRob Herring gpios = <&gpioa 14 GPIO_ACTIVE_LOW>; 65724ba675SRob Herring linux,default-trigger = "heartbeat"; 66724ba675SRob Herring default-state = "off"; 67724ba675SRob Herring }; 68724ba675SRob Herring }; 69724ba675SRob Herring}; 70724ba675SRob Herring 71724ba675SRob Herring&adc_1 { 72724ba675SRob Herring pinctrl-names = "default"; 73724ba675SRob Herring pinctrl-0 = <&adc1_usb_cc_pins_a>; 744c757f6bSEtienne Carriere vdda-supply = <&scmi_vdd_adc>; 754c757f6bSEtienne Carriere vref-supply = <&scmi_vdd_adc>; 76724ba675SRob Herring status = "okay"; 77724ba675SRob Herring adc1: adc@0 { 78724ba675SRob Herring status = "okay"; 79724ba675SRob Herring /* 80724ba675SRob Herring * Type-C USB_PWR_CC1 & USB_PWR_CC2 on in6 & in12. 81724ba675SRob Herring * Use at least 5 * RC time, e.g. 5 * (Rp + Rd) * C: 82724ba675SRob Herring * 5 * (5.1 + 47kOhms) * 5pF => 1.3us. 83724ba675SRob Herring * Use arbitrary margin here (e.g. 5us). 84724ba675SRob Herring */ 85724ba675SRob Herring channel@6 { 86724ba675SRob Herring reg = <6>; 87724ba675SRob Herring st,min-sample-time-ns = <5000>; 88724ba675SRob Herring }; 89724ba675SRob Herring channel@12 { 90724ba675SRob Herring reg = <12>; 91724ba675SRob Herring st,min-sample-time-ns = <5000>; 92724ba675SRob Herring }; 93724ba675SRob Herring }; 94724ba675SRob Herring}; 95724ba675SRob Herring 96*d4e12273SLionel Debieve&crc1 { 97*d4e12273SLionel Debieve status = "okay"; 98*d4e12273SLionel Debieve}; 99*d4e12273SLionel Debieve 100724ba675SRob Herring&i2c1 { 101724ba675SRob Herring pinctrl-names = "default", "sleep"; 102724ba675SRob Herring pinctrl-0 = <&i2c1_pins_a>; 103724ba675SRob Herring pinctrl-1 = <&i2c1_sleep_pins_a>; 104724ba675SRob Herring i2c-scl-rising-time-ns = <96>; 105724ba675SRob Herring i2c-scl-falling-time-ns = <3>; 106724ba675SRob Herring clock-frequency = <1000000>; 107724ba675SRob Herring status = "okay"; 108724ba675SRob Herring /* spare dmas for other usage */ 109724ba675SRob Herring /delete-property/dmas; 110724ba675SRob Herring /delete-property/dma-names; 111724ba675SRob Herring 112724ba675SRob Herring mcp23017: pinctrl@21 { 113724ba675SRob Herring compatible = "microchip,mcp23017"; 114724ba675SRob Herring reg = <0x21>; 115724ba675SRob Herring gpio-controller; 116724ba675SRob Herring #gpio-cells = <2>; 117724ba675SRob Herring interrupts = <12 IRQ_TYPE_LEVEL_LOW>; 118724ba675SRob Herring interrupt-parent = <&gpiog>; 119724ba675SRob Herring pinctrl-names = "default"; 120724ba675SRob Herring pinctrl-0 = <&mcp23017_pins_a>; 121724ba675SRob Herring interrupt-controller; 122724ba675SRob Herring #interrupt-cells = <2>; 123724ba675SRob Herring microchip,irq-mirror; 124724ba675SRob Herring }; 125724ba675SRob Herring 126724ba675SRob Herring typec@53 { 127724ba675SRob Herring compatible = "st,stm32g0-typec"; 128724ba675SRob Herring reg = <0x53>; 129724ba675SRob Herring /* Alert pin on PI2 */ 130724ba675SRob Herring interrupts = <2 IRQ_TYPE_EDGE_FALLING>; 131724ba675SRob Herring interrupt-parent = <&gpioi>; 132724ba675SRob Herring /* Internal pull-up on PI2 */ 133724ba675SRob Herring pinctrl-names = "default"; 134724ba675SRob Herring pinctrl-0 = <&stm32g0_intn_pins_a>; 135724ba675SRob Herring firmware-name = "stm32g0-ucsi.mp135f-dk.fw"; 136724ba675SRob Herring connector { 137724ba675SRob Herring compatible = "usb-c-connector"; 138724ba675SRob Herring label = "USB-C"; 139724ba675SRob Herring 140724ba675SRob Herring port { 141724ba675SRob Herring con_usb_c_g0_ep: endpoint { 142724ba675SRob Herring remote-endpoint = <&usbotg_hs_ep>; 143724ba675SRob Herring }; 144724ba675SRob Herring }; 145724ba675SRob Herring }; 146724ba675SRob Herring }; 147724ba675SRob Herring}; 148724ba675SRob Herring 149724ba675SRob Herring&i2c5 { 150724ba675SRob Herring pinctrl-names = "default", "sleep"; 151724ba675SRob Herring pinctrl-0 = <&i2c5_pins_a>; 152724ba675SRob Herring pinctrl-1 = <&i2c5_sleep_pins_a>; 153724ba675SRob Herring i2c-scl-rising-time-ns = <170>; 154724ba675SRob Herring i2c-scl-falling-time-ns = <5>; 155724ba675SRob Herring clock-frequency = <400000>; 156724ba675SRob Herring status = "okay"; 157724ba675SRob Herring /* spare dmas for other usage */ 158724ba675SRob Herring /delete-property/dmas; 159724ba675SRob Herring /delete-property/dma-names; 160724ba675SRob Herring}; 161724ba675SRob Herring 162724ba675SRob Herring&iwdg2 { 163724ba675SRob Herring timeout-sec = <32>; 164724ba675SRob Herring status = "okay"; 165724ba675SRob Herring}; 166724ba675SRob Herring 167724ba675SRob Herring&rtc { 168724ba675SRob Herring status = "okay"; 169724ba675SRob Herring}; 170724ba675SRob Herring 1714c757f6bSEtienne Carriere&scmi_regu { 1724c757f6bSEtienne Carriere scmi_vdd_adc: regulator@10 { 1734c757f6bSEtienne Carriere reg = <VOLTD_SCMI_STPMIC1_LDO1>; 1744c757f6bSEtienne Carriere regulator-name = "vdd_adc"; 1754c757f6bSEtienne Carriere }; 1764c757f6bSEtienne Carriere scmi_vdd_usb: regulator@13 { 1774c757f6bSEtienne Carriere reg = <VOLTD_SCMI_STPMIC1_LDO4>; 1784c757f6bSEtienne Carriere regulator-name = "vdd_usb"; 1794c757f6bSEtienne Carriere }; 1804c757f6bSEtienne Carriere scmi_vdd_sd: regulator@14 { 1814c757f6bSEtienne Carriere reg = <VOLTD_SCMI_STPMIC1_LDO5>; 1824c757f6bSEtienne Carriere regulator-name = "vdd_sd"; 1834c757f6bSEtienne Carriere }; 1844c757f6bSEtienne Carriere scmi_v1v8_periph: regulator@15 { 1854c757f6bSEtienne Carriere reg = <VOLTD_SCMI_STPMIC1_LDO6>; 1864c757f6bSEtienne Carriere regulator-name = "v1v8_periph"; 1874c757f6bSEtienne Carriere }; 1884c757f6bSEtienne Carriere scmi_v3v3_sw: regulator@19 { 1894c757f6bSEtienne Carriere reg = <VOLTD_SCMI_STPMIC1_PWR_SW2>; 1904c757f6bSEtienne Carriere regulator-name = "v3v3_sw"; 1914c757f6bSEtienne Carriere }; 1924c757f6bSEtienne Carriere}; 1934c757f6bSEtienne Carriere 194724ba675SRob Herring&sdmmc1 { 195724ba675SRob Herring pinctrl-names = "default", "opendrain", "sleep"; 196724ba675SRob Herring pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_clk_pins_a>; 197724ba675SRob Herring pinctrl-1 = <&sdmmc1_b4_od_pins_a &sdmmc1_clk_pins_a>; 198724ba675SRob Herring pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>; 199724ba675SRob Herring cd-gpios = <&gpioh 4 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; 200724ba675SRob Herring disable-wp; 201724ba675SRob Herring st,neg-edge; 202724ba675SRob Herring bus-width = <4>; 2034c757f6bSEtienne Carriere vmmc-supply = <&scmi_vdd_sd>; 204724ba675SRob Herring status = "okay"; 205724ba675SRob Herring}; 206724ba675SRob Herring 207724ba675SRob Herring&spi5 { 208724ba675SRob Herring pinctrl-names = "default", "sleep"; 209724ba675SRob Herring pinctrl-0 = <&spi5_pins_a>; 210724ba675SRob Herring pinctrl-1 = <&spi5_sleep_pins_a>; 211724ba675SRob Herring status = "disabled"; 212724ba675SRob Herring}; 213724ba675SRob Herring 214724ba675SRob Herring&timers3 { 215724ba675SRob Herring /delete-property/dmas; 216724ba675SRob Herring /delete-property/dma-names; 217724ba675SRob Herring status = "disabled"; 218724ba675SRob Herring pwm { 219724ba675SRob Herring pinctrl-0 = <&pwm3_pins_a>; 220724ba675SRob Herring pinctrl-1 = <&pwm3_sleep_pins_a>; 221724ba675SRob Herring pinctrl-names = "default", "sleep"; 222724ba675SRob Herring status = "okay"; 223724ba675SRob Herring }; 224724ba675SRob Herring timer@2 { 225724ba675SRob Herring status = "okay"; 226724ba675SRob Herring }; 227724ba675SRob Herring}; 228724ba675SRob Herring 229724ba675SRob Herring&timers4 { 230724ba675SRob Herring /delete-property/dmas; 231724ba675SRob Herring /delete-property/dma-names; 232724ba675SRob Herring status = "disabled"; 233724ba675SRob Herring pwm { 234724ba675SRob Herring pinctrl-0 = <&pwm4_pins_a>; 235724ba675SRob Herring pinctrl-1 = <&pwm4_sleep_pins_a>; 236724ba675SRob Herring pinctrl-names = "default", "sleep"; 237724ba675SRob Herring status = "okay"; 238724ba675SRob Herring }; 239724ba675SRob Herring timer@3 { 240724ba675SRob Herring status = "okay"; 241724ba675SRob Herring }; 242724ba675SRob Herring}; 243724ba675SRob Herring 244724ba675SRob Herring&timers8 { 245724ba675SRob Herring /delete-property/dmas; 246724ba675SRob Herring /delete-property/dma-names; 247724ba675SRob Herring status = "disabled"; 248724ba675SRob Herring pwm { 249724ba675SRob Herring pinctrl-0 = <&pwm8_pins_a>; 250724ba675SRob Herring pinctrl-1 = <&pwm8_sleep_pins_a>; 251724ba675SRob Herring pinctrl-names = "default", "sleep"; 252724ba675SRob Herring status = "okay"; 253724ba675SRob Herring }; 254724ba675SRob Herring timer@7 { 255724ba675SRob Herring status = "okay"; 256724ba675SRob Herring }; 257724ba675SRob Herring}; 258724ba675SRob Herring 259724ba675SRob Herring&timers14 { 260724ba675SRob Herring status = "disabled"; 261724ba675SRob Herring pwm { 262724ba675SRob Herring pinctrl-0 = <&pwm14_pins_a>; 263724ba675SRob Herring pinctrl-1 = <&pwm14_sleep_pins_a>; 264724ba675SRob Herring pinctrl-names = "default", "sleep"; 265724ba675SRob Herring status = "okay"; 266724ba675SRob Herring }; 267724ba675SRob Herring timer@13 { 268724ba675SRob Herring status = "okay"; 269724ba675SRob Herring }; 270724ba675SRob Herring}; 271724ba675SRob Herring 272724ba675SRob Herring&uart4 { 273724ba675SRob Herring pinctrl-names = "default", "sleep", "idle"; 274724ba675SRob Herring pinctrl-0 = <&uart4_pins_a>; 275724ba675SRob Herring pinctrl-1 = <&uart4_sleep_pins_a>; 276724ba675SRob Herring pinctrl-2 = <&uart4_idle_pins_a>; 277724ba675SRob Herring /delete-property/dmas; 278724ba675SRob Herring /delete-property/dma-names; 279724ba675SRob Herring status = "okay"; 280724ba675SRob Herring}; 281724ba675SRob Herring 282724ba675SRob Herring&uart8 { 283724ba675SRob Herring pinctrl-names = "default", "sleep", "idle"; 284724ba675SRob Herring pinctrl-0 = <&uart8_pins_a>; 285724ba675SRob Herring pinctrl-1 = <&uart8_sleep_pins_a>; 286724ba675SRob Herring pinctrl-2 = <&uart8_idle_pins_a>; 287724ba675SRob Herring /delete-property/dmas; 288724ba675SRob Herring /delete-property/dma-names; 289724ba675SRob Herring status = "disabled"; 290724ba675SRob Herring}; 291724ba675SRob Herring 292724ba675SRob Herring&usart1 { 293724ba675SRob Herring pinctrl-names = "default", "sleep", "idle"; 294724ba675SRob Herring pinctrl-0 = <&usart1_pins_a>; 295724ba675SRob Herring pinctrl-1 = <&usart1_sleep_pins_a>; 296724ba675SRob Herring pinctrl-2 = <&usart1_idle_pins_a>; 297724ba675SRob Herring uart-has-rtscts; 298724ba675SRob Herring status = "disabled"; 299724ba675SRob Herring}; 300724ba675SRob Herring 301724ba675SRob Herring/* Bluetooth */ 302724ba675SRob Herring&usart2 { 303724ba675SRob Herring pinctrl-names = "default", "sleep", "idle"; 304724ba675SRob Herring pinctrl-0 = <&usart2_pins_a>; 305724ba675SRob Herring pinctrl-1 = <&usart2_sleep_pins_a>; 306724ba675SRob Herring pinctrl-2 = <&usart2_idle_pins_a>; 307724ba675SRob Herring uart-has-rtscts; 308724ba675SRob Herring status = "okay"; 309724ba675SRob Herring}; 310724ba675SRob Herring 311724ba675SRob Herring&usbh_ehci { 312724ba675SRob Herring phys = <&usbphyc_port0>; 313724ba675SRob Herring status = "okay"; 314724ba675SRob Herring #address-cells = <1>; 315724ba675SRob Herring #size-cells = <0>; 316724ba675SRob Herring /* onboard HUB */ 317724ba675SRob Herring hub@1 { 318724ba675SRob Herring compatible = "usb424,2514"; 319724ba675SRob Herring reg = <1>; 3204c757f6bSEtienne Carriere vdd-supply = <&scmi_v3v3_sw>; 321724ba675SRob Herring }; 322724ba675SRob Herring}; 323724ba675SRob Herring 324724ba675SRob Herring&usbotg_hs { 325724ba675SRob Herring phys = <&usbphyc_port1 0>; 326724ba675SRob Herring phy-names = "usb2-phy"; 327724ba675SRob Herring usb-role-switch; 328724ba675SRob Herring status = "okay"; 329724ba675SRob Herring port { 330724ba675SRob Herring usbotg_hs_ep: endpoint { 331724ba675SRob Herring remote-endpoint = <&con_usb_c_g0_ep>; 332724ba675SRob Herring }; 333724ba675SRob Herring }; 334724ba675SRob Herring}; 335724ba675SRob Herring 336724ba675SRob Herring&usbphyc { 337724ba675SRob Herring status = "okay"; 338724ba675SRob Herring}; 339724ba675SRob Herring 340724ba675SRob Herring&usbphyc_port0 { 3414c757f6bSEtienne Carriere phy-supply = <&scmi_vdd_usb>; 342724ba675SRob Herring st,current-boost-microamp = <1000>; 343724ba675SRob Herring st,decrease-hs-slew-rate; 344724ba675SRob Herring st,tune-hs-dc-level = <2>; 345724ba675SRob Herring st,enable-hs-rftime-reduction; 346724ba675SRob Herring st,trim-hs-current = <11>; 347724ba675SRob Herring st,trim-hs-impedance = <2>; 348724ba675SRob Herring st,tune-squelch-level = <1>; 349724ba675SRob Herring st,enable-hs-rx-gain-eq; 350724ba675SRob Herring st,no-hs-ftime-ctrl; 351724ba675SRob Herring st,no-lsfs-sc; 352724ba675SRob Herring}; 353724ba675SRob Herring 354724ba675SRob Herring&usbphyc_port1 { 3554c757f6bSEtienne Carriere phy-supply = <&scmi_vdd_usb>; 356724ba675SRob Herring st,current-boost-microamp = <1000>; 357724ba675SRob Herring st,decrease-hs-slew-rate; 358724ba675SRob Herring st,tune-hs-dc-level = <2>; 359724ba675SRob Herring st,enable-hs-rftime-reduction; 360724ba675SRob Herring st,trim-hs-current = <11>; 361724ba675SRob Herring st,trim-hs-impedance = <2>; 362724ba675SRob Herring st,tune-squelch-level = <1>; 363724ba675SRob Herring st,enable-hs-rx-gain-eq; 364724ba675SRob Herring st,no-hs-ftime-ctrl; 365724ba675SRob Herring st,no-lsfs-sc; 366724ba675SRob Herring}; 367