1724ba675SRob Herring// SPDX-License-Identifier: (GPL-2.0+ OR BSD-3-Clause) 2724ba675SRob Herring/* 3724ba675SRob Herring * Copyright (C) 2020 Marcin Sloniewski <marcin.sloniewski@gmail.com>. 4724ba675SRob Herring */ 5724ba675SRob Herring 6724ba675SRob Herring/dts-v1/; 7724ba675SRob Herring 8724ba675SRob Herring#include "stm32mp157.dtsi" 9724ba675SRob Herring#include "stm32mp15xc.dtsi" 10724ba675SRob Herring#include "stm32mp15-pinctrl.dtsi" 11724ba675SRob Herring#include "stm32mp15xxac-pinctrl.dtsi" 12724ba675SRob Herring#include <dt-bindings/gpio/gpio.h> 13724ba675SRob Herring#include <dt-bindings/leds/common.h> 14724ba675SRob Herring#include <dt-bindings/mfd/st,stpmic1.h> 15724ba675SRob Herring 16724ba675SRob Herring/ { 17724ba675SRob Herring model = "Seeed Studio Odyssey-STM32MP157C SOM"; 18724ba675SRob Herring compatible = "seeed,stm32mp157c-odyssey-som", "st,stm32mp157"; 19724ba675SRob Herring 20724ba675SRob Herring memory@c0000000 { 21724ba675SRob Herring device_type = "memory"; 22724ba675SRob Herring reg = <0xc0000000 0x20000000>; 23724ba675SRob Herring }; 24724ba675SRob Herring 25724ba675SRob Herring reserved-memory { 26724ba675SRob Herring #address-cells = <1>; 27724ba675SRob Herring #size-cells = <1>; 28724ba675SRob Herring ranges; 29724ba675SRob Herring 30724ba675SRob Herring mcuram2: mcuram2@10000000 { 31724ba675SRob Herring compatible = "shared-dma-pool"; 32724ba675SRob Herring reg = <0x10000000 0x40000>; 33724ba675SRob Herring no-map; 34724ba675SRob Herring }; 35724ba675SRob Herring 36724ba675SRob Herring vdev0vring0: vdev0vring0@10040000 { 37724ba675SRob Herring compatible = "shared-dma-pool"; 38724ba675SRob Herring reg = <0x10040000 0x1000>; 39724ba675SRob Herring no-map; 40724ba675SRob Herring }; 41724ba675SRob Herring 42724ba675SRob Herring vdev0vring1: vdev0vring1@10041000 { 43724ba675SRob Herring compatible = "shared-dma-pool"; 44724ba675SRob Herring reg = <0x10041000 0x1000>; 45724ba675SRob Herring no-map; 46724ba675SRob Herring }; 47724ba675SRob Herring 48724ba675SRob Herring vdev0buffer: vdev0buffer@10042000 { 49724ba675SRob Herring compatible = "shared-dma-pool"; 50724ba675SRob Herring reg = <0x10042000 0x4000>; 51724ba675SRob Herring no-map; 52724ba675SRob Herring }; 53724ba675SRob Herring 54724ba675SRob Herring mcuram: mcuram@30000000 { 55724ba675SRob Herring compatible = "shared-dma-pool"; 56724ba675SRob Herring reg = <0x30000000 0x40000>; 57724ba675SRob Herring no-map; 58724ba675SRob Herring }; 59724ba675SRob Herring 60724ba675SRob Herring retram: retram@38000000 { 61724ba675SRob Herring compatible = "shared-dma-pool"; 62724ba675SRob Herring reg = <0x38000000 0x10000>; 63724ba675SRob Herring no-map; 64724ba675SRob Herring }; 65724ba675SRob Herring }; 66724ba675SRob Herring 67724ba675SRob Herring led { 68724ba675SRob Herring compatible = "gpio-leds"; 69724ba675SRob Herring led-blue { 70724ba675SRob Herring color = <LED_COLOR_ID_BLUE>; 71724ba675SRob Herring function = LED_FUNCTION_HEARTBEAT; 72724ba675SRob Herring gpios = <&gpiog 3 GPIO_ACTIVE_HIGH>; 73724ba675SRob Herring linux,default-trigger = "heartbeat"; 74724ba675SRob Herring }; 75724ba675SRob Herring }; 76724ba675SRob Herring}; 77724ba675SRob Herring 78724ba675SRob Herring&i2c2 { 79724ba675SRob Herring pinctrl-names = "default"; 80724ba675SRob Herring pinctrl-0 = <&i2c2_pins_a>; 81724ba675SRob Herring i2c-scl-rising-time-ns = <185>; 82724ba675SRob Herring i2c-scl-falling-time-ns = <20>; 83724ba675SRob Herring status = "okay"; 84724ba675SRob Herring /* spare dmas for other usage */ 85724ba675SRob Herring /delete-property/dmas; 86724ba675SRob Herring /delete-property/dma-names; 87724ba675SRob Herring 88724ba675SRob Herring pmic: stpmic@33 { 89724ba675SRob Herring compatible = "st,stpmic1"; 90724ba675SRob Herring reg = <0x33>; 91724ba675SRob Herring interrupts-extended = <&gpioa 0 IRQ_TYPE_EDGE_FALLING>; 92724ba675SRob Herring interrupt-controller; 93724ba675SRob Herring #interrupt-cells = <2>; 94724ba675SRob Herring 95724ba675SRob Herring regulators { 96724ba675SRob Herring compatible = "st,stpmic1-regulators"; 97724ba675SRob Herring ldo1-supply = <&v3v3>; 98724ba675SRob Herring ldo3-supply = <&vdd_ddr>; 99724ba675SRob Herring ldo6-supply = <&v3v3>; 100724ba675SRob Herring pwr_sw1-supply = <&bst_out>; 101724ba675SRob Herring pwr_sw2-supply = <&bst_out>; 102724ba675SRob Herring 103724ba675SRob Herring vddcore: buck1 { 104724ba675SRob Herring regulator-name = "vddcore"; 105724ba675SRob Herring regulator-min-microvolt = <800000>; 106724ba675SRob Herring regulator-max-microvolt = <1350000>; 107724ba675SRob Herring regulator-always-on; 108724ba675SRob Herring regulator-initial-mode = <0>; 109724ba675SRob Herring regulator-over-current-protection; 110724ba675SRob Herring }; 111724ba675SRob Herring 112724ba675SRob Herring vdd_ddr: buck2 { 113724ba675SRob Herring regulator-name = "vdd_ddr"; 114724ba675SRob Herring regulator-min-microvolt = <1350000>; 115724ba675SRob Herring regulator-max-microvolt = <1350000>; 116724ba675SRob Herring regulator-always-on; 117724ba675SRob Herring regulator-initial-mode = <0>; 118724ba675SRob Herring regulator-over-current-protection; 119724ba675SRob Herring }; 120724ba675SRob Herring 121724ba675SRob Herring vdd: buck3 { 122724ba675SRob Herring regulator-name = "vdd"; 123724ba675SRob Herring regulator-min-microvolt = <3300000>; 124724ba675SRob Herring regulator-max-microvolt = <3300000>; 125724ba675SRob Herring regulator-always-on; 126724ba675SRob Herring st,mask-reset; 127724ba675SRob Herring regulator-initial-mode = <0>; 128724ba675SRob Herring regulator-over-current-protection; 129724ba675SRob Herring }; 130724ba675SRob Herring 131724ba675SRob Herring v3v3: buck4 { 132724ba675SRob Herring regulator-name = "v3v3"; 133724ba675SRob Herring regulator-min-microvolt = <3300000>; 134724ba675SRob Herring regulator-max-microvolt = <3300000>; 135724ba675SRob Herring regulator-always-on; 136724ba675SRob Herring regulator-over-current-protection; 137724ba675SRob Herring regulator-initial-mode = <0>; 138724ba675SRob Herring }; 139724ba675SRob Herring 140724ba675SRob Herring v1v8_audio: ldo1 { 141724ba675SRob Herring regulator-name = "v1v8_audio"; 142724ba675SRob Herring regulator-min-microvolt = <1800000>; 143724ba675SRob Herring regulator-max-microvolt = <1800000>; 144724ba675SRob Herring regulator-always-on; 145724ba675SRob Herring interrupts = <IT_CURLIM_LDO1 0>; 146724ba675SRob Herring }; 147724ba675SRob Herring 148724ba675SRob Herring v3v3_hdmi: ldo2 { 149724ba675SRob Herring regulator-name = "v3v3_hdmi"; 150724ba675SRob Herring regulator-min-microvolt = <3300000>; 151724ba675SRob Herring regulator-max-microvolt = <3300000>; 152724ba675SRob Herring regulator-always-on; 153724ba675SRob Herring interrupts = <IT_CURLIM_LDO2 0>; 154724ba675SRob Herring }; 155724ba675SRob Herring 156724ba675SRob Herring vtt_ddr: ldo3 { 157724ba675SRob Herring regulator-name = "vtt_ddr"; 158724ba675SRob Herring regulator-min-microvolt = <500000>; 159724ba675SRob Herring regulator-max-microvolt = <750000>; 160724ba675SRob Herring regulator-always-on; 161724ba675SRob Herring regulator-over-current-protection; 162724ba675SRob Herring }; 163724ba675SRob Herring 164724ba675SRob Herring vdd_usb: ldo4 { 165724ba675SRob Herring regulator-name = "vdd_usb"; 166724ba675SRob Herring interrupts = <IT_CURLIM_LDO4 0>; 167724ba675SRob Herring }; 168724ba675SRob Herring 169724ba675SRob Herring vdda: ldo5 { 170724ba675SRob Herring regulator-name = "vdda"; 171724ba675SRob Herring regulator-min-microvolt = <2900000>; 172724ba675SRob Herring regulator-max-microvolt = <2900000>; 173724ba675SRob Herring interrupts = <IT_CURLIM_LDO5 0>; 174724ba675SRob Herring regulator-boot-on; 175724ba675SRob Herring }; 176724ba675SRob Herring 177724ba675SRob Herring v1v2_hdmi: ldo6 { 178724ba675SRob Herring regulator-name = "v1v2_hdmi"; 179724ba675SRob Herring regulator-min-microvolt = <1200000>; 180724ba675SRob Herring regulator-max-microvolt = <1200000>; 181724ba675SRob Herring regulator-always-on; 182724ba675SRob Herring interrupts = <IT_CURLIM_LDO6 0>; 183724ba675SRob Herring }; 184724ba675SRob Herring 185724ba675SRob Herring vref_ddr: vref_ddr { 186724ba675SRob Herring regulator-name = "vref_ddr"; 187724ba675SRob Herring regulator-always-on; 188724ba675SRob Herring }; 189724ba675SRob Herring 190724ba675SRob Herring bst_out: boost { 191724ba675SRob Herring regulator-name = "bst_out"; 192724ba675SRob Herring interrupts = <IT_OCP_BOOST 0>; 193724ba675SRob Herring }; 194724ba675SRob Herring 195724ba675SRob Herring vbus_otg: pwr_sw1 { 196724ba675SRob Herring regulator-name = "vbus_otg"; 197724ba675SRob Herring interrupts = <IT_OCP_OTG 0>; 198724ba675SRob Herring }; 199724ba675SRob Herring 200724ba675SRob Herring vbus_sw: pwr_sw2 { 201724ba675SRob Herring regulator-name = "vbus_sw"; 202724ba675SRob Herring interrupts = <IT_OCP_SWOUT 0>; 203724ba675SRob Herring regulator-active-discharge = <1>; 204724ba675SRob Herring }; 205724ba675SRob Herring }; 206724ba675SRob Herring 207724ba675SRob Herring onkey { 208724ba675SRob Herring compatible = "st,stpmic1-onkey"; 209724ba675SRob Herring interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 0>; 210724ba675SRob Herring interrupt-names = "onkey-falling", "onkey-rising"; 211724ba675SRob Herring power-off-time-sec = <10>; 212724ba675SRob Herring }; 213724ba675SRob Herring 214724ba675SRob Herring watchdog { 215724ba675SRob Herring compatible = "st,stpmic1-wdt"; 216724ba675SRob Herring status = "disabled"; 217724ba675SRob Herring }; 218724ba675SRob Herring }; 219724ba675SRob Herring}; 220724ba675SRob Herring 221724ba675SRob Herring&ipcc { 222724ba675SRob Herring status = "okay"; 223724ba675SRob Herring}; 224724ba675SRob Herring 225724ba675SRob Herring&iwdg2 { 226724ba675SRob Herring timeout-sec = <32>; 227724ba675SRob Herring status = "okay"; 228724ba675SRob Herring}; 229724ba675SRob Herring 230724ba675SRob Herring&m4_rproc { 231724ba675SRob Herring memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>, 232724ba675SRob Herring <&vdev0vring1>, <&vdev0buffer>; 233*966f04a8SMarek Vasut mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>, <&ipcc 3>; 234*966f04a8SMarek Vasut mbox-names = "vq0", "vq1", "shutdown", "detach"; 235724ba675SRob Herring interrupt-parent = <&exti>; 236724ba675SRob Herring interrupts = <68 1>; 237724ba675SRob Herring status = "okay"; 238724ba675SRob Herring}; 239724ba675SRob Herring 240724ba675SRob Herring&rng1 { 241724ba675SRob Herring status = "okay"; 242724ba675SRob Herring}; 243724ba675SRob Herring 244724ba675SRob Herring&rtc { 245724ba675SRob Herring status = "okay"; 246724ba675SRob Herring}; 247724ba675SRob Herring 248724ba675SRob Herring&sdmmc2 { 249724ba675SRob Herring pinctrl-names = "default", "opendrain", "sleep"; 250724ba675SRob Herring pinctrl-0 = <&sdmmc2_b4_pins_a &sdmmc2_d47_pins_d>; 251724ba675SRob Herring pinctrl-1 = <&sdmmc2_b4_od_pins_a &sdmmc2_d47_pins_d>; 252724ba675SRob Herring pinctrl-2 = <&sdmmc2_b4_sleep_pins_a &sdmmc2_d47_sleep_pins_d>; 253724ba675SRob Herring non-removable; 254724ba675SRob Herring no-sd; 255724ba675SRob Herring no-sdio; 256724ba675SRob Herring st,neg-edge; 257724ba675SRob Herring bus-width = <8>; 258724ba675SRob Herring vmmc-supply = <&v3v3>; 259724ba675SRob Herring vqmmc-supply = <&vdd>; 260724ba675SRob Herring mmc-ddr-3_3v; 261724ba675SRob Herring status = "okay"; 262724ba675SRob Herring}; 263724ba675SRob Herring 264