/* The pxa3xx skeleton simply augments the 2xx version */
#include "pxa2xx.dtsi"
#include "dt-bindings/clock/pxa-clock.h"

/ {
	model = "Marvell PXA27x familiy SoC";
	compatible = "marvell,pxa27x";

	pxabus {
		pxairq: interrupt-controller@40d00000 {
			marvell,intc-priority;
			marvell,intc-nr-irqs = <34>;
		};

		gpio: gpio@40e00000 {
			compatible = "intel,pxa27x-gpio";
			clocks = <&clks CLK_NONE>;
		};

		pwm0: pwm@40b00000 {
			compatible = "marvell,pxa270-pwm", "marvell,pxa250-pwm";
			reg = <0x40b00000 0x10>;
			#pwm-cells = <1>;
			clocks = <&clks CLK_PWM0>;
		};

		pwm1: pwm@40b00010 {
			compatible = "marvell,pxa270-pwm", "marvell,pxa250-pwm";
			reg = <0x40b00010 0x10>;
			#pwm-cells = <1>;
			clocks = <&clks CLK_PWM1>;
		};

		pwm2: pwm@40c00000 {
			compatible = "marvell,pxa270-pwm", "marvell,pxa250-pwm";
			reg = <0x40c00000 0x10>;
			#pwm-cells = <1>;
			clocks = <&clks CLK_PWM0>;
		};

		pwm3: pwm@40c00010 {
			compatible = "marvell,pxa270-pwm", "marvell,pxa250-pwm";
			reg = <0x40c00010 0x10>;
			#pwm-cells = <1>;
			clocks = <&clks CLK_PWM1>;
		};

		pwri2c: i2c@40f000180 {
			compatible = "mrvl,pxa-i2c";
			reg = <0x40f00180 0x24>;
			interrupts = <6>;
			clocks = <&clks CLK_PWRI2C>;
			status = "disabled";
		};

		pxa27x_udc: udc@40600000 {
			compatible = "marvell,pxa270-udc";
			reg = <0x40600000 0x10000>;
			interrupts = <11>;
			clocks = <&clks CLK_USB>;
			status = "disabled";
		};

		keypad: keypad@41500000 {
			compatible = "marvell,pxa27x-keypad";
			reg = <0x41500000 0x4c>;
			interrupts = <4>;
			clocks = <&clks CLK_KEYPAD>;
			status = "disabled";
		};
	};

	clocks {
	       /*
		* The muxing of external clocks/internal dividers for osc* clock
		* sources has been hidden under the carpet by now.
		*/
		#address-cells = <1>;
		#size-cells = <1>;
		ranges;

		clks: pxa2xx_clks@41300004 {
			compatible = "marvell,pxa270-clocks";
			#clock-cells = <1>;
			status = "okay";
		};
	};

	timer@40a00000 {
		compatible = "marvell,pxa-timer";
		reg = <0x40a00000 0x20>;
		interrupts = <26>;
		clocks = <&clks CLK_OSTIMER>;
		status = "okay";
	};
};
