1*f126890aSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-or-later 2*f126890aSEmmanuel Vadot/* 3*f126890aSEmmanuel Vadot * pxa2xx.dtsi - Device Tree Include file for Marvell PXA2xx family SoC 4*f126890aSEmmanuel Vadot * 5*f126890aSEmmanuel Vadot * Copyright (C) 2011 Marek Vasut <marek.vasut@gmail.com> 6*f126890aSEmmanuel Vadot */ 7*f126890aSEmmanuel Vadot 8*f126890aSEmmanuel Vadot#include "dt-bindings/clock/pxa-clock.h" 9*f126890aSEmmanuel Vadot 10*f126890aSEmmanuel Vadot#define PMGROUP(pin) #pin 11*f126890aSEmmanuel Vadot#define PMMUX(func, pin, af) \ 12*f126890aSEmmanuel Vadot mux- ## func { \ 13*f126890aSEmmanuel Vadot groups = PMGROUP(P ## pin); \ 14*f126890aSEmmanuel Vadot function = #af; \ 15*f126890aSEmmanuel Vadot } 16*f126890aSEmmanuel Vadot#define PMMUX_LPM_LOW(func, pin, af) \ 17*f126890aSEmmanuel Vadot mux- ## func { \ 18*f126890aSEmmanuel Vadot groups = PMGROUP(P ## pin); \ 19*f126890aSEmmanuel Vadot function = #af; \ 20*f126890aSEmmanuel Vadot low-power-disable; \ 21*f126890aSEmmanuel Vadot } 22*f126890aSEmmanuel Vadot#define PMMUX_LPM_HIGH(func, pin, af) \ 23*f126890aSEmmanuel Vadot mux- ## func { \ 24*f126890aSEmmanuel Vadot groups = PMGROUP(P ## pin); \ 25*f126890aSEmmanuel Vadot function = #af; \ 26*f126890aSEmmanuel Vadot low-power-enable; \ 27*f126890aSEmmanuel Vadot } 28*f126890aSEmmanuel Vadot 29*f126890aSEmmanuel Vadot/ { 30*f126890aSEmmanuel Vadot #address-cells = <1>; 31*f126890aSEmmanuel Vadot #size-cells = <1>; 32*f126890aSEmmanuel Vadot model = "Marvell PXA2xx family SoC"; 33*f126890aSEmmanuel Vadot compatible = "marvell,pxa2xx"; 34*f126890aSEmmanuel Vadot interrupt-parent = <&pxairq>; 35*f126890aSEmmanuel Vadot 36*f126890aSEmmanuel Vadot aliases { 37*f126890aSEmmanuel Vadot serial0 = &ffuart; 38*f126890aSEmmanuel Vadot serial1 = &btuart; 39*f126890aSEmmanuel Vadot serial2 = &stuart; 40*f126890aSEmmanuel Vadot serial3 = &hwuart; 41*f126890aSEmmanuel Vadot i2c0 = &pwri2c; 42*f126890aSEmmanuel Vadot i2c1 = &pxai2c1; 43*f126890aSEmmanuel Vadot }; 44*f126890aSEmmanuel Vadot 45*f126890aSEmmanuel Vadot cpus { 46*f126890aSEmmanuel Vadot cpu { 47*f126890aSEmmanuel Vadot compatible = "marvell,xscale"; 48*f126890aSEmmanuel Vadot device_type = "cpu"; 49*f126890aSEmmanuel Vadot }; 50*f126890aSEmmanuel Vadot }; 51*f126890aSEmmanuel Vadot 52*f126890aSEmmanuel Vadot pxabus { 53*f126890aSEmmanuel Vadot compatible = "simple-bus"; 54*f126890aSEmmanuel Vadot #address-cells = <1>; 55*f126890aSEmmanuel Vadot #size-cells = <1>; 56*f126890aSEmmanuel Vadot ranges; 57*f126890aSEmmanuel Vadot 58*f126890aSEmmanuel Vadot pxairq: interrupt-controller@40d00000 { 59*f126890aSEmmanuel Vadot #interrupt-cells = <1>; 60*f126890aSEmmanuel Vadot compatible = "marvell,pxa-intc"; 61*f126890aSEmmanuel Vadot interrupt-controller; 62*f126890aSEmmanuel Vadot interrupt-parent; 63*f126890aSEmmanuel Vadot marvell,intc-nr-irqs = <32>; 64*f126890aSEmmanuel Vadot reg = <0x40d00000 0xd0>; 65*f126890aSEmmanuel Vadot }; 66*f126890aSEmmanuel Vadot 67*f126890aSEmmanuel Vadot gpio: gpio@40e00000 { 68*f126890aSEmmanuel Vadot compatible = "mrvl,pxa-gpio"; 69*f126890aSEmmanuel Vadot #address-cells = <0x1>; 70*f126890aSEmmanuel Vadot #size-cells = <0x1>; 71*f126890aSEmmanuel Vadot reg = <0x40e00000 0x10000>; 72*f126890aSEmmanuel Vadot gpio-controller; 73*f126890aSEmmanuel Vadot #gpio-cells = <0x2>; 74*f126890aSEmmanuel Vadot interrupts = <8>, <9>, <10>; 75*f126890aSEmmanuel Vadot interrupt-names = "gpio0", "gpio1", "gpio_mux"; 76*f126890aSEmmanuel Vadot interrupt-controller; 77*f126890aSEmmanuel Vadot #interrupt-cells = <0x2>; 78*f126890aSEmmanuel Vadot ranges; 79*f126890aSEmmanuel Vadot 80*f126890aSEmmanuel Vadot gcb0: gpio@40e00000 { 81*f126890aSEmmanuel Vadot reg = <0x40e00000 0x4>; 82*f126890aSEmmanuel Vadot }; 83*f126890aSEmmanuel Vadot 84*f126890aSEmmanuel Vadot gcb1: gpio@40e00004 { 85*f126890aSEmmanuel Vadot reg = <0x40e00004 0x4>; 86*f126890aSEmmanuel Vadot }; 87*f126890aSEmmanuel Vadot 88*f126890aSEmmanuel Vadot gcb2: gpio@40e00008 { 89*f126890aSEmmanuel Vadot reg = <0x40e00008 0x4>; 90*f126890aSEmmanuel Vadot }; 91*f126890aSEmmanuel Vadot gcb3: gpio@40e0000c { 92*f126890aSEmmanuel Vadot reg = <0x40e0000c 0x4>; 93*f126890aSEmmanuel Vadot }; 94*f126890aSEmmanuel Vadot }; 95*f126890aSEmmanuel Vadot 96*f126890aSEmmanuel Vadot ffuart: serial@40100000 { 97*f126890aSEmmanuel Vadot compatible = "mrvl,pxa-uart"; 98*f126890aSEmmanuel Vadot reg = <0x40100000 0x30>; 99*f126890aSEmmanuel Vadot interrupts = <22>; 100*f126890aSEmmanuel Vadot clocks = <&clks CLK_FFUART>; 101*f126890aSEmmanuel Vadot status = "disabled"; 102*f126890aSEmmanuel Vadot }; 103*f126890aSEmmanuel Vadot 104*f126890aSEmmanuel Vadot btuart: serial@40200000 { 105*f126890aSEmmanuel Vadot compatible = "mrvl,pxa-uart"; 106*f126890aSEmmanuel Vadot reg = <0x40200000 0x30>; 107*f126890aSEmmanuel Vadot interrupts = <21>; 108*f126890aSEmmanuel Vadot clocks = <&clks CLK_BTUART>; 109*f126890aSEmmanuel Vadot status = "disabled"; 110*f126890aSEmmanuel Vadot }; 111*f126890aSEmmanuel Vadot 112*f126890aSEmmanuel Vadot stuart: serial@40700000 { 113*f126890aSEmmanuel Vadot compatible = "mrvl,pxa-uart"; 114*f126890aSEmmanuel Vadot reg = <0x40700000 0x30>; 115*f126890aSEmmanuel Vadot interrupts = <20>; 116*f126890aSEmmanuel Vadot clocks = <&clks CLK_STUART>; 117*f126890aSEmmanuel Vadot status = "disabled"; 118*f126890aSEmmanuel Vadot }; 119*f126890aSEmmanuel Vadot 120*f126890aSEmmanuel Vadot hwuart: serial@41600000 { 121*f126890aSEmmanuel Vadot compatible = "mrvl,pxa-uart"; 122*f126890aSEmmanuel Vadot reg = <0x41600000 0x30>; 123*f126890aSEmmanuel Vadot interrupts = <7>; 124*f126890aSEmmanuel Vadot status = "disabled"; 125*f126890aSEmmanuel Vadot }; 126*f126890aSEmmanuel Vadot 127*f126890aSEmmanuel Vadot pxai2c1: i2c@40301680 { 128*f126890aSEmmanuel Vadot compatible = "mrvl,pxa-i2c"; 129*f126890aSEmmanuel Vadot reg = <0x40301680 0x30>; 130*f126890aSEmmanuel Vadot interrupts = <18>; 131*f126890aSEmmanuel Vadot clocks = <&clks CLK_I2C>; 132*f126890aSEmmanuel Vadot #address-cells = <0x1>; 133*f126890aSEmmanuel Vadot #size-cells = <0>; 134*f126890aSEmmanuel Vadot status = "disabled"; 135*f126890aSEmmanuel Vadot }; 136*f126890aSEmmanuel Vadot 137*f126890aSEmmanuel Vadot mmc0: mmc@41100000 { 138*f126890aSEmmanuel Vadot compatible = "marvell,pxa-mmc"; 139*f126890aSEmmanuel Vadot reg = <0x41100000 0x1000>; 140*f126890aSEmmanuel Vadot interrupts = <23>; 141*f126890aSEmmanuel Vadot clocks = <&clks CLK_MMC>; 142*f126890aSEmmanuel Vadot dmas = <&pdma 21 3 143*f126890aSEmmanuel Vadot &pdma 22 3>; 144*f126890aSEmmanuel Vadot dma-names = "rx", "tx"; 145*f126890aSEmmanuel Vadot status = "disabled"; 146*f126890aSEmmanuel Vadot }; 147*f126890aSEmmanuel Vadot 148*f126890aSEmmanuel Vadot rtc@40900000 { 149*f126890aSEmmanuel Vadot compatible = "marvell,pxa-rtc"; 150*f126890aSEmmanuel Vadot reg = <0x40900000 0x3c>; 151*f126890aSEmmanuel Vadot interrupts = <30 31>; 152*f126890aSEmmanuel Vadot }; 153*f126890aSEmmanuel Vadot 154*f126890aSEmmanuel Vadot lcdc: lcd-controller@40500000 { 155*f126890aSEmmanuel Vadot compatible = "marvell,pxa2xx-lcdc"; 156*f126890aSEmmanuel Vadot reg = <0x44000000 0x10000>; 157*f126890aSEmmanuel Vadot interrupts = <17>; 158*f126890aSEmmanuel Vadot clocks = <&clks CLK_LCD>; 159*f126890aSEmmanuel Vadot status = "disabled"; 160*f126890aSEmmanuel Vadot }; 161*f126890aSEmmanuel Vadot }; 162*f126890aSEmmanuel Vadot}; 163