Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 46e6b3aa authored by Alexander Shiyan's avatar Alexander Shiyan Committed by Arnd Bergmann
Browse files

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: default avatarAlexander Shiyan <shc_work@mail.ru>
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parent 8fe9c8b7
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -109,6 +109,8 @@ dtb-$(CONFIG_ARCH_BERLIN) += \
	berlin2q-marvell-dmp.dtb
dtb-$(CONFIG_ARCH_BRCMSTB) += \
	bcm7445-bcm97445svmb.dtb
dtb-$(CONFIG_ARCH_CLPS711X) += \
	ep7211-edb7211.dtb
dtb-$(CONFIG_ARCH_DAVINCI) += \
	da850-enbw-cmc.dtb \
	da850-evm.dtb
+191 −0
Original line number Diff line number Diff line
/*
 * The code contained herein is licensed under the GNU General Public
 * License. You may obtain a copy of the GNU General Public License
 * Version 2 or later at the following locations:
 */

/dts-v1/;

#include "skeleton.dtsi"

#include <dt-bindings/clock/clps711x-clock.h>

/ {
	model = "Cirrus Logic EP7209";
	compatible = "cirrus,ep7209";

	aliases {
		gpio0 = &porta;
		gpio1 = &portb;
		gpio3 = &portd;
		gpio4 = &porte;
		serial0 = &uart1;
		serial1 = &uart2;
		spi0 = &spi;
		timer0 = &timer1;
		timer1 = &timer2;
	};

	cpus {
		#address-cells = <0>;
		#size-cells = <0>;

		cpu {
			device_type = "cpu";
			compatible = "arm,arm720t";
		};
	};

	soc {
		#address-cells = <1>;
		#size-cells = <1>;
		compatible = "simple-bus";
		interrupt-parent = <&intc>;
		ranges;

		clks: clks@80000000 {
			#clock-cells = <1>;
			compatible = "cirrus,ep7209-clk";
			reg = <0x80000000 0xc000>;
			startup-frequency = <73728000>;
		};

		intc: intc@80000000 {
			compatible = "cirrus,ep7209-intc";
			reg = <0x80000000 0x4000>;
			interrupt-controller;
			#interrupt-cells = <1>;
		};

		porta: gpio@80000000 {
			compatible = "cirrus,ep7209-gpio";
			reg = <0x80000000 0x1 0x80000040 0x1>;
			gpio-controller;
			#gpio-cells = <2>;
		};

		portb: gpio@80000001 {
			compatible = "cirrus,ep7209-gpio";
			reg = <0x80000001 0x1 0x80000041 0x1>;
			gpio-controller;
			#gpio-cells = <2>;
		};

		portd: gpio@80000003 {
			compatible = "cirrus,ep7209-gpio";
			reg = <0x80000003 0x1 0x80000043 0x1>;
			gpio-controller;
			#gpio-cells = <2>;
		};

		porte: gpio@80000083 {
			compatible = "cirrus,ep7209-gpio";
			reg = <0x80000083 0x1 0x800000c3 0x1>;
			gpio-controller;
			#gpio-cells = <2>;
		};

		syscon1: syscon@80000100 {
			compatible = "cirrus,ep7209-syscon1", "syscon";
			reg = <0x80000100 0x80>;
		};

		bus: bus@80000180 {
			#address-cells = <2>;
			#size-cells = <1>;
			compatible = "cirrus,ep7209-bus", "simple-bus";
			clocks = <&clks CLPS711X_CLK_BUS>;
			reg = <0x80000180 0x80>;
			ranges = <
				0 0 0x00000000 0x10000000
				1 0 0x10000000 0x10000000
				2 0 0x20000000 0x10000000
				3 0 0x30000000 0x10000000
				4 0 0x40000000 0x10000000
				5 0 0x50000000 0x10000000
				6 0 0x60000000 0x0000c000
				7 0 0x70000000 0x00000080
			>;
		};

		fb: fb@800002c0 {
			compatible = "cirrus,ep7209-fb";
			reg = <0x800002c0 0xd44>, <0x60000000 0xc000>;
			clocks = <&clks CLPS711X_CLK_BUS>;
			status = "disabled";
		};

		timer1: timer@80000300 {
			compatible = "cirrus,ep7209-timer";
			reg = <0x80000300 0x4>;
			clocks = <&clks CLPS711X_CLK_TIMER1>;
			interrupts = <8>;
		};

		timer2: timer@80000340 {
			compatible = "cirrus,ep7209-timer";
			reg = <0x80000340 0x4>;
			clocks = <&clks CLPS711X_CLK_TIMER2>;
			interrupts = <9>;
		};

		pwm: pwm@80000400 {
			compatible = "cirrus,ep7209-pwm";
			reg = <0x80000400 0x4>;
			clocks = <&clks CLPS711X_CLK_PWM>;
			#pwm-cells = <1>;
		};

		uart1: uart@80000480 {
			compatible = "cirrus,ep7209-uart";
			reg = <0x80000480 0x80>;
			interrupts = <12 13>;
			clocks = <&clks CLPS711X_CLK_UART>;
			syscon = <&syscon1>;
		};

		spi: spi@80000500 {
			#address-cells = <1>;
			#size-cells = <0>;
			compatible = "cirrus,ep7209-spi";
			reg = <0x80000500 0x4>;
			interrupts = <15>;
			clocks = <&clks CLPS711X_CLK_SPI>;
			status = "disabled";
		};

		syscon2: syscon@80001100 {
			compatible = "cirrus,ep7209-syscon2", "syscon";
			reg = <0x80001100 0x80>;
		};

		uart2: uart@80001480 {
			compatible = "cirrus,ep7209-uart";
			reg = <0x80001480 0x80>;
			interrupts = <28 29>;
			clocks = <&clks CLPS711X_CLK_UART>;
			syscon = <&syscon2>;
		};

		dai: dai@80002000 {
			#sound-dai-cells = <0>;
			compatible = "cirrus,ep7209-dai";
			reg = <0x80002000 0x604>;
			clocks = <&clks CLPS711X_CLK_PLL>;
			clock-names = "pll";
			interrupts = <32>;
			status = "disabled";
		};

		syscon3: syscon@80002200 {
			compatible = "cirrus,ep7209-syscon3", "syscon";
			reg = <0x80002200 0x40>;
		};
	};

	mctrl: mctrl {
		compatible = "cirrus,ep7209-mctrl-gpio";
		gpio-controller;
		#gpio-cells = <2>;
	};
};
+100 −0
Original line number Diff line number Diff line
/*
 * The code contained herein is licensed under the GNU General Public
 * License. You may obtain a copy of the GNU General Public License
 * Version 2 or later at the following locations:
 */

