From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, USER_AGENT_SANE_1 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 86BE0C2D0CE for ; Mon, 16 Dec 2019 02:54:08 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 5AE8724676 for ; Mon, 16 Dec 2019 02:54:08 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726683AbfLPCyH (ORCPT ); Sun, 15 Dec 2019 21:54:07 -0500 Received: from lucky1.263xmail.com ([211.157.147.132]:37376 "EHLO lucky1.263xmail.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726488AbfLPCyH (ORCPT ); Sun, 15 Dec 2019 21:54:07 -0500 X-Greylist: delayed 390 seconds by postgrey-1.27 at vger.kernel.org; Sun, 15 Dec 2019 21:54:02 EST Received: from localhost (unknown [192.168.167.209]) by lucky1.263xmail.com (Postfix) with ESMTP id 2FE5D84C50; Mon, 16 Dec 2019 10:47:27 +0800 (CST) X-MAIL-GRAY: 1 X-MAIL-DELIVERY: 0 X-ADDR-CHECKED4: 1 X-ANTISPAM-LEVEL: 2 X-SKE-CHECKED: 1 X-ABS-CHECKED: 1 Received: from [172.16.12.170] (unknown [58.22.7.114]) by smtp.263.net (postfix) whith ESMTP id P24116T140398768936704S1576464445264821_; Mon, 16 Dec 2019 10:47:26 +0800 (CST) X-IP-DOMAINF: 1 X-UNIQUE-TAG: <3817e914a77aac289a66aebb2ed1ce78> X-RL-SENDER: andy.yan@rock-chips.com X-SENDER: yxj@rock-chips.com X-LOGIN-NAME: andy.yan@rock-chips.com X-FST-TO: linux-kernel@vger.kernel.org X-SENDER-IP: 58.22.7.114 X-ATTACHMENT-NUM: 0 X-DNS-TYPE: 0 Subject: Re: [PATCH] arm64: dts: rockchip: add ROCK Pi S DTS support To: Akash Gajjar , heiko@sntech.de Cc: jagan@openedev.com, Rob Herring , Mark Rutland , Douglas Anderson , Robin Murphy , Nick Xie , Matthias Kaehlcke , Kever Yang , Markus Reichl , Tomeu Vizoso , Vivek Unune , devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org References: <20191215173318.16385-1-akash@openedev.com> From: Andy Yan Message-ID: Date: Mon, 16 Dec 2019 10:47:25 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.2.1 MIME-Version: 1.0 In-Reply-To: <20191215173318.16385-1-akash@openedev.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Akash: On 12/16/19 1:33 AM, Akash Gajjar wrote: > ROCK Pi S is RK3308 based SBC from radxa.com. ROCK Pi S has a, > - 256MB/512MB DDR3 RAM > - SD, NAND flash (optional on board 1/2/4/8Gb) > - 100MB ethernet, PoE (optional) > - Onboard 802.11 b/g/n wifi + Bluetooth 4.0 Module > - USB2.0 Type-A HOST x1 > - USB3.0 Type-C OTG x1 > - 26-pin expansion header > - USB Type-C DC 5V Power Supply > > This patch enables > - Console > - NAND Flash > - SD Card > > Signed-off-by: Akash Gajjar > --- > .../devicetree/bindings/arm/rockchip.yaml | 5 + > arch/arm64/boot/dts/rockchip/Makefile | 1 + > .../boot/dts/rockchip/rk3308-rock-pi-S.dts | 221 ++++++++++++++++++ > 3 files changed, 227 insertions(+) > create mode 100644 arch/arm64/boot/dts/rockchip/rk3308-rock-pi-S.dts > > diff --git a/Documentation/devicetree/bindings/arm/rockchip.yaml b/Documentation/devicetree/bindings/arm/rockchip.yaml > index d9847b306b83..48d40c928d45 100644 > --- a/Documentation/devicetree/bindings/arm/rockchip.yaml > +++ b/Documentation/devicetree/bindings/arm/rockchip.yaml > @@ -422,6 +422,11 @@ properties: > - const: radxa,rockpi4 > - const: rockchip,rk3399 > > + - description: Radxa ROCK Pi S > + items: > + - const: radxa,rockpis > + - const: rockchip,rk3308 > + > - description: Radxa Rock2 Square > items: > - const: radxa,rock2-square > diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/rockchip/Makefile > index 48fb631d5451..cc9e8c824980 100644 > --- a/arch/arm64/boot/dts/rockchip/Makefile > +++ b/arch/arm64/boot/dts/rockchip/Makefile > @@ -2,6 +2,7 @@ > dtb-$(CONFIG_ARCH_ROCKCHIP) += px30-evb.dtb > dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3308-evb.dtb > dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3308-roc-cc.dtb > +dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3308-rock-pi-S.dtb > dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-a1.dtb > dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-evb.dtb > dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3328-rock64.dtb > diff --git a/arch/arm64/boot/dts/rockchip/rk3308-rock-pi-S.dts b/arch/arm64/boot/dts/rockchip/rk3308-rock-pi-S.dts > new file mode 100644 > index 000000000000..e5fae451c631 > --- /dev/null > +++ b/arch/arm64/boot/dts/rockchip/rk3308-rock-pi-S.dts > @@ -0,0 +1,221 @@ > +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) > +/* > + * Copyright (c) 2019 Akash Gajjar > + * Copyright (c) 2019 Jagan Teki > + */ > + > +/dts-v1/; > +#include "rk3308.dtsi" > + > +/ { > + model = "Radxa ROCK Pi S"; > + compatible = "radxa,rockpis", "rockchip,rk3308"; > + > + chosen { > + stdout-path = "serial0:1500000n8"; > + }; > + > + leds { > + compatible = "gpio-leds"; > + pinctrl-names = "default"; > + pinctrl-0 = <&green_led_gio>, <&heartbeat_led_gpio>; > + > + green-led { > + label = "rockpis:green:power"; > + gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_HIGH>; > + linux,default-trigger = "default-on"; > + default-state = "on"; > + }; > + > + blue-led { > + label = "rockpis:blue:user"; > + gpios = <&gpio0 RK_PA5 GPIO_ACTIVE_HIGH>; > + default-state = "on"; > + linux,default-trigger = "heartbeat"; > + }; > + }; > + > + sdio_pwrseq: sdio-pwrseq { > + compatible = "mmc-pwrseq-simple"; > + pinctrl-names = "default"; > + pinctrl-0 = <&wifi_enable_h>; > + reset-gpios = <&gpio0 RK_PA2 GPIO_ACTIVE_LOW>; > + }; > + > + vcc5v0_sys: vcc5v0-sys { > + compatible = "regulator-fixed"; > + regulator-name = "vcc5v0_sys"; > + regulator-always-on; > + regulator-boot-on; > + regulator-min-microvolt = <5000000>; > + regulator-max-microvolt = <5000000>; > + }; > + > + vdd_core: vdd-core { > + compatible = "pwm-regulator"; > + pwms = <&pwm0 0 5000 1>; > + regulator-name = "vdd_core"; > + regulator-min-microvolt = <827000>; > + regulator-max-microvolt = <1340000>; > + regulator-init-microvolt = <1015000>; > + regulator-settling-time-up-us = <250>; > + regulator-always-on; > + regulator-boot-on; > + vin-supply = <&vcc5v0_sys>; I think this should be pwm-supply = <&vcc5v0_sys> see: drivers/regulator/pwm-regulator.c static const struct regulator_desc pwm_regulator_desc = {         .name           = "pwm-regulator",         .type           = REGULATOR_VOLTAGE,         .owner          = THIS_MODULE,         .supply_name    = "pwm", }; > + }; > + > + vdd_log: vdd-log { > + compatible = "regulator-fixed"; > + regulator-name = "vdd_log"; > + regulator-always-on; > + regulator-boot-on; > + regulator-min-microvolt = <1050000>; > + regulator-max-microvolt = <1050000>; > + vin-supply = <&vcc5v0_sys>; > + }; > + > + vcc_ddr: vcc-ddr { > + compatible = "regulator-fixed"; > + regulator-name = "vcc_ddr"; > + regulator-always-on; > + regulator-boot-on; > + regulator-min-microvolt = <1500000>; > + regulator-max-microvolt = <1500000>; > + vin-supply = <&vcc5v0_sys>; > + }; > + > + vcc_1v8: vcc-1v8 { > + compatible = "regulator-fixed"; > + regulator-name = "vcc_1v8"; > + regulator-always-on; > + regulator-boot-on; > + regulator-min-microvolt = <1800000>; > + regulator-max-microvolt = <1800000>; > + vin-supply = <&vcc_io>; > + }; > + > + vcc_io: vcc-io { > + compatible = "regulator-fixed"; > + regulator-name = "vcc_io"; > + regulator-always-on; > + regulator-boot-on; > + regulator-min-microvolt = <3300000>; > + regulator-max-microvolt = <3300000>; > + vin-supply = <&vcc5v0_sys>; > + }; > + > + vcc5v0_otg: vcc5v0-otg { > + compatible = "regulator-fixed"; > + regulator-name = "vcc5v0_otg"; > + regulator-always-on; > + gpio = <&gpio0 RK_PC5 GPIO_ACTIVE_HIGH>; > + enable-active-high; > + pinctrl-names = "default"; > + pinctrl-0 = <&otg_vbus_drv>; > + vin-supply = <&vcc5v0_sys>; > + }; > +}; > + > +&cpu0 { > + cpu-supply = <&vdd_core>; > +}; > + > +&emmc { > + bus-width = <4>; > + cap-mmc-highspeed; > + mmc-hs200-1_8v; > + supports-sd; > + disable-wp; > + non-removable; > + num-slots = <1>; > + vin-supply = <&vcc_io>; > + status = "okay"; > +}; > + > +&i2c1 { > + status = "okay"; > +}; > + > +&sdmmc { > + bus-width = <4>; > + cap-mmc-highspeed; > + cap-sd-highspeed; > + max-frequeency = <150000000>; > + supports-sd; > + disable-wp; > + num-slots = <1>; > + pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_det &sdmmc_bus4>; > + card-detect-delay = <800>; > + status = "okay"; > +}; > + > +&spi2 { > + status = "okay"; > + max-freq = <10000000>; > +}; > + > +&pinctrl { > + pinctrl-names = "default"; > + pinctrl-0 = <&rtc_32k>; > + > + leds { > + green_led_gio: green-led-gpio { > + rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>; > + }; > + > + heartbeat_led_gpio: heartbeat-led-gpio { > + rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>; > + }; > + }; > + > + usb { > + otg_vbus_drv: otg-vbus-drv { > + rockchip,pins = <0 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>; > + }; > + }; > + > + sdio-pwrseq { > + wifi_enable_h: wifi-enable-h { > + rockchip,pins = <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>; > + }; > + > + wifi_host_wake: wifi-host-wake { > + rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_down>; > + }; > + }; > +}; > + > +&pwm0 { > + status = "okay"; > + pinctrl-0 = <&pwm0_pin_pull_down>; > +}; > + > +&saradc { > + vref-supply = <&vcc_1v8>; > + status = "okay"; > +}; > + > +&sdio { > + #address-cells = <1>; > + #size-cells = <0>; > + bus-width = <4>; > + max-frequency = <1000000>; > + cap-sd-highspeed; > + cap-sdio-irq; > + supports-sdio; > + keep-power-in-suspend; > + mmc-pwrseq = <&sdio_pwrseq>; > + non-removable; > + sd-uhs-sdr104; > + status = "okay"; > +}; > + > +&uart0 { > + status = "okay"; > +}; > + > +&uart4 { > + pinctrl-names = "default"; > + pinctrl-0 = <&uart4_xfer &uart4_rts &uart4_cts>; > + status = "okay"; > +};