Received: by 2002:a05:6a10:9e8c:0:0:0:0 with SMTP id y12csp2202538pxx; Sat, 31 Oct 2020 11:26:29 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxt6FwN4acUzzskgthRCXqv/x9BaNz666ullHkMzTTpEpg3PdrYmKT+0sBvEhR29RTumdRY X-Received: by 2002:a50:83e5:: with SMTP id 92mr8992509edi.307.1604168788963; Sat, 31 Oct 2020 11:26:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1604168788; cv=none; d=google.com; s=arc-20160816; b=Opu5RsWSSA8mdaDl6TNCcakudcgZhtE/ZJ5Sqs70/Pu/Z3/T/NtrgSjgtHZ07sNJBu C7jBEcqzfsWaRzpAzMUPj6EA0Y5NUx4jaPpwDUHZ1+ItOnzF6VXYpFqfa2taUpWRalKt LxdrqoarGZXykjZUHuvGZGeeFQP8BxLfWNhdRa4nxwzJUjLJ0iCp5etfe9TNhhdAoCD1 d1676CLv06wezr2Tv3stZS1f0scxemUiZYv5bwrE/FDVqljRsniPpNa8dplcGWioJm5Z O0diSQNnh8Rn5auphRvwayUqnt6ErO6rm7OhUJTu3OUbWUGeSYjCMAtj0eF/xy9dJjR+ 2duw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=Z3qCmiysRq5I7u2bJ7B6t2YXDdq3i4R1BsLGaMlMAmg=; b=CpV0oMONjTTPY51UClpCwZDRUmYj74JHV2WZseZDpzT7s1PrftVLRFsMmA6SYgxqGj OYGaNRvJZRov+hXFtQjp+1zedjtUydk4w3AIFx65o16K9gSQdeALLSWOoctWTdScwlKD t8CYA1l9RncGAvEYx4//G8sIAb9Fabv6hdCKjKcgFmDGf1dzi9BOL989lgSg98H4O9C9 XKmHmI6G15fmYGqWTB6/CxUWUurACpn7Fs4B2NdYfGfa9Ua7DuxMRzKf71HvduQAfrYc vsK3VDRpY+vK561pQohNy9bAsls7gpdVHvusjFRNUILiJ0B7DcR/qeRGLW20KXWQ8Sw8 cpDw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id z8si6850581ejp.314.2020.10.31.11.26.06; Sat, 31 Oct 2020 11:26:28 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728324AbgJaSYA (ORCPT + 99 others); Sat, 31 Oct 2020 14:24:00 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39076 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728263AbgJaSYA (ORCPT ); Sat, 31 Oct 2020 14:24:00 -0400 Received: from leonov.paulk.fr (vpn-0-22.aquilenet.fr [IPv6:2a0c:e300:4:22::]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A7173C0617A6; Sat, 31 Oct 2020 11:23:59 -0700 (PDT) Received: from gagarine.paulk.fr (gagarine [192.168.1.127]) by leonov.paulk.fr (Postfix) with ESMTPS id A3F3DC036C; Sat, 31 Oct 2020 19:23:57 +0100 (CET) Received: by gagarine.paulk.fr (Postfix, from userid 114) id 144E0C1D75; Sat, 31 Oct 2020 19:23:57 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on gagarine.paulk.fr X-Spam-Level: * X-Spam-Status: No, score=1.3 required=5.0 tests=RDNS_NONE autolearn=no autolearn_force=no version=3.4.2 Received: from localhost.localdomain (unknown [192.168.1.101]) by gagarine.paulk.fr (Postfix) with ESMTP id 77C0DC1D71; Sat, 31 Oct 2020 19:21:57 +0100 (CET) From: Paul Kocialkowski To: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Cc: Rob Herring , Maxime Ripard , Chen-Yu Tsai , Matteo Scordino , Icenowy Zheng , Paul Kocialkowski Subject: [PATCH 9/9] ARM: dts: sun8i-v3: Add support for the SL631 Action Camera with IMX179 Date: Sat, 31 Oct 2020 19:21:37 +0100 Message-Id: <20201031182137.1879521-10-contact@paulk.fr> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201031182137.1879521-1-contact@paulk.fr> References: <20201031182137.1879521-1-contact@paulk.fr> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The SL631 is a family of Allwinner V3 action cameras sold under various names, such as SJCAM SJ4000 Air or F60 Action Camera. Devices in this family share a common board design but can be found with different image sensors, including the IMX179 and the OV4689. This adds support for a common dtsi for the SL631 family as well as a specific dts for the IMX179 fashion, which will later be populated with an IMX179 node when a driver is available. Features that were tested on the device include: - UART debug - MMC - USB peripheral (e.g. g_ether) - Buttons - SPI NOR flash Note that the exact designer/vendor of these boards is unknown. Signed-off-by: Paul Kocialkowski --- arch/arm/boot/dts/Makefile | 1 + arch/arm/boot/dts/sun8i-v3-sl631-imx179.dts | 12 ++ arch/arm/boot/dts/sun8i-v3-sl631.dtsi | 145 ++++++++++++++++++++ 3 files changed, 158 insertions(+) create mode 100644 arch/arm/boot/dts/sun8i-v3-sl631-imx179.dts create mode 100644 arch/arm/boot/dts/sun8i-v3-sl631.dtsi diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 4363ba564bb4..b76bcda9a9df 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -1196,6 +1196,7 @@ dtb-$(CONFIG_MACH_SUN8I) += \ sun8i-s3-lichee-zero-plus.dtb \ sun8i-s3-pinecube.dtb \ sun8i-t3-cqa3t-bv3.dtb \ + sun8i-v3-sl631-imx179.dtb \ sun8i-v3s-licheepi-zero.dtb \ sun8i-v3s-licheepi-zero-dock.dtb \ sun8i-v40-bananapi-m2-berry.dtb diff --git a/arch/arm/boot/dts/sun8i-v3-sl631-imx179.dts b/arch/arm/boot/dts/sun8i-v3-sl631-imx179.dts new file mode 100644 index 000000000000..9e3b78000bdb --- /dev/null +++ b/arch/arm/boot/dts/sun8i-v3-sl631-imx179.dts @@ -0,0 +1,12 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR X11) +/* + * Copyright 2020 Paul Kocialkowski + */ + +#include "sun8i-v3-sl631.dtsi" + +/ { + model = "SL631 Action Camera with IMX179"; + compatible = "unknown,sl631-imx179", "unknown,sl631", + "allwinner,sun8i-v3"; +}; diff --git a/arch/arm/boot/dts/sun8i-v3-sl631.dtsi b/arch/arm/boot/dts/sun8i-v3-sl631.dtsi new file mode 100644 index 000000000000..9bc84d2812a6 --- /dev/null +++ b/arch/arm/boot/dts/sun8i-v3-sl631.dtsi @@ -0,0 +1,145 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR X11) +/* + * Copyright 2020 Paul Kocialkowski + */ + +/dts-v1/; + +#include "sun8i-v3.dtsi" + +#include +#include + +/ { + model = "SL631 Action Camera"; + compatible = "unknown,sl631", "allwinner,sun8i-v3"; + + aliases { + serial0 = &uart1; + }; + + chosen { + stdout-path = "serial0:115200n8"; + }; +}; + +&i2c0 { + status = "okay"; + + axp209: pmic@34 { + reg = <0x34>; + interrupt-parent = <&nmi_intc>; + interrupts = <0 IRQ_TYPE_LEVEL_LOW>; + }; +}; + +&i2c1 { + pinctrl-names = "default"; + pinctrl-0 = <&i2c1_pb_pins>; + status = "okay"; +}; + +&lradc { + vref-supply = <®_ldo2>; + status = "okay"; + + button@174 { + label = "Volume Down"; + linux,code = ; + channel = <0>; + voltage = <174603>; + }; + + button@384 { + label = "Volume Up"; + linux,code = ; + channel = <0>; + voltage = <384126>; + }; + + button@593 { + label = "Home"; + linux,code = ; + channel = <0>; + voltage = <593650>; + }; +}; + +&mmc0 { + cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */ + bus-width = <4>; + vmmc-supply = <®_dcdc3>; + status = "okay"; +}; + +&pio { + vcc-pd-supply = <®_dcdc3>; + vcc-pe-supply = <®_dcdc3>; +}; + +#include "axp209.dtsi" + +&ac_power_supply { + status = "okay"; +}; + +&battery_power_supply { + status = "okay"; +}; + +®_dcdc2 { + regulator-always-on; + regulator-min-microvolt = <1250000>; + regulator-max-microvolt = <1250000>; + regulator-name = "vdd-sys-cpu"; +}; + +®_dcdc3 { + regulator-always-on; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-name = "vdd-3v3"; +}; + +®_ldo1 { + regulator-name = "vdd-rtc"; +}; + +®_ldo2 { + regulator-always-on; + regulator-min-microvolt = <3000000>; + regulator-max-microvolt = <3000000>; + regulator-name = "avcc"; +}; + +®_ldo4 { + regulator-always-on; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + regulator-name = "vcc-ep952"; +}; + +&spi0 { + status = "okay"; + + spi-flash@0 { + reg = <0>; + compatible = "macronix,mx25l6436f", "jedec,spi-nor"; + spi-max-frequency = <50000000>; + }; +}; + +&uart1 { + pinctrl-0 = <&uart1_pg_pins>; + pinctrl-names = "default"; + status = "okay"; +}; + +&usb_otg { + dr_mode = "peripheral"; + status = "okay"; +}; + +&usbphy { + status = "okay"; +}; -- 2.28.0