1// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) 2/* 3 * Copyright (C) Geanix ApS 2023 - All Rights Reserved 4 * Author: Sean Nyekjaer <sean@geanix.com> 5 */ 6 7/dts-v1/; 8 9#include "stm32mp157.dtsi" 10#include "stm32mp15xc.dtsi" 11#include "stm32mp15xx-osd32.dtsi" 12#include "stm32mp15xxac-pinctrl.dtsi" 13 14#include <dt-bindings/gpio/gpio.h> 15#include <dt-bindings/pinctrl/stm32-pinfunc.h> 16 17/ { 18 model = "Octavo OSD32MP1 RED board"; 19 compatible = "oct,stm32mp157c-osd32-red", "oct,stm32mp15xx-osd32", "st,stm32mp157"; 20 21 aliases { 22 serial0 = &uart4; 23 }; 24 25 chosen { 26 stdout-path = "serial0:115200n8"; 27 }; 28 29 led-controller-0 { 30 compatible = "gpio-leds"; 31 32 led-0 { 33 label = "heartbeat"; 34 gpios = <&gpiod 11 GPIO_ACTIVE_HIGH>; 35 linux,default-trigger = "heartbeat"; 36 }; 37 }; 38}; 39 40&crc1 { 41 status = "okay"; 42}; 43 44&dts { 45 status = "okay"; 46}; 47 48ðernet0 { 49 pinctrl-names = "default", "sleep"; 50 pinctrl-0 = <ðernet0_rgmii_pins_a>; 51 pinctrl-1 = <ðernet0_rgmii_sleep_pins_a>; 52 phy-mode = "rgmii-id"; 53 max-speed = <1000>; 54 phy-handle = <&phy0>; 55 st,eth-clk-sel; 56 status = "okay"; 57 58 mdio { 59 compatible = "snps,dwmac-mdio"; 60 #address-cells = <1>; 61 #size-cells = <0>; 62 63 phy0: ethernet-phy@3 { 64 reg = <3>; 65 }; 66 }; 67}; 68 69&iwdg2 { 70 timeout-sec = <32>; 71 status = "okay"; 72}; 73 74&i2c1 { 75 pinctrl-names = "default", "sleep"; 76 pinctrl-0 = <&i2c1_pins_a>; 77 pinctrl-1 = <&i2c1_sleep_pins_a>; 78 status = "okay"; 79 i2c-scl-rising-time-ns = <100>; 80 i2c-scl-falling-time-ns = <7>; 81 /* spare dmas for other usage */ 82 /delete-property/dmas; 83 /delete-property/dma-names; 84 85 hdmi-transmitter@39 { 86 compatible = "sil,sii9022"; 87 reg = <0x39>; 88 reset-gpios = <&gpiog 0 GPIO_ACTIVE_LOW>; 89 interrupts = <1 IRQ_TYPE_EDGE_FALLING>; 90 interrupt-parent = <&gpiog>; 91 pinctrl-names = "default", "sleep"; 92 pinctrl-0 = <<dc_pins_e>; 93 pinctrl-1 = <<dc_sleep_pins_e>; 94 95 ports { 96 #address-cells = <1>; 97 #size-cells = <0>; 98 99 port@0 { 100 reg = <0>; 101 sii9022_in: endpoint { 102 remote-endpoint = <<dc_ep0_out>; 103 }; 104 }; 105 106 port@3 { 107 reg = <3>; 108 sii9022_tx_endpoint: endpoint { 109 remote-endpoint = <&i2s2_endpoint>; 110 }; 111 }; 112 }; 113 }; 114}; 115 116&i2s2 { 117 clocks = <&rcc SPI2>, <&rcc SPI2_K>, <&rcc CK_PER>, <&rcc PLL3_R>; 118 clock-names = "pclk", "i2sclk", "x8k", "x11k"; 119 pinctrl-names = "default", "sleep"; 120 pinctrl-0 = <&i2s2_pins_b>; 121 pinctrl-1 = <&i2s2_sleep_pins_b>; 122 status = "okay"; 123 124 i2s2_port: port { 125 i2s2_endpoint: endpoint { 126 remote-endpoint = <&sii9022_tx_endpoint>; 127 dai-format = "i2s"; 128 mclk-fs = <256>; 129 }; 130 }; 131}; 132 133<dc { 134 status = "okay"; 135 136 port { 137 ltdc_ep0_out: endpoint { 138 remote-endpoint = <&sii9022_in>; 139 }; 140 }; 141}; 142 143&m_can1 { 144 pinctrl-names = "default", "sleep"; 145 pinctrl-0 = <&m_can1_pins_d>; 146 pinctrl-1 = <&m_can1_sleep_pins_d>; 147 status = "okay"; 148}; 149 150&pwr_regulators { 151 vdd-supply = <&vdd>; 152 vdd_3v3_usbfs-supply = <&vdd_usb>; 153}; 154 155&rtc { 156 status = "okay"; 157}; 158 159&sdmmc1 { 160 pinctrl-names = "default", "opendrain", "sleep"; 161 pinctrl-0 = <&sdmmc1_b4_pins_a>; 162 pinctrl-1 = <&sdmmc1_b4_od_pins_a>; 163 pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>; 164 cd-gpios = <&gpioe 7 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; 165 disable-wp; 166 st,neg-edge; 167 bus-width = <4>; 168 vmmc-supply = <&v3v3>; 169 status = "okay"; 170}; 171 172&sdmmc2 { 173 pinctrl-names = "default", "opendrain", "sleep"; 174 pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_d>; 175 pinctrl-1 = <&sdmmc2_b4_od_pins_a>; 176 pinctrl-2 = <&sdmmc2_b4_sleep_pins_a &sdmmc2_d47_sleep_pins_d>; 177 non-removable; 178 no-sd; 179 no-sdio; 180 st,neg-edge; 181 bus-width = <8>; 182 vmmc-supply = <&v3v3>; 183 vqmmc-supply = <&vdd>; 184 mmc-ddr-3_3v; 185 status = "okay"; 186}; 187 188&uart4 { 189 pinctrl-names = "default", "sleep", "idle"; 190 pinctrl-0 = <&uart4_pins_a>; 191 pinctrl-1 = <&uart4_sleep_pins_a>; 192 pinctrl-2 = <&uart4_idle_pins_a>; 193 /* spare dmas for other usage */ 194 /delete-property/dmas; 195 /delete-property/dma-names; 196 status = "okay"; 197}; 198 199&usbh_ehci { 200 status = "okay"; 201}; 202 203&usbh_ohci { 204 status = "okay"; 205}; 206 207&usbotg_hs { 208 vbus-supply = <&vbus_otg>; 209}; 210 211&usbphyc { 212 status = "okay"; 213}; 214 215&usbphyc_port0 { 216 phy-supply = <&vdd_usb>; 217}; 218 219&usbphyc_port1 { 220 phy-supply = <&vdd_usb>; 221}; 222