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&rtc { 151 status = "okay"; 152}; 153 154&sdmmc1 { 155 pinctrl-names = "default", "opendrain", "sleep"; 156 pinctrl-0 = <&sdmmc1_b4_pins_a>; 157 pinctrl-1 = <&sdmmc1_b4_od_pins_a>; 158 pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>; 159 cd-gpios = <&gpioe 7 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>; 160 disable-wp; 161 st,neg-edge; 162 bus-width = <4>; 163 vmmc-supply = <&v3v3>; 164 status = "okay"; 165}; 166 167&sdmmc2 { 168 pinctrl-names = "default", "opendrain", "sleep"; 169 pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_d>; 170 pinctrl-1 = <&sdmmc2_b4_od_pins_a>; 171 pinctrl-2 = <&sdmmc2_b4_sleep_pins_a &sdmmc2_d47_sleep_pins_d>; 172 non-removable; 173 no-sd; 174 no-sdio; 175 st,neg-edge; 176 bus-width = <8>; 177 vmmc-supply = <&v3v3>; 178 vqmmc-supply = <&vdd>; 179 mmc-ddr-3_3v; 180 status = "okay"; 181}; 182 183&uart4 { 184 pinctrl-names = "default", "sleep", "idle"; 185 pinctrl-0 = <&uart4_pins_a>; 186 pinctrl-1 = <&uart4_sleep_pins_a>; 187 pinctrl-2 = <&uart4_idle_pins_a>; 188 /* spare dmas for other usage */ 189 /delete-property/dmas; 190 /delete-property/dma-names; 191 status = "okay"; 192}; 193 194&usbh_ehci { 195 status = "okay"; 196}; 197 198&usbh_ohci { 199 status = "okay"; 200}; 201 202&usbotg_hs { 203 vbus-supply = <&vbus_otg>; 204}; 205 206&usbphyc { 207 status = "okay"; 208}; 209