From patchwork Thu Feb 19 02:30:00 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Owen Kirby X-Patchwork-Id: 441524 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from arrakis.dune.hu (arrakis.dune.hu [78.24.191.176]) (using TLSv1.1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 747521400DE for ; Thu, 19 Feb 2015 13:33:09 +1100 (AEDT) Received: from arrakis.dune.hu (localhost [127.0.0.1]) by arrakis.dune.hu (Postfix) with ESMTP id 92DCA28C5FD; Thu, 19 Feb 2015 03:31:26 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on arrakis.dune.hu X-Spam-Level: X-Spam-Status: No, score=-1.5 required=5.0 tests=BAYES_00 autolearn=unavailable version=3.3.2 Received: from arrakis.dune.hu (localhost [127.0.0.1]) by arrakis.dune.hu (Postfix) with ESMTP id 8969428C18D for ; Thu, 19 Feb 2015 03:30:20 +0100 (CET) X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 CL_IP_EQ_HELO_IP=-2 (check from: .exegin. - helo: .mail-pa0-f41.google. - helo-domain: .google.) FROM/MX_MATCHES_NOT_HELO(DOMAIN)=1; rate: -5.5 Received: from mail-pa0-f41.google.com (mail-pa0-f41.google.com [209.85.220.41]) by arrakis.dune.hu (Postfix) with ESMTPS for ; Thu, 19 Feb 2015 03:30:19 +0100 (CET) Received: by padfa1 with SMTP id fa1so5913188pad.2 for ; Wed, 18 Feb 2015 18:30:17 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=sSmAL4AuWgD1gyUjFrBcDJjjq7adVj/uhG5DRn5HKjY=; b=a93VJ7l7ToQTQatjbF/Osc2kmXWYkzKCXaUunhopWctXPZhoUbT5nXxYYAzaBr0Bbf XxVChoQyMrdO0ps6UOwJ/t5oi/FTlkR9aDNAzT5ZbMARiywzROWzlGUzhS8jA34osAWT /QnvQ/gwgYlh1K2lMzzZAcC/Ni0/ElX9NEPoDS8zDJFxGyesf/u25/9yJFyMQAm5V2gL woFQ5za98htqjOIF0n5mcn8YfAREdr5nEzFk7s6nZbxRhD9/QTdHTMHu1Wp2PvIziuRj DurPsO+jVief/saJJ/RXBV8YFkI3RxWL97wP58ELPwld3t1EgQQ1BRUa0+a8PisgvHwY bdrw== X-Gm-Message-State: ALoCoQnhsmERAK82a/0TxH+5HnXHWQ8uQPSRaXqTlknw4fYn6Pt+inToqE8/qts2hW4k1vKknF8K X-Received: by 10.70.92.3 with SMTP id ci3mr3443960pdb.147.1424313017496; Wed, 18 Feb 2015 18:30:17 -0800 (PST) Received: from xenon.microplex.com ([184.71.143.130]) by mx.google.com with ESMTPSA id hd4sm21846031pbc.86.2015.02.18.18.30.15 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 18 Feb 2015 18:30:16 -0800 (PST) From: Owen Kirby To: openwrt-devel@lists.openwrt.org Date: Wed, 18 Feb 2015 18:30:00 -0800 Message-Id: <1424313000-22714-4-git-send-email-osk@exegin.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1424313000-22714-1-git-send-email-osk@exegin.com> References: <1424313000-22714-1-git-send-email-osk@exegin.com> Subject: [OpenWrt-Devel] [PATCH 3/3] at91: Add dts for Exegin Q5x boards. X-BeenThere: openwrt-devel@lists.openwrt.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: OpenWrt Development List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: openwrt-devel-bounces@lists.openwrt.org Sender: "openwrt-devel" Signed-off-by: Owen Kirby --- .../at91/files/arch/arm/boot/dts/at91-q5xr5.dts | 193 +++++++++++++++++++++ target/linux/at91/image/Makefile | 4 + .../patches/101-ARM-at91-build-dtb-for-q5xr5.patch | 10 ++ 3 files changed, 207 insertions(+) create mode 100644 target/linux/at91/files/arch/arm/boot/dts/at91-q5xr5.dts create mode 100644 target/linux/at91/patches/101-ARM-at91-build-dtb-for-q5xr5.patch diff --git a/target/linux/at91/files/arch/arm/boot/dts/at91-q5xr5.dts b/target/linux/at91/files/arch/arm/boot/dts/at91-q5xr5.dts new file mode 100644 index 0000000..2aa04ca --- /dev/null +++ b/target/linux/at91/files/arch/arm/boot/dts/at91-q5xr5.dts @@ -0,0 +1,193 @@ +/* + * q5xr5.dts - Device Tree file for Exegin Q5xR5 board + * + * Copyright (C) 2014 Owen Kirby + * + * Licensed under GPLv2. + */ +/dts-v1/; +#include "at91sam9g20.dtsi" + +/ { + model = "Exegin Q5x (rev5)"; + compatible = "exegin,q5xr5", "atmel,at91sam9g20", "atmel,at91sam9"; + + chosen { + bootargs = "console=ttyS0,115200 rootfstype=squashfs,jffs2"; + }; + + memory { + reg = <0x20000000 0x0>; + }; + + clocks { + #address-cells = <1>; + #size-cells = <1>; + ranges; + + main_clock: clock@0 { + compatible = "atmel,osc", "fixed-clock"; + clock-frequency = <18432000>; + }; + + slow_xtal { + clock-frequency = <32768>; + }; + + main_xtal { + clock-frequency = <18432000>; + }; + }; + + ahb { + apb { + pinctrl@fffff400 { + board { + pinctrl_pck0_as_mck: pck0_as_mck { + atmel,pins = <2 1 0x2 0x0>; /* PC1 periph B */ + }; + pinctrl_spi0_npcs0: spi0_npcs0 { + atmel,pins = <0 3 0x1 0x0>; /* PA3 periph A */ + }; + pinctrl_spi0_npcs1: spi0_npcs1 { + atmel,pins = <2 11 0x2 0x0>; /* PC11 periph B */ + }; + pinctrl_spi1_npcs0: spi1_npcs0 { + atmel,pins = <1 3 0x1 0x0>; /* PB3 periph A */ + }; + pinctrl_spi1_npcs1: spi1_npcs1 { + atmel,pins = <2 5 0x2 0x0>; /* PC5 periph B */ + }; + }; + + spi0 { + pinctrl_spi0: spi0-0 { + atmel,pins = + <0 0 0x1 0x0 /* PA0 periph A SPI0_MISO pin */ + 0 1 0x1 0x0 /* PA1 periph A SPI0_MOSI pin */ + 0 2 0x1 0x0>; /* PA2 periph A SPI0_SPCK pin */ + }; + }; + + spi1 { + pinctrl_spi1: spi1-0 { + atmel,pins = + <1 0 0x1 0x0 /* PB0 periph A SPI1_MISO pin */ + 1 1 0x1 0x0 /* PB1 periph A SPI1_MOSI pin */ + 1 2 0x1 0x0>; /* PB2 periph A SPI1_SPCK pin */ + }; + }; + }; + + dbgu: serial@fffff200 { + status = "okay"; + }; + + usart0: serial@fffb0000 { + pinctrl-0 = + <&pinctrl_usart0 + &pinctrl_usart0_rts + &pinctrl_usart0_cts + &pinctrl_usart0_dtr_dsr + &pinctrl_usart0_dcd + &pinctrl_usart0_ri>; + status = "okay"; + }; + + macb0: ethernet@fffc4000 { + phy-mode = "mii"; + status = "okay"; + }; + + usb1: gadget@fffa4000 { + status = "okay"; + }; + + watchdog@fffffd40 { + status = "okay"; + }; + + spi0: spi@fffc8000 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "atmel,at91rm9200-spi"; + reg = <0xfffc8000 0x200>; + interrupts = <12 4 3>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_spi0>; + status = "okay"; + cs-gpios = <&pioA 3 0>, <&pioC 11 1>, <0>, <0>; + + m25p80@0 { + compatible = "sst,sst25vf040b"; + spi-max-frequency = <20000000>; + reg = <0>; + #address-cells = <1>; + #size-cells = <1>; + + at91boot@0 { + label = "at91boot"; + reg = <0x0 0x4000>; + }; + uenv@4000 { + label = "uboot-env"; + reg = <0x4000 0x4000>; + }; + uboot@8000 { + label = "uboot"; + reg = <0x8000 0x3E000>; + }; + }; + spidev@1 { + compatible = "spidev"; + spi-max-frequency = <2000000>; + reg = <1>; + }; + }; + spi1: spi@fffcc000 { + #address-cells = <1>; + #size-cells = <0>; + compatible = "atmel,at91rm9200-spi"; + reg = <0xfffcc000 0x200>; + interrupts = <13 4 3>; + pinctrl-names = "default"; + pinctrl-0 = <&pinctrl_spi1>; + cs-gpios = <&pioB 3 0>, <&pioC 5 1>, <0>, <0>; + status = "okay"; + + spidev@0 { + compatible = "spidev"; + spi-max-frequency = <2000000>; + reg = <0>; + }; + spidev@1 { + compatible = "spidev"; + spi-max-frequency = <2000000>; + reg = <1>; + }; + }; + }; + + usb0: ohci@00500000 { + num-ports = <2>; + status = "okay"; + }; + }; + + flash@10000000 { + compatible = "cfi-flash"; + bank-width = <2>; + reg = <0x10000000 0x00800000>; + #address-cells = <1>; + #size-cells = <1>; + + kernel@0 { + label = "kernel"; + reg = <0x0 0x200000>; + }; + rootfs@200000 { + label = "rootfs"; + reg = <0x200000 0x600000>; + }; + }; +}; diff --git a/target/linux/at91/image/Makefile b/target/linux/at91/image/Makefile index a44489c..f88cab4 100644 --- a/target/linux/at91/image/Makefile +++ b/target/linux/at91/image/Makefile @@ -58,6 +58,9 @@ Image/Build/Kernel/USBA9263=$(call MkuImageDtb,usb_a9263,usb_a9263) Image/Build/Kernel/USBA9G20=$(call MkuImageDtb,usb_a9g20,usb_a9g20) # Ethernut Image/Build/Kernel/ETHERNUT5=$(call MkuImageDtb,ethernut5,ethernut5) +# Exegin +Image/Build/Kernel/Q5XR5=$(call MkOftree,q5xr5,at91-q5xr5) + define Image/Build/Kernel/Default $(call Image/Build/Kernel/AT91SAM9263EK) @@ -78,6 +81,7 @@ define Image/Build/Kernel/Default $(call Image/Build/Kernel/USBA9263) $(call Image/Build/Kernel/USBA9G20) $(call Image/Build/Kernel/ETHERNUT5) + $(call Image/Build/Kernel/Q5XR5) endef define Image/BuildKernel diff --git a/target/linux/at91/patches/101-ARM-at91-build-dtb-for-q5xr5.patch b/target/linux/at91/patches/101-ARM-at91-build-dtb-for-q5xr5.patch new file mode 100644 index 0000000..0465552 --- /dev/null +++ b/target/linux/at91/patches/101-ARM-at91-build-dtb-for-q5xr5.patch @@ -0,0 +1,10 @@ +--- a/arch/arm/boot/dts/Makefile ++++ b/arch/arm/boot/dts/Makefile +@@ -20,6 +20,7 @@ + dtb-$(CONFIG_ARCH_AT91) += usb_a9263.dtb + # sam9g20 + dtb-$(CONFIG_ARCH_AT91) += at91-foxg20.dtb ++dtb-$(CONFIG_ARCH_AT91) += at91-q5xr5.dtb + dtb-$(CONFIG_ARCH_AT91) += at91sam9g20ek.dtb + dtb-$(CONFIG_ARCH_AT91) += at91sam9g20ek_2mmc.dtb + dtb-$(CONFIG_ARCH_AT91) += kizbox.dtb