From patchwork Fri May 13 11:26:28 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexander Shiyan X-Patchwork-Id: 9090691 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 4197CBF29F for ; Fri, 13 May 2016 11:28:52 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 1F8A52022D for ; Fri, 13 May 2016 11:28:51 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 0BB852021A for ; Fri, 13 May 2016 11:28:50 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1b1BFo-0001e2-14; Fri, 13 May 2016 11:27:36 +0000 Received: from smtp38.i.mail.ru ([94.100.177.98]) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1b1BFL-0001LU-8k for linux-arm-kernel@lists.infradead.org; Fri, 13 May 2016 11:27:10 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mail.ru; s=mail2; h=References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From; bh=LlPntzd4JrE0dxD+l93WE6yTNOOJjZSf6O0kOx4Ji1Q=; b=efuYznKShPZPCTsfEB/9BK2tr1D2NmGq/Z7CXBFcq92aezeUMtxvij0U2hZi9xTtGVkEqhCXv9ayUKPn2iSMUxQOWl0S5wPI35sF6KokslRB+m0diawTUFKIyD6s7CnaL4vTXpQ1kJfCkRQxJ+Qt7rn0qhsCFatmvw2uecAZkBQ=; Received: from milas.spb.ru ([217.119.30.118]:52929 helo=shc.milas.spb.ru) by smtp38.i.mail.ru with esmtpa (envelope-from ) id 1b1BEz-0000HZ-AN; Fri, 13 May 2016 14:26:46 +0300 From: Alexander Shiyan To: linux-arm-kernel@lists.infradead.org Subject: [PATCH 3/3] ARM: dts: clps711x: Add basic Cirrus Logic CDB89712 Development board Date: Fri, 13 May 2016 14:26:28 +0300 Message-Id: <1463138788-5390-4-git-send-email-shc_work@mail.ru> X-Mailer: git-send-email 2.4.9 In-Reply-To: <1463138788-5390-1-git-send-email-shc_work@mail.ru> References: <1463138788-5390-1-git-send-email-shc_work@mail.ru> X-Mras: OK X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20160513_042707_978496_349AE9E4 X-CRM114-Status: GOOD ( 17.37 ) X-Spam-Score: -1.9 (-) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , devicetree@vger.kernel.org, Alexander Shiyan , Pawel Moll , Ian Campbell , Russell King , Rob Herring , Kumar Gala MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Spam-Status: No, score=-4.7 required=5.0 tests=BAYES_00,DKIM_SIGNED, FREEMAIL_FROM,RCVD_IN_DNSWL_MED,RCVD_IN_SORBS_WEB,RP_MATCHES_RCVD, T_DKIM_INVALID, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP This adds the Cirrus Logic CLPS711X DT template and support for CDB89712 Development board. http://www.cirrus.com/en/pubs/manual/cdb89712-2.pdf Signed-off-by: Alexander Shiyan --- arch/arm/boot/dts/Makefile | 2 + arch/arm/boot/dts/clps711x-cdb89712.dts | 56 +++++++++ arch/arm/boot/dts/clps711x.dtsi | 201 ++++++++++++++++++++++++++++++++ 3 files changed, 259 insertions(+) create mode 100644 arch/arm/boot/dts/clps711x-cdb89712.dts create mode 100644 arch/arm/boot/dts/clps711x.dtsi diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 95c1923..69de1d5 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -104,6 +104,8 @@ dtb-$(CONFIG_ARCH_BERLIN) += \ berlin2q-marvell-dmp.dtb dtb-$(CONFIG_ARCH_BRCMSTB) += \ bcm7445-bcm97445svmb.dtb +dtb-$(CONFIG_ARCH_CLPS711X) += \ + clps711x-cdb89712.dtb dtb-$(CONFIG_ARCH_DAVINCI) += \ da850-enbw-cmc.dtb \ da850-evm.dtb diff --git a/arch/arm/boot/dts/clps711x-cdb89712.dts b/arch/arm/boot/dts/clps711x-cdb89712.dts new file mode 100644 index 0000000..eaffd7c --- /dev/null +++ b/arch/arm/boot/dts/clps711x-cdb89712.dts @@ -0,0 +1,56 @@ +/* + * 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 "clps711x.dtsi" + +#include + +/ { + model = "Cirrus Logic CS89712 Development Board"; + compatible = "cirrus,cdb89712", "cirrus,cs89712", "cirrus,clps711x"; + + memory { + reg = <0xc0000000 0x01000000>; + }; + + leds { + compatible = "gpio-leds"; + + pd0 { + label = "diagnostic"; + gpios = <&portd 0 GPIO_ACTIVE_HIGH>; + linux,default-trigger = "heartbeat"; + }; + }; +}; + +&bus { + flash: root@00000000 { + compatible = "cfi-flash"; + reg = <0 0x00000000 0x01000000>; + bank-width = <2>; + linux,mtd-name = "physmap-flash.0"; + #address-cells = <1>; + #size-cells = <1>; + }; + + boot: boot@0x70000000 { + compatible = "cfi-flash"; + reg = <7 0x00000000 0x00000080>; + bank-width = <2>; + linux,mtd-name = "physmap-flash.1"; + #address-cells = <1>; + #size-cells = <1>; + }; +}; + +&uart1 { + cts-gpios = <&mctrl 0 GPIO_ACTIVE_LOW>; + dsr-gpios = <&mctrl 1 GPIO_ACTIVE_LOW>; + dcd-gpios = <&mctrl 2 GPIO_ACTIVE_LOW>; + rts-gpios = <&portb 1 GPIO_ACTIVE_LOW>; + rng-gpios = <&portb 2 GPIO_ACTIVE_LOW>; +}; diff --git a/arch/arm/boot/dts/clps711x.dtsi b/arch/arm/boot/dts/clps711x.dtsi new file mode 100644 index 0000000..791eeee --- /dev/null +++ b/arch/arm/boot/dts/clps711x.dtsi @@ -0,0 +1,201 @@ +/* + * 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 + +/ { + model = "Cirrus Logic CLPS711X"; + compatible = "cirrus,clps711x"; + + aliases { + gpio0 = &porta; + gpio1 = &portb; + gpio2 = &portc; + 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,clps711x-clk"; + reg = <0x80000000 0xc000>; + startup-frequency = <73728000>; + }; + + intc: intc@80000000 { + compatible = "cirrus,clps711x-intc"; + reg = <0x80000000 0x4000>; + interrupt-controller; + #interrupt-cells = <1>; + }; + + porta: gpio@80000000 { + compatible = "cirrus,clps711x-gpio"; + reg = <0x80000000 0x1 0x80000040 0x1>; + gpio-controller; + #gpio-cells = <2>; + }; + + portb: gpio@80000001 { + compatible = "cirrus,clps711x-gpio"; + reg = <0x80000001 0x1 0x80000041 0x1>; + gpio-controller; + #gpio-cells = <2>; + }; + + portc: gpio@80000002 { + compatible = "cirrus,clps711x-gpio"; + reg = <0x80000002 0x1 0x80000042 0x1>; + gpio-controller; + #gpio-cells = <2>; + status = "disabled"; + }; + + portd: gpio@80000003 { + compatible = "cirrus,clps711x-gpio"; + reg = <0x80000003 0x1 0x80000043 0x1>; + gpio-controller; + #gpio-cells = <2>; + }; + + porte: gpio@80000083 { + compatible = "cirrus,clps711x-gpio"; + reg = <0x80000083 0x1 0x800000c3 0x1>; + gpio-controller; + #gpio-cells = <2>; + }; + + syscon1: syscon@80000100 { + compatible = "cirrus,clps711x-syscon1", "syscon"; + reg = <0x80000100 0x80>; + }; + + bus: bus@80000180 { + #address-cells = <2>; + #size-cells = <1>; + compatible = "cirrus,clps711x-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,clps711x-fb"; + reg = <0x800002c0 0xd44>, <0x60000000 0xc000>; + clocks = <&clks CLPS711X_CLK_BUS>; + status = "disabled"; + }; + + timer1: timer@80000300 { + compatible = "cirrus,clps711x-timer"; + reg = <0x80000300 0x4>; + clocks = <&clks CLPS711X_CLK_TIMER1>; + interrupts = <8>; + }; + + timer2: timer@80000340 { + compatible = "cirrus,clps711x-timer"; + reg = <0x80000340 0x4>; + clocks = <&clks CLPS711X_CLK_TIMER2>; + interrupts = <9>; + }; + + pwm: pwm@80000400 { + compatible = "cirrus,clps711x-pwm"; + reg = <0x80000400 0x4>; + clocks = <&clks CLPS711X_CLK_PWM>; + #pwm-cells = <1>; + }; + + uart1: uart@80000480 { + compatible = "cirrus,clps711x-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,clps711x-spi"; + reg = <0x80000500 0x4>; + interrupts = <15>; + clocks = <&clks CLPS711X_CLK_SPI>; + status = "disabled"; + }; + + syscon2: syscon@80001100 { + compatible = "cirrus,clps711x-syscon2", "syscon"; + reg = <0x80001100 0x80>; + }; + + uart2: uart@80001480 { + compatible = "cirrus,clps711x-uart"; + reg = <0x80001480 0x80>; + interrupts = <28 29>; + clocks = <&clks CLPS711X_CLK_UART>; + syscon = <&syscon2>; + }; + + dai: dai@80002000 { + #sound-dai-cells = <0>; + compatible = "cirrus,clps711x-dai"; + reg = <0x80002000 0x604>; + clocks = <&clks CLPS711X_CLK_PLL>; + clock-names = "pll"; + interrupts = <32>; + status = "disabled"; + }; + + syscon3: syscon@80002200 { + compatible = "cirrus,clps711x-syscon3", "syscon"; + reg = <0x80002200 0x40>; + }; + }; + + mctrl: mctrl { + compatible = "cirrus,clps711x-mctrl-gpio"; + gpio-controller; + #gpio-cells = <2>; + }; + +};