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