1// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) 2/* 3 * Copyright (C) 2020 Marcin Sloniewski <marcin.sloniewski@gmail.com>. 4 */ 5 6/dts-v1/; 7 8#include "stm32mp157.dtsi" 9#include "stm32mp15xc.dtsi" 10#include "stm32mp15-pinctrl.dtsi" 11#include "stm32mp15xxac-pinctrl.dtsi" 12#include <dt-bindings/gpio/gpio.h> 13#include <dt-bindings/leds/common.h> 14#include <dt-bindings/mfd/st,stpmic1.h> 15 16/ { 17 model = "Seeed Studio Odyssey-STM32MP157C SOM"; 18 compatible = "seeed,stm32mp157c-odyssey-som", "st,stm32mp157"; 19 20 memory@c0000000 { 21 device_type = "memory"; 22 reg = <0xc0000000 0x20000000>; 23 }; 24 25 reserved-memory { 26 #address-cells = <1>; 27 #size-cells = <1>; 28 ranges; 29 30 mcuram2: mcuram2@10000000 { 31 compatible = "shared-dma-pool"; 32 reg = <0x10000000 0x40000>; 33 no-map; 34 }; 35 36 vdev0vring0: vdev0vring0@10040000 { 37 compatible = "shared-dma-pool"; 38 reg = <0x10040000 0x1000>; 39 no-map; 40 }; 41 42 vdev0vring1: vdev0vring1@10041000 { 43 compatible = "shared-dma-pool"; 44 reg = <0x10041000 0x1000>; 45 no-map; 46 }; 47 48 vdev0buffer: vdev0buffer@10042000 { 49 compatible = "shared-dma-pool"; 50 reg = <0x10042000 0x4000>; 51 no-map; 52 }; 53 54 mcuram: mcuram@30000000 { 55 compatible = "shared-dma-pool"; 56 reg = <0x30000000 0x40000>; 57 no-map; 58 }; 59 60 retram: retram@38000000 { 61 compatible = "shared-dma-pool"; 62 reg = <0x38000000 0x10000>; 63 no-map; 64 }; 65 66 gpu_reserved: gpu@d4000000 { 67 reg = <0xd4000000 0x4000000>; 68 no-map; 69 }; 70 }; 71 72 led { 73 compatible = "gpio-leds"; 74 led-blue { 75 color = <LED_COLOR_ID_BLUE>; 76 function = LED_FUNCTION_HEARTBEAT; 77 gpios = <&gpiog 3 GPIO_ACTIVE_HIGH>; 78 linux,default-trigger = "heartbeat"; 79 }; 80 }; 81}; 82 83&gpu { 84 contiguous-area = <&gpu_reserved>; 85 status = "okay"; 86}; 87 88&i2c2 { 89 pinctrl-names = "default"; 90 pinctrl-0 = <&i2c2_pins_a>; 91 i2c-scl-rising-time-ns = <185>; 92 i2c-scl-falling-time-ns = <20>; 93 status = "okay"; 94 /* spare dmas for other usage */ 95 /delete-property/dmas; 96 /delete-property/dma-names; 97 98 pmic: stpmic@33 { 99 compatible = "st,stpmic1"; 100 reg = <0x33>; 101 interrupts-extended = <&gpioa 0 IRQ_TYPE_EDGE_FALLING>; 102 interrupt-controller; 103 #interrupt-cells = <2>; 104 105 regulators { 106 compatible = "st,stpmic1-regulators"; 107 ldo1-supply = <&v3v3>; 108 ldo3-supply = <&vdd_ddr>; 109 ldo6-supply = <&v3v3>; 110 pwr_sw1-supply = <&bst_out>; 111 pwr_sw2-supply = <&bst_out>; 112 113 vddcore: buck1 { 114 regulator-name = "vddcore"; 115 regulator-min-microvolt = <800000>; 116 regulator-max-microvolt = <1350000>; 117 regulator-always-on; 118 regulator-initial-mode = <0>; 119 regulator-over-current-protection; 120 }; 121 122 vdd_ddr: buck2 { 123 regulator-name = "vdd_ddr"; 124 regulator-min-microvolt = <1350000>; 125 regulator-max-microvolt = <1350000>; 126 regulator-always-on; 127 regulator-initial-mode = <0>; 128 regulator-over-current-protection; 129 }; 130 131 vdd: buck3 { 132 regulator-name = "vdd"; 133 regulator-min-microvolt = <3300000>; 134 regulator-max-microvolt = <3300000>; 135 regulator-always-on; 136 st,mask-reset; 137 regulator-initial-mode = <0>; 138 regulator-over-current-protection; 139 }; 140 141 v3v3: buck4 { 142 regulator-name = "v3v3"; 143 regulator-min-microvolt = <3300000>; 144 regulator-max-microvolt = <3300000>; 145 regulator-always-on; 146 regulator-over-current-protection; 147 regulator-initial-mode = <0>; 148 }; 149 150 v1v8_audio: ldo1 { 151 regulator-name = "v1v8_audio"; 152 regulator-min-microvolt = <1800000>; 153 regulator-max-microvolt = <1800000>; 154 regulator-always-on; 155 interrupts = <IT_CURLIM_LDO1 0>; 156 }; 157 158 v3v3_hdmi: ldo2 { 159 regulator-name = "v3v3_hdmi"; 160 regulator-min-microvolt = <3300000>; 161 regulator-max-microvolt = <3300000>; 162 regulator-always-on; 163 interrupts = <IT_CURLIM_LDO2 0>; 164 }; 165 166 vtt_ddr: ldo3 { 167 regulator-name = "vtt_ddr"; 168 regulator-min-microvolt = <500000>; 169 regulator-max-microvolt = <750000>; 170 regulator-always-on; 171 regulator-over-current-protection; 172 }; 173 174 vdd_usb: ldo4 { 175 regulator-name = "vdd_usb"; 176 regulator-min-microvolt = <3300000>; 177 regulator-max-microvolt = <3300000>; 178 interrupts = <IT_CURLIM_LDO4 0>; 179 }; 180 181 vdda: ldo5 { 182 regulator-name = "vdda"; 183 regulator-min-microvolt = <2900000>; 184 regulator-max-microvolt = <2900000>; 185 interrupts = <IT_CURLIM_LDO5 0>; 186 regulator-boot-on; 187 }; 188 189 v1v2_hdmi: ldo6 { 190 regulator-name = "v1v2_hdmi"; 191 regulator-min-microvolt = <1200000>; 192 regulator-max-microvolt = <1200000>; 193 regulator-always-on; 194 interrupts = <IT_CURLIM_LDO6 0>; 195 }; 196 197 vref_ddr: vref_ddr { 198 regulator-name = "vref_ddr"; 199 regulator-always-on; 200 regulator-over-current-protection; 201 }; 202 203 bst_out: boost { 204 regulator-name = "bst_out"; 205 interrupts = <IT_OCP_BOOST 0>; 206 }; 207 208 vbus_otg: pwr_sw1 { 209 regulator-name = "vbus_otg"; 210 interrupts = <IT_OCP_OTG 0>; 211 }; 212 213 vbus_sw: pwr_sw2 { 214 regulator-name = "vbus_sw"; 215 interrupts = <IT_OCP_SWOUT 0>; 216 regulator-active-discharge; 217 }; 218 }; 219 220 onkey { 221 compatible = "st,stpmic1-onkey"; 222 interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 0>; 223 interrupt-names = "onkey-falling", "onkey-rising"; 224 power-off-time-sec = <10>; 225 }; 226 227 watchdog { 228 compatible = "st,stpmic1-wdt"; 229 status = "disabled"; 230 }; 231 }; 232}; 233 234&ipcc { 235 status = "okay"; 236}; 237 238&iwdg2 { 239 timeout-sec = <32>; 240 status = "okay"; 241}; 242 243&m4_rproc { 244 memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>, 245 <&vdev0vring1>, <&vdev0buffer>; 246 mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>; 247 mbox-names = "vq0", "vq1", "shutdown"; 248 interrupt-parent = <&exti>; 249 interrupts = <68 1>; 250 status = "okay"; 251}; 252 253&rng1 { 254 status = "okay"; 255}; 256 257&rtc { 258 status = "okay"; 259}; 260 261&sdmmc2 { 262 pinctrl-names = "default", "opendrain", "sleep"; 263 pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_d>; 264 pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_d47_pins_d>; 265 pinctrl-2 = <&sdmmc2_b4_sleep_pins_a &sdmmc2_d47_sleep_pins_d>; 266 non-removable; 267 no-sd; 268 no-sdio; 269 st,neg-edge; 270 bus-width = <8>; 271 vmmc-supply = <&v3v3>; 272 vqmmc-supply = <&v3v3>; 273 mmc-ddr-3_3v; 274 status = "okay"; 275}; 276 277