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