Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: dts: clps711x: Add DT Cirrus Logic EDB7211 Development board

This adds the Cirrus Logic EP7209,EP7211 DT templates and support for
EDB7211 Development board.

Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

authored by

Alexander Shiyan and committed by
Arnd Bergmann
46e6b3aa 8fe9c8b7

+305
+2
arch/arm/boot/dts/Makefile
··· 109 109 berlin2q-marvell-dmp.dtb 110 110 dtb-$(CONFIG_ARCH_BRCMSTB) += \ 111 111 bcm7445-bcm97445svmb.dtb 112 + dtb-$(CONFIG_ARCH_CLPS711X) += \ 113 + ep7211-edb7211.dtb 112 114 dtb-$(CONFIG_ARCH_DAVINCI) += \ 113 115 da850-enbw-cmc.dtb \ 114 116 da850-evm.dtb
+191
arch/arm/boot/dts/ep7209.dtsi
··· 1 + /* 2 + * The code contained herein is licensed under the GNU General Public 3 + * License. You may obtain a copy of the GNU General Public License 4 + * Version 2 or later at the following locations: 5 + */ 6 + 7 + /dts-v1/; 8 + 9 + #include "skeleton.dtsi" 10 + 11 + #include <dt-bindings/clock/clps711x-clock.h> 12 + 13 + / { 14 + model = "Cirrus Logic EP7209"; 15 + compatible = "cirrus,ep7209"; 16 + 17 + aliases { 18 + gpio0 = &porta; 19 + gpio1 = &portb; 20 + gpio3 = &portd; 21 + gpio4 = &porte; 22 + serial0 = &uart1; 23 + serial1 = &uart2; 24 + spi0 = &spi; 25 + timer0 = &timer1; 26 + timer1 = &timer2; 27 + }; 28 + 29 + cpus { 30 + #address-cells = <0>; 31 + #size-cells = <0>; 32 + 33 + cpu { 34 + device_type = "cpu"; 35 + compatible = "arm,arm720t"; 36 + }; 37 + }; 38 + 39 + soc { 40 + #address-cells = <1>; 41 + #size-cells = <1>; 42 + compatible = "simple-bus"; 43 + interrupt-parent = <&intc>; 44 + ranges; 45 + 46 + clks: clks@80000000 { 47 + #clock-cells = <1>; 48 + compatible = "cirrus,ep7209-clk"; 49 + reg = <0x80000000 0xc000>; 50 + startup-frequency = <73728000>; 51 + }; 52 + 53 + intc: intc@80000000 { 54 + compatible = "cirrus,ep7209-intc"; 55 + reg = <0x80000000 0x4000>; 56 + interrupt-controller; 57 + #interrupt-cells = <1>; 58 + }; 59 + 60 + porta: gpio@80000000 { 61 + compatible = "cirrus,ep7209-gpio"; 62 + reg = <0x80000000 0x1 0x80000040 0x1>; 63 + gpio-controller; 64 + #gpio-cells = <2>; 65 + }; 66 + 67 + portb: gpio@80000001 { 68 + compatible = "cirrus,ep7209-gpio"; 69 + reg = <0x80000001 0x1 0x80000041 0x1>; 70 + gpio-controller; 71 + #gpio-cells = <2>; 72 + }; 73 + 74 + portd: gpio@80000003 { 75 + compatible = "cirrus,ep7209-gpio"; 76 + reg = <0x80000003 0x1 0x80000043 0x1>; 77 + gpio-controller; 78 + #gpio-cells = <2>; 79 + }; 80 + 81 + porte: gpio@80000083 { 82 + compatible = "cirrus,ep7209-gpio"; 83 + reg = <0x80000083 0x1 0x800000c3 0x1>; 84 + gpio-controller; 85 + #gpio-cells = <2>; 86 + }; 87 + 88 + syscon1: syscon@80000100 { 89 + compatible = "cirrus,ep7209-syscon1", "syscon"; 90 + reg = <0x80000100 0x80>; 91 + }; 92 + 93 + bus: bus@80000180 { 94 + #address-cells = <2>; 95 + #size-cells = <1>; 96 + compatible = "cirrus,ep7209-bus", "simple-bus"; 97 + clocks = <&clks CLPS711X_CLK_BUS>; 98 + reg = <0x80000180 0x80>; 99 + ranges = < 100 + 0 0 0x00000000 0x10000000 101 + 1 0 0x10000000 0x10000000 102 + 2 0 0x20000000 0x10000000 103 + 3 0 0x30000000 0x10000000 104 + 4 0 0x40000000 0x10000000 105 + 5 0 0x50000000 0x10000000 106 + 6 0 0x60000000 0x0000c000 107 + 7 0 0x70000000 0x00000080 108 + >; 109 + }; 110 + 111 + fb: fb@800002c0 { 112 + compatible = "cirrus,ep7209-fb"; 113 + reg = <0x800002c0 0xd44>, <0x60000000 0xc000>; 114 + clocks = <&clks CLPS711X_CLK_BUS>; 115 + status = "disabled"; 116 + }; 117 + 118 + timer1: timer@80000300 { 119 + compatible = "cirrus,ep7209-timer"; 120 + reg = <0x80000300 0x4>; 121 + clocks = <&clks CLPS711X_CLK_TIMER1>; 122 + interrupts = <8>; 123 + }; 124 + 125 + timer2: timer@80000340 { 126 + compatible = "cirrus,ep7209-timer"; 127 + reg = <0x80000340 0x4>; 128 + clocks = <&clks CLPS711X_CLK_TIMER2>; 129 + interrupts = <9>; 130 + }; 131 + 132 + pwm: pwm@80000400 { 133 + compatible = "cirrus,ep7209-pwm"; 134 + reg = <0x80000400 0x4>; 135 + clocks = <&clks CLPS711X_CLK_PWM>; 136 + #pwm-cells = <1>; 137 + }; 138 + 139 + uart1: uart@80000480 { 140 + compatible = "cirrus,ep7209-uart"; 141 + reg = <0x80000480 0x80>; 142 + interrupts = <12 13>; 143 + clocks = <&clks CLPS711X_CLK_UART>; 144 + syscon = <&syscon1>; 145 + }; 146 + 147 + spi: spi@80000500 { 148 + #address-cells = <1>; 149 + #size-cells = <0>; 150 + compatible = "cirrus,ep7209-spi"; 151 + reg = <0x80000500 0x4>; 152 + interrupts = <15>; 153 + clocks = <&clks CLPS711X_CLK_SPI>; 154 + status = "disabled"; 155 + }; 156 + 157 + syscon2: syscon@80001100 { 158 + compatible = "cirrus,ep7209-syscon2", "syscon"; 159 + reg = <0x80001100 0x80>; 160 + }; 161 + 162 + uart2: uart@80001480 { 163 + compatible = "cirrus,ep7209-uart"; 164 + reg = <0x80001480 0x80>; 165 + interrupts = <28 29>; 166 + clocks = <&clks CLPS711X_CLK_UART>; 167 + syscon = <&syscon2>; 168 + }; 169 + 170 + dai: dai@80002000 { 171 + #sound-dai-cells = <0>; 172 + compatible = "cirrus,ep7209-dai"; 173 + reg = <0x80002000 0x604>; 174 + clocks = <&clks CLPS711X_CLK_PLL>; 175 + clock-names = "pll"; 176 + interrupts = <32>; 177 + status = "disabled"; 178 + }; 179 + 180 + syscon3: syscon@80002200 { 181 + compatible = "cirrus,ep7209-syscon3", "syscon"; 182 + reg = <0x80002200 0x40>; 183 + }; 184 + }; 185 + 186 + mctrl: mctrl { 187 + compatible = "cirrus,ep7209-mctrl-gpio"; 188 + gpio-controller; 189 + #gpio-cells = <2>; 190 + }; 191 + };
+100
arch/arm/boot/dts/ep7211-edb7211.dts
··· 1 + /* 2 + * The code contained herein is licensed under the GNU General Public 3 + * License. You may obtain a copy of the GNU General Public License 4 + * Version 2 or later at the following locations: 5 + */ 6 + 7 + #include "ep7211.dtsi" 8 + #include <dt-bindings/gpio/gpio.h> 9 + 10 + / { 11 + model = "Cirrus Logic EP7211 Development Board"; 12 + compatible = "cirrus,edb7211", "cirrus,ep7211", "cirrus,ep7209"; 13 + 14 + memory { 15 + reg = <0xc0000000 0x02000000>; 16 + }; 17 + 18 + backlight: backlight { 19 + compatible = "pwm-backlight"; 20 + pwms = <&pwm 0>; 21 + brightness-levels = < 22 + 0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 23 + 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 24 + >; 25 + default-brightness-level = <0x0>; 26 + power-supply = <&blen>; 27 + }; 28 + 29 + display: display { 30 + model = "320x240x4"; 31 + native-mode = <&timing0>; 32 + bits-per-pixel = <4>; 33 + ac-prescale = <17>; 34 + 35 + display-timings { 36 + timing0: 320x240 { 37 + hactive = <320>; 38 + hback-porch = <0>; 39 + hfront-porch = <0>; 40 + hsync-len = <0>; 41 + vactive = <240>; 42 + vback-porch = <0>; 43 + vfront-porch = <0>; 44 + vsync-len = <0>; 45 + clock-frequency = <6500000>; 46 + }; 47 + }; 48 + }; 49 + 50 + i2c: i2c { 51 + compatible = "i2c-gpio"; 52 + gpios = <&portd 4 GPIO_ACTIVE_HIGH>, 53 + <&portd 5 GPIO_ACTIVE_HIGH>; 54 + i2c-gpio,delay-us = <2>; 55 + i2c-gpio,scl-output-only; 56 + #address-cells = <1>; 57 + #size-cells = <0>; 58 + }; 59 + 60 + lcddc: lcddc { 61 + compatible = "regulator-fixed"; 62 + regulator-name = "BACKLIGHT ENABLE"; 63 + regulator-min-microvolt = <3300000>; 64 + regulator-max-microvolt = <3300000>; 65 + gpio = <&portd 1 GPIO_ACTIVE_HIGH>; 66 + }; 67 + 68 + blen: blen { 69 + compatible = "regulator-fixed"; 70 + regulator-name = "BACKLIGHT ENABLE"; 71 + regulator-min-microvolt = <3300000>; 72 + regulator-max-microvolt = <3300000>; 73 + gpio = <&portd 3 GPIO_ACTIVE_HIGH>; 74 + }; 75 + }; 76 + 77 + &bus { 78 + flash: nor@00000000 { 79 + compatible = "cfi-flash"; 80 + reg = <0 0x00000000 0x02000000>; 81 + bank-width = <2>; 82 + #address-cells = <1>; 83 + #size-cells = <1>; 84 + }; 85 + }; 86 + 87 + &fb { 88 + display = <&display>; 89 + lcd-supply = <&lcddc>; 90 + status = "okay"; 91 + }; 92 + 93 + &portd { 94 + lcden { 95 + gpio-hog; 96 + gpios = <2 GPIO_ACTIVE_HIGH>; 97 + output-high; 98 + line-name = "LCD ENABLE"; 99 + }; 100 + };
+12
arch/arm/boot/dts/ep7211.dtsi
··· 1 + /* 2 + * The code contained herein is licensed under the GNU General Public 3 + * License. You may obtain a copy of the GNU General Public License 4 + * Version 2 or later at the following locations: 5 + */ 6 + 7 + #include "ep7209.dtsi" 8 + 9 + / { 10 + model = "Cirrus Logic EP7211"; 11 + compatible = "cirrus,ep7211", "cirrus,ep7209"; 12 + };