0001 /* SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-3-Clause) */
0002 /*
0003 * Copyright (C) 2020 STMicroelectronics - All Rights Reserved
0004 * Copyright (C) 2020 Ahmad Fatoum, Pengutronix
0005 */
0006
0007 #include "stm32mp15-pinctrl.dtsi"
0008
0009 #include <dt-bindings/mfd/st,stpmic1.h>
0010
0011 / {
0012 reserved-memory {
0013 #address-cells = <1>;
0014 #size-cells = <1>;
0015 ranges;
0016
0017 mcuram2: mcuram2@10000000 {
0018 compatible = "shared-dma-pool";
0019 reg = <0x10000000 0x40000>;
0020 no-map;
0021 };
0022
0023 vdev0vring0: vdev0vring0@10040000 {
0024 compatible = "shared-dma-pool";
0025 reg = <0x10040000 0x1000>;
0026 no-map;
0027 };
0028
0029 vdev0vring1: vdev0vring1@10041000 {
0030 compatible = "shared-dma-pool";
0031 reg = <0x10041000 0x1000>;
0032 no-map;
0033 };
0034
0035 vdev0buffer: vdev0buffer@10042000 {
0036 compatible = "shared-dma-pool";
0037 reg = <0x10042000 0x4000>;
0038 no-map;
0039 };
0040
0041 mcuram: mcuram@30000000 {
0042 compatible = "shared-dma-pool";
0043 reg = <0x30000000 0x40000>;
0044 no-map;
0045 };
0046
0047 retram: retram@38000000 {
0048 compatible = "shared-dma-pool";
0049 reg = <0x38000000 0x10000>;
0050 no-map;
0051 };
0052 };
0053 };
0054
0055 &i2c4 {
0056 pinctrl-names = "default", "sleep";
0057 pinctrl-0 = <&i2c4_pins_a>;
0058 pinctrl-1 = <&i2c4_sleep_pins_a>;
0059 clock-frequency = <400000>;
0060 i2c-scl-rising-time-ns = <185>;
0061 i2c-scl-falling-time-ns = <20>;
0062 status = "okay";
0063
0064 pmic: stpmic@33 {
0065 compatible = "st,stpmic1";
0066 reg = <0x33>;
0067 interrupts-extended = <&gpioa 0 IRQ_TYPE_EDGE_FALLING>;
0068 interrupt-controller;
0069 #interrupt-cells = <2>;
0070
0071 regulators {
0072 compatible = "st,stpmic1-regulators";
0073
0074 ldo1-supply = <&v3v3>;
0075 ldo3-supply = <&vdd_ddr>;
0076 ldo6-supply = <&v3v3>;
0077 pwr_sw1-supply = <&bst_out>;
0078
0079 vddcore: buck1 {
0080 regulator-name = "vddcore";
0081 regulator-min-microvolt = <1200000>;
0082 regulator-max-microvolt = <1350000>;
0083 regulator-always-on;
0084 regulator-initial-mode = <0>;
0085 regulator-over-current-protection;
0086 };
0087
0088 vdd_ddr: buck2 {
0089 regulator-name = "vdd_ddr";
0090 regulator-min-microvolt = <1350000>;
0091 regulator-max-microvolt = <1350000>;
0092 regulator-always-on;
0093 regulator-initial-mode = <0>;
0094 regulator-over-current-protection;
0095 };
0096
0097 vdd: buck3 {
0098 regulator-name = "vdd";
0099 regulator-min-microvolt = <3300000>;
0100 regulator-max-microvolt = <3300000>;
0101 regulator-always-on;
0102 st,mask-reset;
0103 regulator-initial-mode = <0>;
0104 regulator-over-current-protection;
0105 };
0106
0107 v3v3: buck4 {
0108 regulator-name = "v3v3";
0109 regulator-min-microvolt = <3300000>;
0110 regulator-max-microvolt = <3300000>;
0111 regulator-always-on;
0112 regulator-over-current-protection;
0113 regulator-initial-mode = <0>;
0114 };
0115
0116 v1v8_audio: ldo1 {
0117 regulator-name = "v1v8_audio";
0118 regulator-min-microvolt = <1800000>;
0119 regulator-max-microvolt = <1800000>;
0120 regulator-always-on;
0121 interrupts = <IT_CURLIM_LDO1 0>;
0122
0123 };
0124
0125 v3v3_hdmi: ldo2 {
0126 regulator-name = "v3v3_hdmi";
0127 regulator-min-microvolt = <3300000>;
0128 regulator-max-microvolt = <3300000>;
0129 regulator-always-on;
0130 interrupts = <IT_CURLIM_LDO2 0>;
0131
0132 };
0133
0134 vtt_ddr: ldo3 {
0135 regulator-name = "vtt_ddr";
0136 regulator-min-microvolt = <500000>;
0137 regulator-max-microvolt = <750000>;
0138 regulator-always-on;
0139 regulator-over-current-protection;
0140 };
0141
0142 vdd_usb: ldo4 {
0143 regulator-name = "vdd_usb";
0144 interrupts = <IT_CURLIM_LDO4 0>;
0145 };
0146
0147 vdda: ldo5 {
0148 regulator-name = "vdda";
0149 regulator-min-microvolt = <2900000>;
0150 regulator-max-microvolt = <2900000>;
0151 interrupts = <IT_CURLIM_LDO5 0>;
0152 regulator-boot-on;
0153 };
0154
0155 v1v2_hdmi: ldo6 {
0156 regulator-name = "v1v2_hdmi";
0157 regulator-min-microvolt = <1200000>;
0158 regulator-max-microvolt = <1200000>;
0159 regulator-always-on;
0160 interrupts = <IT_CURLIM_LDO6 0>;
0161
0162 };
0163
0164 vref_ddr: vref_ddr {
0165 regulator-name = "vref_ddr";
0166 regulator-always-on;
0167 };
0168
0169 bst_out: boost {
0170 regulator-name = "bst_out";
0171 interrupts = <IT_OCP_BOOST 0>;
0172 };
0173
0174 vbus_otg: pwr_sw1 {
0175 regulator-name = "vbus_otg";
0176 interrupts = <IT_OCP_OTG 0>;
0177 regulator-active-discharge = <1>;
0178 };
0179
0180 vbus_sw: pwr_sw2 {
0181 regulator-name = "vbus_sw";
0182 interrupts = <IT_OCP_SWOUT 0>;
0183 regulator-active-discharge = <1>;
0184 };
0185 };
0186
0187 onkey {
0188 compatible = "st,stpmic1-onkey";
0189 interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 1>;
0190 interrupt-names = "onkey-falling", "onkey-rising";
0191 };
0192
0193 pmic_watchdog: watchdog {
0194 compatible = "st,stpmic1-wdt";
0195 status = "disabled";
0196 };
0197 };
0198
0199 sip_eeprom: eeprom@50 {
0200 compatible = "atmel,24c32";
0201 vcc-supply = <&vdd>;
0202 reg = <0x50>;
0203 };
0204 };
0205
0206 &ipcc {
0207 status = "okay";
0208 };
0209
0210 &m4_rproc {
0211 memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>,
0212 <&vdev0vring1>, <&vdev0buffer>;
0213 mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>;
0214 mbox-names = "vq0", "vq1", "shutdown";
0215 interrupt-parent = <&exti>;
0216 interrupts = <68 1>;
0217 status = "okay";
0218 };
0219
0220 &rng1 {
0221 status = "okay";
0222 };