162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-or-later
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Copyright (C) 2016 Robert Jarzmik <robert.jarzmik@free.fr>
462306a36Sopenharmony_ci */
562306a36Sopenharmony_ci#include "pxa2xx.dtsi"
662306a36Sopenharmony_ci#include "dt-bindings/clock/pxa-clock.h"
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci/ {
962306a36Sopenharmony_ci	model = "Marvell PXA25x family SoC";
1062306a36Sopenharmony_ci	compatible = "marvell,pxa250";
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci	clocks {
1362306a36Sopenharmony_ci	       /*
1462306a36Sopenharmony_ci		* The muxing of external clocks/internal dividers for osc* clock
1562306a36Sopenharmony_ci		* sources has been hidden under the carpet by now.
1662306a36Sopenharmony_ci		*/
1762306a36Sopenharmony_ci		#address-cells = <1>;
1862306a36Sopenharmony_ci		#size-cells = <1>;
1962306a36Sopenharmony_ci		ranges;
2062306a36Sopenharmony_ci
2162306a36Sopenharmony_ci		clks: pxa2xx_clks@41300004 {
2262306a36Sopenharmony_ci			compatible = "marvell,pxa250-core-clocks";
2362306a36Sopenharmony_ci			#clock-cells = <1>;
2462306a36Sopenharmony_ci			status = "okay";
2562306a36Sopenharmony_ci		};
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci		/* timer oscillator */
2862306a36Sopenharmony_ci		clktimer: oscillator {
2962306a36Sopenharmony_ci			compatible = "fixed-clock";
3062306a36Sopenharmony_ci			#clock-cells = <0>;
3162306a36Sopenharmony_ci			clock-frequency  = <3686400>;
3262306a36Sopenharmony_ci			clock-output-names = "ostimer";
3362306a36Sopenharmony_ci		};
3462306a36Sopenharmony_ci	};
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci	pxabus {
3762306a36Sopenharmony_ci		pdma: dma-controller@40000000 {
3862306a36Sopenharmony_ci			compatible = "marvell,pdma-1.0";
3962306a36Sopenharmony_ci			reg = <0x40000000 0x10000>;
4062306a36Sopenharmony_ci			interrupts = <25>;
4162306a36Sopenharmony_ci			#dma-cells = <2>;
4262306a36Sopenharmony_ci			/* For backwards compatibility: */
4362306a36Sopenharmony_ci			#dma-channels = <16>;
4462306a36Sopenharmony_ci			dma-channels = <16>;
4562306a36Sopenharmony_ci			#dma-requests = <40>;
4662306a36Sopenharmony_ci			dma-requests = <40>;
4762306a36Sopenharmony_ci			status = "okay";
4862306a36Sopenharmony_ci		};
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_ci		pxairq: interrupt-controller@40d00000 {
5162306a36Sopenharmony_ci			marvell,intc-priority;
5262306a36Sopenharmony_ci			marvell,intc-nr-irqs = <32>;
5362306a36Sopenharmony_ci		};
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ci		pinctrl: pinctrl@40e00000 {
5662306a36Sopenharmony_ci			reg = <0x40e00054 0x20 0x40e0000c 0xc 0x40e0010c 4
5762306a36Sopenharmony_ci			       0x40f00020 0x10>;
5862306a36Sopenharmony_ci			compatible = "marvell,pxa25x-pinctrl";
5962306a36Sopenharmony_ci		};
6062306a36Sopenharmony_ci
6162306a36Sopenharmony_ci		gpio: gpio@40e00000 {
6262306a36Sopenharmony_ci			compatible = "intel,pxa25x-gpio";
6362306a36Sopenharmony_ci			gpio-ranges = <&pinctrl 0 0 84>;
6462306a36Sopenharmony_ci			clocks = <&clks CLK_NONE>;
6562306a36Sopenharmony_ci		};
6662306a36Sopenharmony_ci
6762306a36Sopenharmony_ci		pwm0: pwm@40b00000 {
6862306a36Sopenharmony_ci			compatible = "marvell,pxa250-pwm";
6962306a36Sopenharmony_ci			reg = <0x40b00000 0x10>;
7062306a36Sopenharmony_ci			#pwm-cells = <1>;
7162306a36Sopenharmony_ci			clocks = <&clks CLK_PWM0>;
7262306a36Sopenharmony_ci		};
7362306a36Sopenharmony_ci
7462306a36Sopenharmony_ci		pwm1: pwm@40b00010 {
7562306a36Sopenharmony_ci			compatible = "marvell,pxa250-pwm";
7662306a36Sopenharmony_ci			reg = <0x40b00010 0x10>;
7762306a36Sopenharmony_ci			#pwm-cells = <1>;
7862306a36Sopenharmony_ci			clocks = <&clks CLK_PWM1>;
7962306a36Sopenharmony_ci		};
8062306a36Sopenharmony_ci
8162306a36Sopenharmony_ci		rtc@40900000 {
8262306a36Sopenharmony_ci			clocks = <&clks CLK_OSC32k768>;
8362306a36Sopenharmony_ci		};
8462306a36Sopenharmony_ci	};
8562306a36Sopenharmony_ci
8662306a36Sopenharmony_ci	timer@40a00000 {
8762306a36Sopenharmony_ci		compatible = "marvell,pxa-timer";
8862306a36Sopenharmony_ci		reg = <0x40a00000 0x20>;
8962306a36Sopenharmony_ci		interrupts = <26>;
9062306a36Sopenharmony_ci		clocks = <&clktimer>;
9162306a36Sopenharmony_ci		status = "okay";
9262306a36Sopenharmony_ci	};
9362306a36Sopenharmony_ci
9462306a36Sopenharmony_ci	pxa250_opp_table: opp_table0 {
9562306a36Sopenharmony_ci		compatible = "operating-points-v2";
9662306a36Sopenharmony_ci
9762306a36Sopenharmony_ci		opp-99532800 {
9862306a36Sopenharmony_ci			opp-hz = /bits/ 64 <99532800>;
9962306a36Sopenharmony_ci			opp-microvolt = <1000000 950000 1650000>;
10062306a36Sopenharmony_ci			clock-latency-ns = <20>;
10162306a36Sopenharmony_ci		};
10262306a36Sopenharmony_ci		opp-199065600 {
10362306a36Sopenharmony_ci			opp-hz = /bits/ 64 <199065600>;
10462306a36Sopenharmony_ci			opp-microvolt = <1000000 950000 1650000>;
10562306a36Sopenharmony_ci			clock-latency-ns = <20>;
10662306a36Sopenharmony_ci		};
10762306a36Sopenharmony_ci		opp-298598400 {
10862306a36Sopenharmony_ci			opp-hz = /bits/ 64 <298598400>;
10962306a36Sopenharmony_ci			opp-microvolt = <1100000 1045000 1650000>;
11062306a36Sopenharmony_ci			clock-latency-ns = <20>;
11162306a36Sopenharmony_ci		};
11262306a36Sopenharmony_ci		opp-398131200 {
11362306a36Sopenharmony_ci			opp-hz = /bits/ 64 <398131200>;
11462306a36Sopenharmony_ci			opp-microvolt = <1300000 1235000 1650000>;
11562306a36Sopenharmony_ci			clock-latency-ns = <20>;
11662306a36Sopenharmony_ci		};
11762306a36Sopenharmony_ci	};
11862306a36Sopenharmony_ci};
119