#include "ep7211.dtsi"
#include <dt-bindings/gpio/gpio.h>

/ {
	model = "Cirrus Logic EP7211 Development Board";
	compatible = "cirrus,edb7211", "cirrus,ep7211", "cirrus,ep7209";

	memory {
		reg = <0xc0000000 0x02000000>;
	};

	backlight: backlight {
		compatible = "pwm-backlight";
		pwms = <&pwm 0>;
		brightness-levels = <
			0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7
			0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf
		>;
		default-brightness-level = <0x0>;
		power-supply = <&blen>;
	};

	display: display {
		model = "320x240x4";
		native-mode = <&timing0>;
		bits-per-pixel = <4>;
		ac-prescale = <17>;

		display-timings {
			timing0: 320x240 {
				hactive = <320>;
				hback-porch = <0>;
				hfront-porch = <0>;
				hsync-len = <0>;
				vactive = <240>;
				vback-porch = <0>;
				vfront-porch = <0>;
				vsync-len = <0>;
				clock-frequency = <6500000>;
			};
		};
	};

	i2c: i2c {
		compatible = "i2c-gpio";
		gpios = <&portd 4 GPIO_ACTIVE_HIGH>,
			<&portd 5 GPIO_ACTIVE_HIGH>;
		i2c-gpio,delay-us = <2>;
		i2c-gpio,scl-output-only;
		#address-cells = <1>;
		#size-cells = <0>;
	};

	lcddc: lcddc {
		compatible = "regulator-fixed";
		regulator-name = "BACKLIGHT ENABLE";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		gpio = <&portd 1 GPIO_ACTIVE_HIGH>;
	};

	blen: blen {
		compatible = "regulator-fixed";
		regulator-name = "BACKLIGHT ENABLE";
		regulator-min-microvolt = <3300000>;
		regulator-max-microvolt = <3300000>;
		gpio = <&portd 3 GPIO_ACTIVE_HIGH>;
	};
};

&bus {
	flash: nor@00000000 {
		compatible = "cfi-flash";
		reg = <0 0x00000000 0x02000000>;
		bank-width = <2>;
		#address-cells = <1>;
		#size-cells = <1>;
	};
};

&fb {
	display = <&display>;
	lcd-supply = <&lcddc>;
	status = "okay";
};

&portd {
	lcden {
		gpio-hog;
		gpios = <2 GPIO_ACTIVE_HIGH>;
		output-high;
		line-name = "LCD ENABLE";
	};
};
+12 −0
Original line number Diff line number Diff line
/*
 * The code contained herein is licensed under the GNU General Public
 * License. You may obtain a copy of the GNU General Public License
 * Version 2 or later at the following locations:
 */

#include "ep7209.dtsi"

/ {
	model = "Cirrus Logic EP7211";
	compatible = "cirrus,ep7211", "cirrus,ep7209";
};