162306a36Sopenharmony_ci/* SPDX-License-Identifier: (GPL-2.0-or-later OR BSD-3-Clause) */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright (C) 2020 STMicroelectronics - All Rights Reserved
462306a36Sopenharmony_ci * Copyright (C) 2020 Ahmad Fatoum, Pengutronix
562306a36Sopenharmony_ci */
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci#include "stm32mp15-pinctrl.dtsi"
862306a36Sopenharmony_ci
962306a36Sopenharmony_ci#include <dt-bindings/mfd/st,stpmic1.h>
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci/ {
1262306a36Sopenharmony_ci	reserved-memory {
1362306a36Sopenharmony_ci		#address-cells = <1>;
1462306a36Sopenharmony_ci		#size-cells = <1>;
1562306a36Sopenharmony_ci		ranges;
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ci		mcuram2: mcuram2@10000000 {
1862306a36Sopenharmony_ci			compatible = "shared-dma-pool";
1962306a36Sopenharmony_ci			reg = <0x10000000 0x40000>;
2062306a36Sopenharmony_ci			no-map;
2162306a36Sopenharmony_ci		};
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci		vdev0vring0: vdev0vring0@10040000 {
2462306a36Sopenharmony_ci			compatible = "shared-dma-pool";
2562306a36Sopenharmony_ci			reg = <0x10040000 0x1000>;
2662306a36Sopenharmony_ci			no-map;
2762306a36Sopenharmony_ci		};
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci		vdev0vring1: vdev0vring1@10041000 {
3062306a36Sopenharmony_ci			compatible = "shared-dma-pool";
3162306a36Sopenharmony_ci			reg = <0x10041000 0x1000>;
3262306a36Sopenharmony_ci			no-map;
3362306a36Sopenharmony_ci		};
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci		vdev0buffer: vdev0buffer@10042000 {
3662306a36Sopenharmony_ci			compatible = "shared-dma-pool";
3762306a36Sopenharmony_ci			reg = <0x10042000 0x4000>;
3862306a36Sopenharmony_ci			no-map;
3962306a36Sopenharmony_ci		};
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci		mcuram: mcuram@30000000 {
4262306a36Sopenharmony_ci			compatible = "shared-dma-pool";
4362306a36Sopenharmony_ci			reg = <0x30000000 0x40000>;
4462306a36Sopenharmony_ci			no-map;
4562306a36Sopenharmony_ci		};
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci		retram: retram@38000000 {
4862306a36Sopenharmony_ci			compatible = "shared-dma-pool";
4962306a36Sopenharmony_ci			reg = <0x38000000 0x10000>;
5062306a36Sopenharmony_ci			no-map;
5162306a36Sopenharmony_ci		};
5262306a36Sopenharmony_ci	};
5362306a36Sopenharmony_ci};
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ci&i2c4 {
5662306a36Sopenharmony_ci	pinctrl-names = "default", "sleep";
5762306a36Sopenharmony_ci	pinctrl-0 = <&i2c4_pins_a>;
5862306a36Sopenharmony_ci	pinctrl-1 = <&i2c4_sleep_pins_a>;
5962306a36Sopenharmony_ci	clock-frequency = <400000>;
6062306a36Sopenharmony_ci	i2c-scl-rising-time-ns = <185>;
6162306a36Sopenharmony_ci	i2c-scl-falling-time-ns = <20>;
6262306a36Sopenharmony_ci	status = "okay";
6362306a36Sopenharmony_ci
6462306a36Sopenharmony_ci	pmic: stpmic@33 {
6562306a36Sopenharmony_ci		compatible = "st,stpmic1";
6662306a36Sopenharmony_ci		reg = <0x33>;
6762306a36Sopenharmony_ci		interrupts-extended = <&gpioa 0 IRQ_TYPE_EDGE_FALLING>;
6862306a36Sopenharmony_ci		interrupt-controller;
6962306a36Sopenharmony_ci		#interrupt-cells = <2>;
7062306a36Sopenharmony_ci
7162306a36Sopenharmony_ci		regulators {
7262306a36Sopenharmony_ci			compatible = "st,stpmic1-regulators";
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_ci			ldo1-supply = <&v3v3>;
7562306a36Sopenharmony_ci			ldo3-supply = <&vdd_ddr>;
7662306a36Sopenharmony_ci			ldo6-supply = <&v3v3>;
7762306a36Sopenharmony_ci			pwr_sw1-supply = <&bst_out>;
7862306a36Sopenharmony_ci
7962306a36Sopenharmony_ci			vddcore: buck1 {
8062306a36Sopenharmony_ci				regulator-name = "vddcore";
8162306a36Sopenharmony_ci				regulator-min-microvolt = <1200000>;
8262306a36Sopenharmony_ci				regulator-max-microvolt = <1350000>;
8362306a36Sopenharmony_ci				regulator-always-on;
8462306a36Sopenharmony_ci				regulator-initial-mode = <0>;
8562306a36Sopenharmony_ci				regulator-over-current-protection;
8662306a36Sopenharmony_ci			};
8762306a36Sopenharmony_ci
8862306a36Sopenharmony_ci			vdd_ddr: buck2 {
8962306a36Sopenharmony_ci				regulator-name = "vdd_ddr";
9062306a36Sopenharmony_ci				regulator-min-microvolt = <1350000>;
9162306a36Sopenharmony_ci				regulator-max-microvolt = <1350000>;
9262306a36Sopenharmony_ci				regulator-always-on;
9362306a36Sopenharmony_ci				regulator-initial-mode = <0>;
9462306a36Sopenharmony_ci				regulator-over-current-protection;
9562306a36Sopenharmony_ci			};
9662306a36Sopenharmony_ci
9762306a36Sopenharmony_ci			vdd: buck3 {
9862306a36Sopenharmony_ci				regulator-name = "vdd";
9962306a36Sopenharmony_ci				regulator-min-microvolt = <3300000>;
10062306a36Sopenharmony_ci				regulator-max-microvolt = <3300000>;
10162306a36Sopenharmony_ci				regulator-always-on;
10262306a36Sopenharmony_ci				st,mask-reset;
10362306a36Sopenharmony_ci				regulator-initial-mode = <0>;
10462306a36Sopenharmony_ci				regulator-over-current-protection;
10562306a36Sopenharmony_ci			};
10662306a36Sopenharmony_ci
10762306a36Sopenharmony_ci			v3v3: buck4 {
10862306a36Sopenharmony_ci				regulator-name = "v3v3";
10962306a36Sopenharmony_ci				regulator-min-microvolt = <3300000>;
11062306a36Sopenharmony_ci				regulator-max-microvolt = <3300000>;
11162306a36Sopenharmony_ci				regulator-always-on;
11262306a36Sopenharmony_ci				regulator-over-current-protection;
11362306a36Sopenharmony_ci				regulator-initial-mode = <0>;
11462306a36Sopenharmony_ci			};
11562306a36Sopenharmony_ci
11662306a36Sopenharmony_ci			v1v8_audio: ldo1 {
11762306a36Sopenharmony_ci				regulator-name = "v1v8_audio";
11862306a36Sopenharmony_ci				regulator-min-microvolt = <1800000>;
11962306a36Sopenharmony_ci				regulator-max-microvolt = <1800000>;
12062306a36Sopenharmony_ci				regulator-always-on;
12162306a36Sopenharmony_ci				interrupts = <IT_CURLIM_LDO1 0>;
12262306a36Sopenharmony_ci
12362306a36Sopenharmony_ci			};
12462306a36Sopenharmony_ci
12562306a36Sopenharmony_ci			v3v3_hdmi: ldo2 {
12662306a36Sopenharmony_ci				regulator-name = "v3v3_hdmi";
12762306a36Sopenharmony_ci				regulator-min-microvolt = <3300000>;
12862306a36Sopenharmony_ci				regulator-max-microvolt = <3300000>;
12962306a36Sopenharmony_ci				regulator-always-on;
13062306a36Sopenharmony_ci				interrupts = <IT_CURLIM_LDO2 0>;
13162306a36Sopenharmony_ci
13262306a36Sopenharmony_ci			};
13362306a36Sopenharmony_ci
13462306a36Sopenharmony_ci			vtt_ddr: ldo3 {
13562306a36Sopenharmony_ci				regulator-name = "vtt_ddr";
13662306a36Sopenharmony_ci				regulator-min-microvolt = <500000>;
13762306a36Sopenharmony_ci				regulator-max-microvolt = <750000>;
13862306a36Sopenharmony_ci				regulator-always-on;
13962306a36Sopenharmony_ci				regulator-over-current-protection;
14062306a36Sopenharmony_ci			};
14162306a36Sopenharmony_ci
14262306a36Sopenharmony_ci			vdd_usb: ldo4 {
14362306a36Sopenharmony_ci				regulator-name = "vdd_usb";
14462306a36Sopenharmony_ci				interrupts = <IT_CURLIM_LDO4 0>;
14562306a36Sopenharmony_ci			};
14662306a36Sopenharmony_ci
14762306a36Sopenharmony_ci			vdda: ldo5 {
14862306a36Sopenharmony_ci				regulator-name = "vdda";
14962306a36Sopenharmony_ci				regulator-min-microvolt = <2900000>;
15062306a36Sopenharmony_ci				regulator-max-microvolt = <2900000>;
15162306a36Sopenharmony_ci				interrupts = <IT_CURLIM_LDO5 0>;
15262306a36Sopenharmony_ci				regulator-boot-on;
15362306a36Sopenharmony_ci			};
15462306a36Sopenharmony_ci
15562306a36Sopenharmony_ci			v1v2_hdmi: ldo6 {
15662306a36Sopenharmony_ci				regulator-name = "v1v2_hdmi";
15762306a36Sopenharmony_ci				regulator-min-microvolt = <1200000>;
15862306a36Sopenharmony_ci				regulator-max-microvolt = <1200000>;
15962306a36Sopenharmony_ci				regulator-always-on;
16062306a36Sopenharmony_ci				interrupts = <IT_CURLIM_LDO6 0>;
16162306a36Sopenharmony_ci
16262306a36Sopenharmony_ci			};
16362306a36Sopenharmony_ci
16462306a36Sopenharmony_ci			vref_ddr: vref_ddr {
16562306a36Sopenharmony_ci				regulator-name = "vref_ddr";
16662306a36Sopenharmony_ci				regulator-always-on;
16762306a36Sopenharmony_ci			};
16862306a36Sopenharmony_ci
16962306a36Sopenharmony_ci			bst_out: boost {
17062306a36Sopenharmony_ci				regulator-name = "bst_out";
17162306a36Sopenharmony_ci				interrupts = <IT_OCP_BOOST 0>;
17262306a36Sopenharmony_ci			};
17362306a36Sopenharmony_ci
17462306a36Sopenharmony_ci			vbus_otg: pwr_sw1 {
17562306a36Sopenharmony_ci				regulator-name = "vbus_otg";
17662306a36Sopenharmony_ci				interrupts = <IT_OCP_OTG 0>;
17762306a36Sopenharmony_ci				regulator-active-discharge = <1>;
17862306a36Sopenharmony_ci			};
17962306a36Sopenharmony_ci
18062306a36Sopenharmony_ci			vbus_sw: pwr_sw2 {
18162306a36Sopenharmony_ci				regulator-name = "vbus_sw";
18262306a36Sopenharmony_ci				interrupts = <IT_OCP_SWOUT 0>;
18362306a36Sopenharmony_ci				regulator-active-discharge = <1>;
18462306a36Sopenharmony_ci			};
18562306a36Sopenharmony_ci		};
18662306a36Sopenharmony_ci
18762306a36Sopenharmony_ci		onkey {
18862306a36Sopenharmony_ci			compatible = "st,stpmic1-onkey";
18962306a36Sopenharmony_ci			interrupts = <IT_PONKEY_F 0>, <IT_PONKEY_R 1>;
19062306a36Sopenharmony_ci			interrupt-names = "onkey-falling", "onkey-rising";
19162306a36Sopenharmony_ci		};
19262306a36Sopenharmony_ci
19362306a36Sopenharmony_ci		pmic_watchdog: watchdog {
19462306a36Sopenharmony_ci			compatible = "st,stpmic1-wdt";
19562306a36Sopenharmony_ci			status = "disabled";
19662306a36Sopenharmony_ci		};
19762306a36Sopenharmony_ci	};
19862306a36Sopenharmony_ci
19962306a36Sopenharmony_ci	sip_eeprom: eeprom@50 {
20062306a36Sopenharmony_ci		compatible = "atmel,24c32";
20162306a36Sopenharmony_ci		vcc-supply = <&vdd>;
20262306a36Sopenharmony_ci		reg = <0x50>;
20362306a36Sopenharmony_ci	};
20462306a36Sopenharmony_ci};
20562306a36Sopenharmony_ci
20662306a36Sopenharmony_ci&ipcc {
20762306a36Sopenharmony_ci	status = "okay";
20862306a36Sopenharmony_ci};
20962306a36Sopenharmony_ci
21062306a36Sopenharmony_ci&m4_rproc {
21162306a36Sopenharmony_ci	memory-region = <&retram>, <&mcuram>, <&mcuram2>, <&vdev0vring0>,
21262306a36Sopenharmony_ci			<&vdev0vring1>, <&vdev0buffer>;
21362306a36Sopenharmony_ci	mboxes = <&ipcc 0>, <&ipcc 1>, <&ipcc 2>, <&ipcc 3>;
21462306a36Sopenharmony_ci	mbox-names = "vq0", "vq1", "shutdown", "detach";
21562306a36Sopenharmony_ci	interrupt-parent = <&exti>;
21662306a36Sopenharmony_ci	interrupts = <68 1>;
21762306a36Sopenharmony_ci	status = "okay";
21862306a36Sopenharmony_ci};
21962306a36Sopenharmony_ci
22062306a36Sopenharmony_ci&rng1 {
22162306a36Sopenharmony_ci	status = "okay";
22262306a36Sopenharmony_ci};
223