From patchwork Sun Dec 12 23:04:59 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Merlijn Wajer X-Patchwork-Id: 12695813 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id D2B40C433EF for ; Sun, 12 Dec 2021 23:01:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=WR2/SParM5ctPwZWed/405MjqQPEysSnQVrOmA0v+7I=; b=cr49v0sJ9nYiTg MpkTz7vEErztsQkE5Uawx5BIH2pzVRWvd5YLqxKKuMjTCpFWsxim3Jkq7L0i9DQz4SQNdDZn0fOam vPVJCfGs25B/ERAlNUu4QfZVgEsQTNE7YZoToykqn8nH/OudyNJfRAczUf8ofkKp2RQ8vVRRlVxO2 IDDIv6+z0yG8kl3Qo2G/yASCYaaBoJsey4XpfCeSoL+ECG2JkU0iB5SsHZxz6YpsLeMLRc0/BizPD LEp0mbILQ8KrH/SXb/ErqBRmCexKn3U8TqucaI1z/smpLn0gAAOzW0HMryCBtuMEKIrtSBYiL2n2g 3p9kSP8GltzbnLLqcRFQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mwXox-007SIi-KN; Sun, 12 Dec 2021 22:59:55 +0000 Received: from mail.wizzup.org ([95.217.97.174] helo=wizzup.org) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mwXon-007SGj-9d for linux-arm-kernel@lists.infradead.org; Sun, 12 Dec 2021 22:59:46 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=wizzup.org; s=mail; h=Content-Transfer-Encoding:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=5DMTAtnX0dwbB4pzMdMP9C9FA35ra736TcCnoY+8mIg=; b=sd3SqY497G6Ct6bleLCcdmA1OU cZ2RVc/Hy/elb10NqGHPLuxWR0agsG+9KtLBAQ5v2XfnKtI4ua3Vkua+NXGUhlKU2UAUXRszEhF1N tSSAdV+O6ZXzEJ7QPhTkSXk8Esc2BCUZXPBsYPoSuSrTEFkV2BMSPBHeEXZgWscXCtseUepCAN8dV zOtKM++IlUlEPiSg/hSnOCIqpSgxqu1+xI1Dxp7e8cK0PQDkaWfbuqP2+OYHs+hzpyZQmLRd1F9lO p2mU5DwZbcPvSXEuNl3Twc7g/b0EbUQw/eIr2BupEPQLnL1Q6a1KoMySD3o6liqKMVX8V34zO9ASt E3uUaSyA==; Received: from [45.83.235.159] (helo=gentoo-x13.fritz.box) by wizzup.org with esmtpsa (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1mwXoZ-0001el-SE; Sun, 12 Dec 2021 22:59:32 +0000 From: Merlijn Wajer To: merlijn@wizzup.org Cc: Ivaylo Dimitrov , Dev Null , Tony Lindgren , Sebastian Reichel , linux-omap@vger.kernel.org, Arnd Bergmann , Olof Johansson , soc@kernel.org, Rob Herring , =?utf-8?q?Beno=C3=AEt_Cou?= =?utf-8?q?sson?= , Kees Cook , Anton Vorontsov , Colin Cross , Tony Luck , linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [RFC PATCH 2/2] Droid3: add initial DTS Date: Mon, 13 Dec 2021 00:04:59 +0100 Message-Id: <20211212230459.13579-3-merlijn@wizzup.org> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20211212230459.13579-1-merlijn@wizzup.org> References: <20211212230459.13579-1-merlijn@wizzup.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20211212_145945_375992_66697FC0 X-CRM114-Status: GOOD ( 18.19 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Not everything works yet, but a lot does work: * serial * display * keyboard * touchscreen * slider/power button What doesn't work yet: * display backlight * keyboard backlight Signed-off-by: Merlijn Wajer --- arch/arm/boot/dts/Makefile | 1 + .../boot/dts/motorola-mapphone-common.dtsi | 4 +- arch/arm/boot/dts/omap4-droid3-xt862.dts | 163 ++++++++++++++++++ 3 files changed, 166 insertions(+), 2 deletions(-) create mode 100644 arch/arm/boot/dts/omap4-droid3-xt862.dts diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 7e0934180724..7ea8441817e5 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -874,6 +874,7 @@ dtb-$(CONFIG_SOC_AM33XX) += \ am335x-osd3358-sm-red.dtb dtb-$(CONFIG_ARCH_OMAP4) += \ omap4-droid-bionic-xt875.dtb \ + omap4-droid3-xt862.dtb \ omap4-droid4-xt894.dtb \ omap4-duovero-parlor.dtb \ omap4-kc1.dtb \ diff --git a/arch/arm/boot/dts/motorola-mapphone-common.dtsi b/arch/arm/boot/dts/motorola-mapphone-common.dtsi index bf18ff33d900..d0d1a1b1676c 100644 --- a/arch/arm/boot/dts/motorola-mapphone-common.dtsi +++ b/arch/arm/boot/dts/motorola-mapphone-common.dtsi @@ -19,7 +19,7 @@ aliases { * We seem to have only 1021 MB accessible, 1021 - 1022 is locked, * then 1023 - 1024 seems to contain mbm. */ - memory { + memory0: memory { device_type = "memory"; reg = <0x80000000 0x3fd00000>; /* 1021 MB */ }; @@ -35,7 +35,7 @@ reserved-memory { * first 512K of that and just overwrite the rest and configure * only 384K instead of 2M. */ - ramoops@a0080000 { + ramoops0: ramoops@a0080000 { compatible = "ramoops"; reg = <0xa0080000 0x60000>; record-size = <0x20000>; diff --git a/arch/arm/boot/dts/omap4-droid3-xt862.dts b/arch/arm/boot/dts/omap4-droid3-xt862.dts new file mode 100644 index 000000000000..f3a7175301ec --- /dev/null +++ b/arch/arm/boot/dts/omap4-droid3-xt862.dts @@ -0,0 +1,163 @@ +// SPDX-License-Identifier: GPL-2.0-only +/dts-v1/; + +#include "motorola-mapphone-common.dtsi" + +/ { + model = "Motorola Droid 3 XT862"; + compatible = "motorola,droid3", "ti,omap4430", "ti,omap4"; + + /* + * We use pad 0x4a100116 abe_dmic_din3.gpio_122 as the irq instead + * of the gpio interrupt to avoid lost events in deeper idle states. + */ + gpio_keys { + compatible = "gpio-keys"; + + slider { + label = "Keypad Slide"; + interrupts-extended = <&omap4_pmx_core 0xd6>; + gpios = <&gpio4 26 GPIO_ACTIVE_HIGH>; /* gpio122 */ + linux,input-type = ; + linux,code = ; + linux,can-disable; + /* Value above 7.95ms for no GPIO hardware debounce */ + debounce-interval = <10>; + }; + }; +}; + +// Do don't know if pstore is supported, but the current config causes panics, +// so delete the node for now +/delete-node/ &ramoops0; + +&memory0 { + reg = <0x80000000 0x1fd00000>; /* 509 MB */ +}; + +&dsi1_out_ep { + lanes = <1 0 3 2 5 4>; +}; + +&i2c1 { + led-controller@38 { + compatible = "ti,lm3532"; + #address-cells = <1>; + #size-cells = <0>; + reg = <0x38>; + + enable-gpios = <&gpio6 12 GPIO_ACTIVE_HIGH>; + + ramp-up-us = <1024>; + ramp-down-us = <8193>; + + backlight_led: led@0 { + reg = <0>; + led-sources = <2>; + ti,led-mode = <0>; + label = ":backlight"; + }; + + led@1 { + reg = <1>; + led-sources = <1>; + ti,led-mode = <0>; + label = ":kbd_backlight"; + }; + }; +}; + +&i2c4 { + kxtf9: accelerometer@f { + compatible = "kionix,kxtf9"; + reg = <0x0f>; + + vdd-supply = <&vhvio>; + + interrupt-parent = <&gpio2>; + interrupts = <2 IRQ_TYPE_EDGE_RISING>; + + rotation-matrix = "1", "0", "0", + "0", "1", "0", + "0", "0", "1"; + }; +}; + +&aes2_target { + status = "disabled"; +}; + +&keypad { + keypad,num-rows = <8>; + keypad,num-columns = <8>; + linux,keymap = < + + /* Row 1 */ + MATRIX_KEY(0, 2, KEY_1) + MATRIX_KEY(0, 6, KEY_2) + MATRIX_KEY(2, 3, KEY_3) + MATRIX_KEY(0, 7, KEY_4) + MATRIX_KEY(0, 4, KEY_5) + MATRIX_KEY(5, 5, KEY_6) + MATRIX_KEY(0, 1, KEY_7) + MATRIX_KEY(0, 5, KEY_8) + MATRIX_KEY(0, 0, KEY_9) + MATRIX_KEY(1, 6, KEY_0) + + /* Row 2 */ + MATRIX_KEY(3, 4, KEY_APOSTROPHE) + MATRIX_KEY(7, 6, KEY_Q) + MATRIX_KEY(7, 7, KEY_W) + MATRIX_KEY(7, 2, KEY_E) + MATRIX_KEY(1, 0, KEY_R) + MATRIX_KEY(4, 4, KEY_T) + MATRIX_KEY(1, 2, KEY_Y) + MATRIX_KEY(6, 7, KEY_U) + MATRIX_KEY(2, 2, KEY_I) + MATRIX_KEY(5, 6, KEY_O) + MATRIX_KEY(3, 7, KEY_P) + MATRIX_KEY(6, 5, KEY_BACKSPACE) + + /* Row 3 */ + MATRIX_KEY(5, 4, KEY_TAB) + MATRIX_KEY(7, 5, KEY_A) + //MATRIX_KEY(5, 7, KEY_A) + MATRIX_KEY(2, 7, KEY_S) + MATRIX_KEY(7, 0, KEY_D) + MATRIX_KEY(2, 6, KEY_F) + MATRIX_KEY(6, 2, KEY_G) + MATRIX_KEY(6, 6, KEY_H) + MATRIX_KEY(1, 4, KEY_J) + MATRIX_KEY(3, 1, KEY_K) + MATRIX_KEY(2, 1, KEY_L) + MATRIX_KEY(4, 6, KEY_ENTER) + + /* Row 4 */ + MATRIX_KEY(3, 6, KEY_LEFTSHIFT) /* KEY_CAPSLOCK */ + MATRIX_KEY(6, 1, KEY_Z) + MATRIX_KEY(7, 4, KEY_X) + MATRIX_KEY(5, 1, KEY_C) + MATRIX_KEY(1, 7, KEY_V) + MATRIX_KEY(2, 4, KEY_B) + MATRIX_KEY(4, 1, KEY_N) + MATRIX_KEY(1, 1, KEY_M) + MATRIX_KEY(3, 5, KEY_COMMA) + MATRIX_KEY(5, 2, KEY_DOT) + MATRIX_KEY(6, 3, KEY_UP) + MATRIX_KEY(7, 3, KEY_OK) + + /* Row 5 */ + MATRIX_KEY(2, 5, KEY_LEFTCTRL) /* KEY_LEFTSHIFT */ + MATRIX_KEY(4, 5, KEY_LEFTALT) /* SYM */ + MATRIX_KEY(6, 0, KEY_MINUS) + MATRIX_KEY(4, 7, KEY_EQUAL) + MATRIX_KEY(1, 5, KEY_SPACE) + MATRIX_KEY(3, 2, KEY_SLASH) + MATRIX_KEY(4, 3, KEY_LEFT) + MATRIX_KEY(5, 3, KEY_DOWN) + MATRIX_KEY(3, 3, KEY_RIGHT) + + MATRIX_KEY(5, 0, KEY_VOLUMEUP) + MATRIX_KEY(3, 0, KEY_VOLUMEDOWN) + >; +};