162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci/* The pxa3xx skeleton simply augments the 2xx version */
362306a36Sopenharmony_ci#include "pxa2xx.dtsi"
462306a36Sopenharmony_ci#include "dt-bindings/clock/pxa-clock.h"
562306a36Sopenharmony_ci
662306a36Sopenharmony_ci/ {
762306a36Sopenharmony_ci	model = "Marvell PXA27x familiy SoC";
862306a36Sopenharmony_ci	compatible = "marvell,pxa27x";
962306a36Sopenharmony_ci
1062306a36Sopenharmony_ci	pxabus {
1162306a36Sopenharmony_ci		pdma: dma-controller@40000000 {
1262306a36Sopenharmony_ci			compatible = "marvell,pdma-1.0";
1362306a36Sopenharmony_ci			reg = <0x40000000 0x10000>;
1462306a36Sopenharmony_ci			interrupts = <25>;
1562306a36Sopenharmony_ci			#dma-cells = <2>;
1662306a36Sopenharmony_ci			/* For backwards compatibility: */
1762306a36Sopenharmony_ci			#dma-channels = <32>;
1862306a36Sopenharmony_ci			dma-channels = <32>;
1962306a36Sopenharmony_ci			#dma-requests = <75>;
2062306a36Sopenharmony_ci			dma-requests = <75>;
2162306a36Sopenharmony_ci			status = "okay";
2262306a36Sopenharmony_ci		};
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ci		pxairq: interrupt-controller@40d00000 {
2562306a36Sopenharmony_ci			marvell,intc-priority;
2662306a36Sopenharmony_ci			marvell,intc-nr-irqs = <34>;
2762306a36Sopenharmony_ci		};
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci		pinctrl: pinctrl@40e00000 {
3062306a36Sopenharmony_ci			reg = <0x40e00054 0x20 0x40e0000c 0xc 0x40e0010c 4
3162306a36Sopenharmony_ci			       0x40f00020 0x10>;
3262306a36Sopenharmony_ci			compatible = "marvell,pxa27x-pinctrl";
3362306a36Sopenharmony_ci		};
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ci		gpio: gpio@40e00000 {
3662306a36Sopenharmony_ci			compatible = "intel,pxa27x-gpio";
3762306a36Sopenharmony_ci			gpio-ranges = <&pinctrl 0 0 128>;
3862306a36Sopenharmony_ci			clocks = <&clks CLK_NONE>;
3962306a36Sopenharmony_ci		};
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci		usb0: usb@4c000000 {
4262306a36Sopenharmony_ci			compatible = "marvell,pxa-ohci";
4362306a36Sopenharmony_ci			reg = <0x4c000000 0x10000>;
4462306a36Sopenharmony_ci			interrupts = <3>;
4562306a36Sopenharmony_ci			clocks = <&clks CLK_USBHOST>;
4662306a36Sopenharmony_ci			status = "disabled";
4762306a36Sopenharmony_ci		};
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ci		pwm0: pwm@40b00000 {
5062306a36Sopenharmony_ci			compatible = "marvell,pxa270-pwm", "marvell,pxa250-pwm";
5162306a36Sopenharmony_ci			reg = <0x40b00000 0x10>;
5262306a36Sopenharmony_ci			#pwm-cells = <1>;
5362306a36Sopenharmony_ci			clocks = <&clks CLK_PWM0>;
5462306a36Sopenharmony_ci		};
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ci		pwm1: pwm@40b00010 {
5762306a36Sopenharmony_ci			compatible = "marvell,pxa270-pwm", "marvell,pxa250-pwm";
5862306a36Sopenharmony_ci			reg = <0x40b00010 0x10>;
5962306a36Sopenharmony_ci			#pwm-cells = <1>;
6062306a36Sopenharmony_ci			clocks = <&clks CLK_PWM1>;
6162306a36Sopenharmony_ci		};
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ci		pwm2: pwm@40c00000 {
6462306a36Sopenharmony_ci			compatible = "marvell,pxa270-pwm", "marvell,pxa250-pwm";
6562306a36Sopenharmony_ci			reg = <0x40c00000 0x10>;
6662306a36Sopenharmony_ci			#pwm-cells = <1>;
6762306a36Sopenharmony_ci			clocks = <&clks CLK_PWM0>;
6862306a36Sopenharmony_ci		};
6962306a36Sopenharmony_ci
7062306a36Sopenharmony_ci		pwm3: pwm@40c00010 {
7162306a36Sopenharmony_ci			compatible = "marvell,pxa270-pwm", "marvell,pxa250-pwm";
7262306a36Sopenharmony_ci			reg = <0x40c00010 0x10>;
7362306a36Sopenharmony_ci			#pwm-cells = <1>;
7462306a36Sopenharmony_ci			clocks = <&clks CLK_PWM1>;
7562306a36Sopenharmony_ci		};
7662306a36Sopenharmony_ci
7762306a36Sopenharmony_ci		pwri2c: i2c@40f00180 {
7862306a36Sopenharmony_ci			compatible = "mrvl,pxa-i2c";
7962306a36Sopenharmony_ci			reg = <0x40f00180 0x24>;
8062306a36Sopenharmony_ci			interrupts = <6>;
8162306a36Sopenharmony_ci			clocks = <&clks CLK_PWRI2C>;
8262306a36Sopenharmony_ci			#address-cells = <0x1>;
8362306a36Sopenharmony_ci			#size-cells = <0>;
8462306a36Sopenharmony_ci			status = "disabled";
8562306a36Sopenharmony_ci		};
8662306a36Sopenharmony_ci
8762306a36Sopenharmony_ci		pxa27x_udc: udc@40600000 {
8862306a36Sopenharmony_ci			compatible = "marvell,pxa270-udc";
8962306a36Sopenharmony_ci			reg = <0x40600000 0x10000>;
9062306a36Sopenharmony_ci			interrupts = <11>;
9162306a36Sopenharmony_ci			clocks = <&clks CLK_USB>;
9262306a36Sopenharmony_ci			status = "disabled";
9362306a36Sopenharmony_ci		};
9462306a36Sopenharmony_ci
9562306a36Sopenharmony_ci		keypad: keypad@41500000 {
9662306a36Sopenharmony_ci			compatible = "marvell,pxa27x-keypad";
9762306a36Sopenharmony_ci			reg = <0x41500000 0x4c>;
9862306a36Sopenharmony_ci			interrupts = <4>;
9962306a36Sopenharmony_ci			clocks = <&clks CLK_KEYPAD>;
10062306a36Sopenharmony_ci			status = "disabled";
10162306a36Sopenharmony_ci		};
10262306a36Sopenharmony_ci
10362306a36Sopenharmony_ci		pxa_camera: imaging@50000000 {
10462306a36Sopenharmony_ci			compatible = "marvell,pxa270-qci";
10562306a36Sopenharmony_ci			reg = <0x50000000 0x1000>;
10662306a36Sopenharmony_ci			interrupts = <33>;
10762306a36Sopenharmony_ci			dmas = <&pdma 68 0	/* Y channel */
10862306a36Sopenharmony_ci				&pdma 69 0	/* U channel */
10962306a36Sopenharmony_ci				&pdma 70 0>;	/* V channel */
11062306a36Sopenharmony_ci			dma-names = "CI_Y", "CI_U", "CI_V";
11162306a36Sopenharmony_ci
11262306a36Sopenharmony_ci			clocks = <&clks CLK_CAMERA>;
11362306a36Sopenharmony_ci			clock-names = "ciclk";
11462306a36Sopenharmony_ci			clock-frequency = <5000000>;
11562306a36Sopenharmony_ci			clock-output-names = "qci_mclk";
11662306a36Sopenharmony_ci
11762306a36Sopenharmony_ci			status = "disabled";
11862306a36Sopenharmony_ci		};
11962306a36Sopenharmony_ci
12062306a36Sopenharmony_ci		rtc@40900000 {
12162306a36Sopenharmony_ci			clocks = <&clks CLK_OSC32k768>;
12262306a36Sopenharmony_ci		};
12362306a36Sopenharmony_ci	};
12462306a36Sopenharmony_ci
12562306a36Sopenharmony_ci	clocks {
12662306a36Sopenharmony_ci	       /*
12762306a36Sopenharmony_ci		* The muxing of external clocks/internal dividers for osc* clock
12862306a36Sopenharmony_ci		* sources has been hidden under the carpet by now.
12962306a36Sopenharmony_ci		*/
13062306a36Sopenharmony_ci		#address-cells = <1>;
13162306a36Sopenharmony_ci		#size-cells = <1>;
13262306a36Sopenharmony_ci		ranges;
13362306a36Sopenharmony_ci
13462306a36Sopenharmony_ci		clks: pxa2xx_clks@41300004 {
13562306a36Sopenharmony_ci			compatible = "marvell,pxa270-clocks";
13662306a36Sopenharmony_ci			#clock-cells = <1>;
13762306a36Sopenharmony_ci			status = "okay";
13862306a36Sopenharmony_ci		};
13962306a36Sopenharmony_ci	};
14062306a36Sopenharmony_ci
14162306a36Sopenharmony_ci	timer@40a00000 {
14262306a36Sopenharmony_ci		compatible = "marvell,pxa-timer";
14362306a36Sopenharmony_ci		reg = <0x40a00000 0x20>;
14462306a36Sopenharmony_ci		interrupts = <26>;
14562306a36Sopenharmony_ci		clocks = <&clks CLK_OSTIMER>;
14662306a36Sopenharmony_ci		status = "okay";
14762306a36Sopenharmony_ci	};
14862306a36Sopenharmony_ci
14962306a36Sopenharmony_ci	pxa270_opp_table: opp_table0 {
15062306a36Sopenharmony_ci		compatible = "operating-points-v2";
15162306a36Sopenharmony_ci
15262306a36Sopenharmony_ci		opp-104000000 {
15362306a36Sopenharmony_ci			opp-hz = /bits/ 64 <104000000>;
15462306a36Sopenharmony_ci			opp-microvolt = <900000 900000 1705000>;
15562306a36Sopenharmony_ci			clock-latency-ns = <20>;
15662306a36Sopenharmony_ci		};
15762306a36Sopenharmony_ci		opp-156000000 {
15862306a36Sopenharmony_ci			opp-hz = /bits/ 64 <156000000>;
15962306a36Sopenharmony_ci			opp-microvolt = <1000000 1000000 1705000>;
16062306a36Sopenharmony_ci			clock-latency-ns = <20>;
16162306a36Sopenharmony_ci		};
16262306a36Sopenharmony_ci		opp-208000000 {
16362306a36Sopenharmony_ci			opp-hz = /bits/ 64 <208000000>;
16462306a36Sopenharmony_ci			opp-microvolt = <1180000 1180000 1705000>;
16562306a36Sopenharmony_ci			clock-latency-ns = <20>;
16662306a36Sopenharmony_ci		};
16762306a36Sopenharmony_ci		opp-312000000 {
16862306a36Sopenharmony_ci			opp-hz = /bits/ 64 <312000000>;
16962306a36Sopenharmony_ci			opp-microvolt = <1250000 1250000 1705000>;
17062306a36Sopenharmony_ci			clock-latency-ns = <20>;
17162306a36Sopenharmony_ci		};
17262306a36Sopenharmony_ci		opp-416000000 {
17362306a36Sopenharmony_ci			opp-hz = /bits/ 64 <416000000>;
17462306a36Sopenharmony_ci			opp-microvolt = <1350000 1350000 1705000>;
17562306a36Sopenharmony_ci			clock-latency-ns = <20>;
17662306a36Sopenharmony_ci		};
17762306a36Sopenharmony_ci		opp-520000000 {
17862306a36Sopenharmony_ci			opp-hz = /bits/ 64 <520000000>;
17962306a36Sopenharmony_ci			opp-microvolt = <1450000 1450000 1705000>;
18062306a36Sopenharmony_ci			clock-latency-ns = <20>;
18162306a36Sopenharmony_ci		};
18262306a36Sopenharmony_ci		opp-624000000 {
18362306a36Sopenharmony_ci			opp-hz = /bits/ 64 <624000000>;
18462306a36Sopenharmony_ci			opp-microvolt = <1550000 1550000 1705000>;
18562306a36Sopenharmony_ci			clock-latency-ns = <20>;
18662306a36Sopenharmony_ci		};
18762306a36Sopenharmony_ci	};
18862306a36Sopenharmony_ci};
189