From patchwork Wed Feb 18 14:59:36 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pantelis Antoniou X-Patchwork-Id: 5844511 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 733F6BF440 for ; Wed, 18 Feb 2015 15:04:15 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 7EEBC2015E for ; Wed, 18 Feb 2015 15:04:13 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 76D6A201FE for ; Wed, 18 Feb 2015 15:04:12 +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 1YO68M-0003BL-6C; Wed, 18 Feb 2015 15:01:50 +0000 Received: from mail-we0-f182.google.com ([74.125.82.182]) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1YO66s-0001FR-1y for linux-arm-kernel@lists.infradead.org; Wed, 18 Feb 2015 15:00:21 +0000 Received: by wevm14 with SMTP id m14so1641528wev.8 for ; Wed, 18 Feb 2015 06:59:55 -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=zk+/jI3Hj4gO13DuOzdD5cPenbBa8ofo3hYL1A2HoE8=; b=TmMHZQAQSmDEUTzsCOzKEz4ud5eNBErUjTa3ERvmN20O00SBp0pqsowe3zkOlNyisy 7yYiOF4Yk0npEySgH1C3B27pI1vMUhL8AtQaQ2j2UiQlykOEjNOtIRQ+9zgV19l0Ukb9 W8oLW7bCoIRIA/6bURrOrafZJ5aAEv67QEjuo8y5PmIrQSlxhHX7Fevkj8erYNGQ3NQm ocInTxOHrzMr7QwaXf8dt+dkOZ2Qwz6R8ZrTPJknX/9NFSyUNcIWBXrrbRnbmIS6jpSa PFZoWrPsxzziYikwous0cq+vriphJeY0ru9hfMqUt35I0vsejTEG/5q3JoXCFnL8uHmA cGyA== X-Gm-Message-State: ALoCoQkSDumx+LX7/A8MKcNSnQe5e3/cOGQUpewHd51OnjRdNa/JqtQcyxoSFq/uIP0EBWEs6+Au X-Received: by 10.194.71.175 with SMTP id w15mr66656886wju.16.1424271595387; Wed, 18 Feb 2015 06:59:55 -0800 (PST) Received: from sles11esa.localdomain ([195.97.110.117]) by mx.google.com with ESMTPSA id gm2sm19752711wib.5.2015.02.18.06.59.51 (version=TLSv1 cipher=RC4-SHA bits=128/128); Wed, 18 Feb 2015 06:59:54 -0800 (PST) From: Pantelis Antoniou To: Grant Likely Subject: [PATCH 4/4] arm: dts: Common Black/White Beaglebone DTS using quirks Date: Wed, 18 Feb 2015 16:59:36 +0200 Message-Id: <1424271576-1952-5-git-send-email-pantelis.antoniou@konsulko.com> X-Mailer: git-send-email 1.7.12 In-Reply-To: <1424271576-1952-1-git-send-email-pantelis.antoniou@konsulko.com> References: <1424271576-1952-1-git-send-email-pantelis.antoniou@konsulko.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20150218_070018_462215_E4F07C7E X-CRM114-Status: GOOD ( 11.79 ) X-Spam-Score: 0.3 (/) Cc: devicetree@vger.kernel.org, Tony Lindgren , Pantelis Antoniou , Koen Kooi , Nicolas Ferre , linux-kernel@vger.kernel.org, Ludovic Desroches , linux-arm-kernel@lists.infradead.org, Pantelis Antoniou , Matt Porter , Guenter Roeck X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , 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.2 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_MED, T_RP_MATCHES_RCVD, 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 A common DTS for both beaglebone white/black, using DT quirks for board selection at runtime. Signed-off-by: Pantelis Antoniou --- arch/arm/boot/dts/Makefile | 3 +- arch/arm/boot/dts/am335x-bone-all.dts | 157 ++++++++++++++++++++++++++++++++++ 2 files changed, 159 insertions(+), 1 deletion(-) create mode 100644 arch/arm/boot/dts/am335x-bone-all.dts diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index e8ce368..fade89b 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -359,7 +359,8 @@ dtb-$(CONFIG_SOC_AM33XX) += am335x-base0033.dtb \ am335x-evmsk.dtb \ am335x-nano.dtb \ am335x-pepper.dtb \ - am335x-lxm.dtb + am335x-lxm.dtb \ + am335x-bone-all.dtb dtb-$(CONFIG_ARCH_OMAP4) += omap4-duovero-parlor.dtb \ omap4-panda.dtb \ omap4-panda-a4.dtb \ diff --git a/arch/arm/boot/dts/am335x-bone-all.dts b/arch/arm/boot/dts/am335x-bone-all.dts new file mode 100644 index 0000000..1f96903 --- /dev/null +++ b/arch/arm/boot/dts/am335x-bone-all.dts @@ -0,0 +1,157 @@ +/* + */ +/dts-v1/; + +#include "am33xx.dtsi" +#include "am335x-bone-common.dtsi" + +/* XXX boneblack */ + +/ { + model = "TI AM335x BeagleBone White/Black"; + compatible = "ti,am335x-bone", "ti,am33xx"; + + beaglebone-quirks { + compatible = "ti,am33xx-bone-quirk"; + status = "okay"; + + revs { + white { + board-id = "A335BONE"; + board-apply = <&bonewhite>; + }; + black { + board-id = "A335BNLT"; + board-apply = <&boneblack>; + options { + no-emmc = <0 &black_enable_emmc>; + no-hdmi = <0 &black_enable_hdmi>; + }; + }; + }; + + overlays { + bonewhite: bonewhite { + fragment@0 { + target = <&ldo3_reg>; + __overlay__ { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <3300000>; + regulator-always-on; + }; + }; + fragment@1 { + target = <&mmc1>; + __overlay__ { + vmmc-supply = <&ldo3_reg>; + }; + }; + fragment@2 { + target = <&sham>; + __overlay__ { + status = "okay"; + }; + }; + fragment@3 { + target = <&aes>; + __overlay__ { + status = "okay"; + }; + }; + }; + + boneblack: boneblack { + fragment@0 { + target = <&ldo3_reg>; + __overlay__ { + regulator-min-microvolt = <1800000>; + regulator-max-microvolt = <1800000>; + regulator-always-on; + }; + }; + fragment@1 { + target = <&mmc1>; + __overlay__ { + vmmc-supply = <&vmmcsd_fixed>; + }; + }; + fragment@6 { + target = <&rtc>; + __overlay__ { + system-power-controller; + }; + }; + }; + + black_enable_hdmi: black_hdmi { + fragment@0 { + target = <&am33xx_pinmux>; + __overlay__ { + nxp_hdmi_bonelt_pins: nxp_hdmi_bonelt_pins { + pinctrl-single,pins = < + 0x1b0 0x03 /* xdma_event_intr0, OMAP_MUX_MODE3 | AM33XX_PIN_OUTPUT */ + 0xa0 0x08 /* lcd_data0.lcd_data0, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */ + 0xa4 0x08 /* lcd_data1.lcd_data1, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */ + 0xa8 0x08 /* lcd_data2.lcd_data2, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */ + 0xac 0x08 /* lcd_data3.lcd_data3, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */ + 0xb0 0x08 /* lcd_data4.lcd_data4, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */ + 0xb4 0x08 /* lcd_data5.lcd_data5, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */ + 0xb8 0x08 /* lcd_data6.lcd_data6, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */ + 0xbc 0x08 /* lcd_data7.lcd_data7, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */ + 0xc0 0x08 /* lcd_data8.lcd_data8, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */ + 0xc4 0x08 /* lcd_data9.lcd_data9, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */ + 0xc8 0x08 /* lcd_data10.lcd_data10, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */ + 0xcc 0x08 /* lcd_data11.lcd_data11, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */ + 0xd0 0x08 /* lcd_data12.lcd_data12, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */ + 0xd4 0x08 /* lcd_data13.lcd_data13, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */ + 0xd8 0x08 /* lcd_data14.lcd_data14, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */ + 0xdc 0x08 /* lcd_data15.lcd_data15, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT | AM33XX_PULL_DISA */ + 0xe0 0x00 /* lcd_vsync.lcd_vsync, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT */ + 0xe4 0x00 /* lcd_hsync.lcd_hsync, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT */ + 0xe8 0x00 /* lcd_pclk.lcd_pclk, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT */ + 0xec 0x00 /* lcd_ac_bias_en.lcd_ac_bias_en, OMAP_MUX_MODE0 | AM33XX_PIN_OUTPUT */ + >; + }; + nxp_hdmi_bonelt_off_pins: nxp_hdmi_bonelt_off_pins { + pinctrl-single,pins = < + 0x1b0 0x03 /* xdma_event_intr0, OMAP_MUX_MODE3 | AM33XX_PIN_OUTPUT */ + >; + }; + }; + }; + fragment@1 { + target-path = "/"; + __overlay__ { + hdmi { + compatible = "ti,tilcdc,slave"; + i2c = <&i2c0>; + pinctrl-names = "default", "off"; + pinctrl-0 = <&nxp_hdmi_bonelt_pins>; + pinctrl-1 = <&nxp_hdmi_bonelt_off_pins>; + status = "okay"; + }; + }; + }; + fragment@2 { + target = <&lcdc>; + __overlay__ { + status = "okay"; + }; + }; + }; + + black_enable_emmc: black_emmc { + fragment@0 { + target = <&mmc2>; + __overlay__ { + vmmc-supply = <&vmmcsd_fixed>; + pinctrl-names = "default"; + pinctrl-0 = <&emmc_pins>; + bus-width = <8>; + status = "okay"; + }; + }; + }; + }; + }; +};