// SPDX-License-Identifier: GPL-2.0-or-later /* * pxa2xx.dtsi - Device Tree Include file for Marvell PXA2xx family SoC * * Copyright (C) 2011 Marek Vasut <marek.vasut@gmail.com> */ #include "dt-bindings/clock/pxa-clock.h" #define PMGROUP(pin) #pin #define PMMUX(func, pin, af) \ mux- ## func { \ groups = PMGROUP(P ## pin); \ function = #af; \ } #define PMMUX_LPM_LOW(func, pin, af) \ mux- ## func { \ groups = PMGROUP(P ## pin); \ function = #af; \ low-power-disable; \ } #define PMMUX_LPM_HIGH(func, pin, af) \ mux- ## func { \ groups = PMGROUP(P ## pin); \ function = #af; \ low-power-enable; \ } / { #address-cells = <1>; #size-cells = <1>; model = "Marvell PXA2xx family SoC"; compatible = "marvell,pxa2xx"; interrupt-parent = <&pxairq>; aliases { serial0 = &ffuart; serial1 = &btuart; serial2 = &stuart; serial3 = &hwuart; i2c0 = &pwri2c; i2c1 = &pxai2c1; }; cpus { cpu { compatible = "marvell,xscale"; device_type = "cpu"; }; }; pxabus { compatible = "simple-bus"; #address-cells = <1>; #size-cells = <1>; ranges; pxairq: interrupt-controller@40d00000 { #interrupt-cells = <1>; compatible = "marvell,pxa-intc"; interrupt-controller; interrupt-parent; marvell,intc-nr-irqs = <32>; reg = <0x40d00000 0xd0>; }; gpio: gpio@40e00000 { compatible = "mrvl,pxa-gpio"; #address-cells = <0x1>; #size-cells = <0x1>; reg = <0x40e00000 0x10000>; gpio-controller; #gpio-cells = <0x2>; interrupts = <8>, <9>, <10>; interrupt-names = "gpio0", "gpio1", "gpio_mux"; interrupt-controller; #interrupt-cells = <0x2>; ranges; gcb0: gpio@40e00000 { reg = <0x40e00000 0x4>; }; gcb1: gpio@40e00004 { reg = <0x40e00004 0x4>; }; gcb2: gpio@40e00008 { reg = <0x40e00008 0x4>; }; gcb3: gpio@40e0000c { reg = <0x40e0000c 0x4>; }; }; ffuart: serial@40100000 { compatible = "mrvl,pxa-uart"; reg = <0x40100000 0x30>; interrupts = <22>; clocks = <&clks CLK_FFUART>; status = "disabled"; }; btuart: serial@40200000 { compatible = "mrvl,pxa-uart"; reg = <0x40200000 0x30>; interrupts = <21>; clocks = <&clks CLK_BTUART>; status = "disabled"; }; stuart: serial@40700000 { compatible = "mrvl,pxa-uart"; reg = <0x40700000 0x30>; interrupts = <20>; clocks = <&clks CLK_STUART>; status = "disabled"; }; hwuart: serial@41600000 { compatible = "mrvl,pxa-uart"; reg = <0x41600000 0x30>; interrupts = <7>; status = "disabled"; }; pxai2c1: i2c@40301680 { compatible = "mrvl,pxa-i2c"; reg = <0x40301680 0x30>; interrupts = <18>; clocks = <&clks CLK_I2C>; #address-cells = <0x1>; #size-cells = <0>; status = "disabled"; }; mmc0: mmc@41100000 { compatible = "marvell,pxa-mmc"; reg = <0x41100000 0x1000>; interrupts = <23>; clocks = <&clks CLK_MMC>; dmas = <&pdma 21 3 &pdma 22 3>; dma-names = "rx", "tx"; status = "disabled"; }; rtc@40900000 { compatible = "marvell,pxa-rtc"; reg = <0x40900000 0x3c>; interrupts = <30 31>; }; lcdc: lcd-controller@40500000 { compatible = "marvell,pxa2xx-lcdc"; reg = <0x44000000 0x10000>; interrupts = <17>; clocks = <&clks CLK_LCD>; status = "disabled"; }; }; };