0001 // SPDX-License-Identifier: GPL-2.0-or-later
0002 /*
0003 * Copyright (C) 2016 Robert Jarzmik <robert.jarzmik@free.fr>
0004 */
0005 #include "pxa2xx.dtsi"
0006 #include "dt-bindings/clock/pxa-clock.h"
0007
0008 / {
0009 model = "Marvell PXA25x family SoC";
0010 compatible = "marvell,pxa250";
0011
0012 clocks {
0013 /*
0014 * The muxing of external clocks/internal dividers for osc* clock
0015 * sources has been hidden under the carpet by now.
0016 */
0017 #address-cells = <1>;
0018 #size-cells = <1>;
0019 ranges;
0020
0021 clks: pxa2xx_clks@41300004 {
0022 compatible = "marvell,pxa250-core-clocks";
0023 #clock-cells = <1>;
0024 status = "okay";
0025 };
0026
0027 /* timer oscillator */
0028 clktimer: oscillator {
0029 compatible = "fixed-clock";
0030 #clock-cells = <0>;
0031 clock-frequency = <3686400>;
0032 clock-output-names = "ostimer";
0033 };
0034 };
0035
0036 pxabus {
0037 pdma: dma-controller@40000000 {
0038 compatible = "marvell,pdma-1.0";
0039 reg = <0x40000000 0x10000>;
0040 interrupts = <25>;
0041 #dma-cells = <2>;
0042 /* For backwards compatibility: */
0043 #dma-channels = <16>;
0044 dma-channels = <16>;
0045 #dma-requests = <40>;
0046 dma-requests = <40>;
0047 status = "okay";
0048 };
0049
0050 pxairq: interrupt-controller@40d00000 {
0051 marvell,intc-priority;
0052 marvell,intc-nr-irqs = <32>;
0053 };
0054
0055 pinctrl: pinctrl@40e00000 {
0056 reg = <0x40e00054 0x20 0x40e0000c 0xc 0x40e0010c 4
0057 0x40f00020 0x10>;
0058 compatible = "marvell,pxa25x-pinctrl";
0059 };
0060
0061 gpio: gpio@40e00000 {
0062 compatible = "intel,pxa25x-gpio";
0063 gpio-ranges = <&pinctrl 0 0 84>;
0064 clocks = <&clks CLK_NONE>;
0065 };
0066
0067 pwm0: pwm@40b00000 {
0068 compatible = "marvell,pxa250-pwm";
0069 reg = <0x40b00000 0x10>;
0070 #pwm-cells = <1>;
0071 clocks = <&clks CLK_PWM0>;
0072 };
0073
0074 pwm1: pwm@40b00010 {
0075 compatible = "marvell,pxa250-pwm";
0076 reg = <0x40b00010 0x10>;
0077 #pwm-cells = <1>;
0078 clocks = <&clks CLK_PWM1>;
0079 };
0080
0081 rtc@40900000 {
0082 clocks = <&clks CLK_OSC32k768>;
0083 };
0084 };
0085
0086 timer@40a00000 {
0087 compatible = "marvell,pxa-timer";
0088 reg = <0x40a00000 0x20>;
0089 interrupts = <26>;
0090 clocks = <&clktimer>;
0091 status = "okay";
0092 };
0093
0094 pxa250_opp_table: opp_table0 {
0095 compatible = "operating-points-v2";
0096
0097 opp-99532800 {
0098 opp-hz = /bits/ 64 <99532800>;
0099 opp-microvolt = <1000000 950000 1650000>;
0100 clock-latency-ns = <20>;
0101 };
0102 opp-199065600 {
0103 opp-hz = /bits/ 64 <199065600>;
0104 opp-microvolt = <1000000 950000 1650000>;
0105 clock-latency-ns = <20>;
0106 };
0107 opp-298598400 {
0108 opp-hz = /bits/ 64 <298598400>;
0109 opp-microvolt = <1100000 1045000 1650000>;
0110 clock-latency-ns = <20>;
0111 };
0112 opp-398131200 {
0113 opp-hz = /bits/ 64 <398131200>;
0114 opp-microvolt = <1300000 1235000 1650000>;
0115 clock-latency-ns = <20>;
0116 };
0117 };
0118 };