From nobody Fri Dec 19 15:00:30 2025 Received: from classfun.cn (unknown [129.204.178.38]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 1B84A2E419; Mon, 26 Aug 2024 04:49:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=129.204.178.38 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1724647788; cv=none; b=ujnh11WM4SY9zrlOiIRhzNUKScV7Hn39Dc6zeltSYR/5NWM+iZ6Sdafs1meCkGQbDvuYoAOmCRxdJ/6idOHqC/7gwenDyqFGzAxkK9Zw/BfBGEs5XqBedcHQMEKwxSrgBZJgMsVZwHFjaSK06PYb8DGuZTPbZlmiQbrvFVxoOZE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1724647788; c=relaxed/simple; bh=3c0/iExWxHfA1R4X4g4Jj92Pno9I69MHrCQ014gopdo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=cjRaDHvcB43AdX7BpYvOezdBvkeI8GLxwab1k/op0q3d1H9G5u8ywYSeDblD9KEywFrMFTu7BnPeTYCvxG5afv/ICgPQO2WPRvULgB1TCGyO5iSQoiwstE99jr95s3TSt7Sz+KlXQbYh+6UaZz4GkemDZYM93/vjcZ+y24y+nXw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=classfun.cn; spf=pass smtp.mailfrom=classfun.cn; dkim=pass (1024-bit key) header.d=classfun.cn header.i=@classfun.cn header.b=IpZERUNS; arc=none smtp.client-ip=129.204.178.38 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=classfun.cn Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=classfun.cn Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=classfun.cn header.i=@classfun.cn header.b="IpZERUNS" Received: from bigfoot-server-arm-node1.classfun.cn (unknown [124.72.161.4]) (Authenticated sender: bigfoot) by classfun.cn (Postfix) with ESMTPSA id 152E378921; Mon, 26 Aug 2024 12:46:00 +0800 (CST) DKIM-Filter: OpenDKIM Filter v2.11.0 classfun.cn 152E378921 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=classfun.cn; s=default; t=1724647560; bh=xy3BVZ51BxjGwxtVBSSEMAXgINYYbn7h0bC1DIDUHk4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=IpZERUNSKzCW8tuMIZO8grTY68X9AXA5/707euG9hp/rnSW2Twg2WwrOjWki25YOe W5OTNqCKwHpQfK6IeAri0U3saSmj1Z5jWQMQXEVIwxh08ZAzJTtrzQdoYgy7bZvb4k TeEnDiMaaSTnVjAF1mxDc8mFBcPovmhupnm/DyMg= From: Junhao Xie To: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org Cc: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner , Jonas Karlman , Chukun Pan , Junhao Xie , FUKAUMI Naoki , Dragan Simic , linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/3] dt-bindings: vendor-prefixes: Add Shenzhen JLC Technology Group LCKFB Date: Mon, 26 Aug 2024 12:44:11 +0800 Message-ID: <20240826044530.726458-2-bigfoot@classfun.cn> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240826044530.726458-1-bigfoot@classfun.cn> References: <20240826044530.726458-1-bigfoot@classfun.cn> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add an entry for Shenzhen JLC Technology LCKFB (https://lckfb.com/) Signed-off-by: Junhao Xie Acked-by: Krzysztof Kozlowski --- Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Docum= entation/devicetree/bindings/vendor-prefixes.yaml index a70ce43b3dc0..e5d64fc4fe31 100644 --- a/Documentation/devicetree/bindings/vendor-prefixes.yaml +++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml @@ -804,6 +804,8 @@ patternProperties: description: Lantiq Semiconductor "^lattice,.*": description: Lattice Semiconductor + "^lckfb,.*": + description: Shenzhen JLC Technology Group Co., Ltd. "^lctech,.*": description: Shenzen LC Technology Co., Ltd. "^leadtek,.*": --=20 2.45.2 From nobody Fri Dec 19 15:00:30 2025 Received: from classfun.cn (unknown [129.204.178.38]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 1B81929CE7; Mon, 26 Aug 2024 04:49:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=129.204.178.38 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1724647789; cv=none; b=e4Ck3TQGOsuzDpFWxikOGqZ0Zm9Es/I8KWNnPn3YEns56ao9r3Ry1i8pChh0uwQezrMFDQ2I5lHZdkLCxAr8d6dDHRtVcZQH0NwaQ3XtL+RP4RsDm5I3aWhw8/zrOM82uyVWF9jmHPd/7O804U9AyuyOYpga+eGKRl9cbP6RnTU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1724647789; c=relaxed/simple; bh=HVf7gkki2CvASEGPTqQczGF3ztQOREGYSMauyOqDT5Y=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=gnPFZJwn3IWv1rZD2ABRW3wgq6+FiKsEe3EltB3wQKWu8M5r3ESp4IALrXNyiLrDT2qQKZY+fA5/zTnhHm5g6UA3e5nryHbGTa72AUGfGSDLUnlmtKMKeMx5CnG5/UwbYajLx8/Rp+P6aClkKt9kcQ2zJvnmaqovO7Ln50bTyAQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=classfun.cn; spf=pass smtp.mailfrom=classfun.cn; dkim=pass (1024-bit key) header.d=classfun.cn header.i=@classfun.cn header.b=W4ZvxhUn; arc=none smtp.client-ip=129.204.178.38 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=classfun.cn Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=classfun.cn Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=classfun.cn header.i=@classfun.cn header.b="W4ZvxhUn" Received: from bigfoot-server-arm-node1.classfun.cn (unknown [124.72.161.4]) (Authenticated sender: bigfoot) by classfun.cn (Postfix) with ESMTPSA id EB63E78922; Mon, 26 Aug 2024 12:46:00 +0800 (CST) DKIM-Filter: OpenDKIM Filter v2.11.0 classfun.cn EB63E78922 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=classfun.cn; s=default; t=1724647561; bh=fLYjuCo1RmAoQOic56outz/OhHOlYn5yO+2WrQYyZkk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=W4ZvxhUnRmGghJcOYB8eIIn/csugOoL3/G3hCdkkUfGaeAWEmIgh5VBKuQnz9Qfzp 8v7MdU6wHbghCTlkuGhB9mOXQAqswBd86QHJ1YJ6sYf8opK6CtXfWvZlsATye6ReWZ tP0qo/JOQIQW96Ptd6P6X7WVkP6TsS+Ho/zDbsu8= From: Junhao Xie To: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org Cc: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner , Jonas Karlman , Chukun Pan , Junhao Xie , FUKAUMI Naoki , Dragan Simic , linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 2/3] dt-bindings: arm: rockchip: Add LCKFB Taishan Pi RK3566 Date: Mon, 26 Aug 2024 12:44:12 +0800 Message-ID: <20240826044530.726458-3-bigfoot@classfun.cn> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240826044530.726458-1-bigfoot@classfun.cn> References: <20240826044530.726458-1-bigfoot@classfun.cn> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" This documents LCKFB Taishan Pi which is a SBC based on the RK3566 SoC. Signed-off-by: Junhao Xie Acked-by: Krzysztof Kozlowski --- Documentation/devicetree/bindings/arm/rockchip.yaml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Documentation/devicetree/bindings/arm/rockchip.yaml b/Document= ation/devicetree/bindings/arm/rockchip.yaml index 1ef09fbfdfaf..1fe3fbc36ced 100644 --- a/Documentation/devicetree/bindings/arm/rockchip.yaml +++ b/Documentation/devicetree/bindings/arm/rockchip.yaml @@ -622,6 +622,11 @@ properties: - const: leez,p710 - const: rockchip,rk3399 =20 + - description: LCKFB Taishan Pi RK3566 + items: + - const: lckfb,tspi-rk3566 + - const: rockchip,rk3566 + - description: Lunzn FastRhino R66S / R68S items: - enum: --=20 2.45.2 From nobody Fri Dec 19 15:00:30 2025 Received: from classfun.cn (unknown [129.204.178.38]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 3A1EF33CE8; Mon, 26 Aug 2024 04:49:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=129.204.178.38 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1724647789; cv=none; b=I/usU/iL/GAwbNJAINgdwY7FqY6bxb0nqh2sDO++gMFOc7RvuJApTOImXkriPdnlp9BVFdxRgs8PoZILR9H60RHwm7gnKA2tOJf9NDWp+E/rlEe0LkNQTDf8hgMTGs21Ra+euBLyCELuiGCutKpm3uUCrlXomqKFLPfmD6v5Uwo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1724647789; c=relaxed/simple; bh=tZema2xDJucwTh2iYT7k0DrEynyR7oBQHnV6L1zIOis=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=J0Q1QkJVn3ZcDGT5bS1cFRx00WB9XZ+4em+BpT6wcB6Tby/oC87DewO19YuwqHtA2oVNzpFlQSU1SPF1yQV+/1YjRtlJhwln2c2iuwbzrUNfACoPoPf0CypWYEhHuxaLrTk/M1QzDwN5gX/A+wY8CsI2mbRulA0P6dTXUWhimAc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=classfun.cn; spf=pass smtp.mailfrom=classfun.cn; dkim=pass (1024-bit key) header.d=classfun.cn header.i=@classfun.cn header.b=IVwUluQ2; arc=none smtp.client-ip=129.204.178.38 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=classfun.cn Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=classfun.cn Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=classfun.cn header.i=@classfun.cn header.b="IVwUluQ2" Received: from bigfoot-server-arm-node1.classfun.cn (unknown [124.72.161.4]) (Authenticated sender: bigfoot) by classfun.cn (Postfix) with ESMTPSA id C866078923; Mon, 26 Aug 2024 12:46:01 +0800 (CST) DKIM-Filter: OpenDKIM Filter v2.11.0 classfun.cn C866078923 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=classfun.cn; s=default; t=1724647562; bh=eJY16tMYMamfBe9xOORZ0E2hkdVhjbvra9pddUtGo88=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=IVwUluQ2BYVoMiyPjvs9E14BYZ28v4SHbedPQNT1QOx6sciNkCG087rd4TTb3LQa9 PZnTGN5ApBbuG/+rTmzH6X/E71pgCA7e2WB1bXHPAHs69K1LlG6krLhQ2OpVHFFxDa xZBChj/lAxvTBkijsqe65vzH5DVPL+5c8DIdkEPw= From: Junhao Xie To: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org Cc: Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner , Jonas Karlman , Chukun Pan , Junhao Xie , FUKAUMI Naoki , Dragan Simic , linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH 3/3] arm64: dts: rockchip: add dts for LCKFB Taishan Pi RK3566 Date: Mon, 26 Aug 2024 12:44:13 +0800 Message-ID: <20240826044530.726458-4-bigfoot@classfun.cn> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240826044530.726458-1-bigfoot@classfun.cn> References: <20240826044530.726458-1-bigfoot@classfun.cn> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Add dts for LCKFB Taishan Pi. Working IO: * UART * RGB LED * AP6212 WiFi * AP6212 Bluetooth * SD Card * eMMC * HDMI * Mali GPU * USB Type-C * USB Type-A Signed-off-by: Junhao Xie --- arch/arm64/boot/dts/rockchip/Makefile | 1 + .../boot/dts/rockchip/rk3566-lckfb-tspi.dts | 743 ++++++++++++++++++ 2 files changed, 744 insertions(+) create mode 100644 arch/arm64/boot/dts/rockchip/rk3566-lckfb-tspi.dts diff --git a/arch/arm64/boot/dts/rockchip/Makefile b/arch/arm64/boot/dts/ro= ckchip/Makefile index fda1b980eb4b..921bc3014b84 100644 --- a/arch/arm64/boot/dts/rockchip/Makefile +++ b/arch/arm64/boot/dts/rockchip/Makefile @@ -102,6 +102,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3566-soquartz-blade.= dtb dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3566-soquartz-cm4.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3566-soquartz-model-a.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3566-box-demo.dtb +dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3566-lckfb-tspi.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3566-lubancat-1.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3568-bpi-r2-pro.dtb dtb-$(CONFIG_ARCH_ROCKCHIP) +=3D rk3568-evb1-v10.dtb diff --git a/arch/arm64/boot/dts/rockchip/rk3566-lckfb-tspi.dts b/arch/arm6= 4/boot/dts/rockchip/rk3566-lckfb-tspi.dts new file mode 100644 index 000000000000..8dd7d40cc51e --- /dev/null +++ b/arch/arm64/boot/dts/rockchip/rk3566-lckfb-tspi.dts @@ -0,0 +1,743 @@ +// SPDX-License-Identifier: (GPL-2.0+ OR MIT) + +/dts-v1/; + +#include +#include +#include +#include +#include +#include +#include "rk3566.dtsi" + +/ { + model =3D "LCKFB Taishan Pi RK3566"; + compatible =3D "lckfb,tspi-rk3566", "rockchip,rk3566"; + + aliases { + mmc0 =3D &sdmmc0; + mmc1 =3D &sdhci; + mmc2 =3D &sdmmc1; + wifi =3D &brcmf; + bluetooth =3D &bluetooth; + }; + + chosen: chosen { + stdout-path =3D "serial2:1500000n8"; + }; + + reserved-memory { + #address-cells =3D <2>; + #size-cells =3D <2>; + ranges; + + ramoops: ramoops@110000 { + compatible =3D "ramoops"; + reg =3D <0 0x110000 0 0xf0000>; + record-size =3D <0x20000>; + console-size =3D <0x80000>; + ftrace-size =3D <0x00000>; + pmsg-size =3D <0x50000>; + }; + }; + + sound { + compatible =3D "simple-audio-card"; + simple-audio-card,format =3D "i2s"; + simple-audio-card,name =3D "Analog RK809"; + simple-audio-card,mclk-fs =3D <256>; + + simple-audio-card,cpu { + sound-dai =3D <&i2s1_8ch>; + }; + + simple-audio-card,codec { + sound-dai =3D <&rk809>; + }; + }; + + hdmi_con: hdmi-con { + compatible =3D "hdmi-connector"; + type =3D "d"; + + port { + hdmi_con_in: endpoint { + remote-endpoint =3D <&hdmi_out_con>; + }; + }; + }; + + adc_keys: adc-keys { + compatible =3D "adc-keys"; + io-channels =3D <&saradc 0>; + io-channel-names =3D "buttons"; + keyup-threshold-microvolt =3D <1800000>; + poll-interval =3D <100>; + + button-recovery { + label =3D "recovery"; + linux,code =3D ; + press-threshold-microvolt =3D <108>; + }; + }; + + leds: leds { + compatible =3D "gpio-leds"; + rgb_led_r: rgb-led-r { + label =3D "status-red"; + gpios =3D <&gpio1 RK_PB2 GPIO_ACTIVE_LOW>; + color =3D ; + }; + rgb_led_g: rgb-led-g { + label =3D "status-green"; + gpios =3D <&gpio1 RK_PB1 GPIO_ACTIVE_LOW>; + color =3D ; + }; + rgb_led_b: rgb-led-b { + label =3D "status-blue"; + gpios =3D <&gpio1 RK_PB0 GPIO_ACTIVE_LOW>; + color =3D ; + }; + }; + + multi_leds: multi-led { + compatible =3D "leds-group-multicolor"; + color =3D ; + label =3D "status-rgb"; + function =3D LED_FUNCTION_INDICATOR; + leds =3D <&rgb_led_r>, <&rgb_led_g>, <&rgb_led_b>; + }; + + sdio_pwrseq: sdio-pwrseq { + compatible =3D "mmc-pwrseq-simple"; + clocks =3D <&rk809 1>; + clock-names =3D "ext_clock"; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&wifi_enable_h>; + post-power-on-delay-ms =3D <200>; + reset-gpios =3D <&gpio2 RK_PB1 GPIO_ACTIVE_LOW>; + }; + + dc_12v: dc-12v { + compatible =3D "regulator-fixed"; + regulator-name =3D "dc_12v"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt =3D <12000000>; + regulator-max-microvolt =3D <12000000>; + }; + + vcc3v3_sys: vcc3v3-sys { + compatible =3D "regulator-fixed"; + regulator-name =3D "vcc3v3_sys"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + vin-supply =3D <&vcc5v0_sys>; + }; + + vcc5v0_sys: vcc5v0-sys { + compatible =3D "regulator-fixed"; + regulator-name =3D "vcc5v0_sys"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt =3D <5000000>; + regulator-max-microvolt =3D <5000000>; + vin-supply =3D <&dc_12v>; + }; + + vcc5v0_host: vcc5v0-host-regulator { + compatible =3D "regulator-fixed"; + regulator-name =3D "vcc5v0_host"; + regulator-boot-on; + regulator-always-on; + regulator-min-microvolt =3D <5000000>; + regulator-max-microvolt =3D <5000000>; + enable-active-high; + gpio =3D <&gpio4 RK_PC4 GPIO_ACTIVE_HIGH>; + vin-supply =3D <&vcc5v0_sys>; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&vcc5v0_host_en>; + }; + + vccio_flash: vccio-flash { + compatible =3D "regulator-fixed"; + regulator-name =3D "vccio_flash"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + vin-supply =3D <&vcc_1v8>; + }; + + vccio_wl: vccio-wl { + compatible =3D "regulator-fixed"; + regulator-name =3D "vccio_wl"; + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + vin-supply =3D <&vcc_3v3>; + }; +}; + +&combphy1 { + status =3D "okay"; +}; + +&combphy2 { + status =3D "okay"; +}; + +&cpu0 { + cpu-supply =3D <&vdd_cpu>; +}; + +&cpu1 { + cpu-supply =3D <&vdd_cpu>; +}; + +&cpu2 { + cpu-supply =3D <&vdd_cpu>; +}; + +&cpu3 { + cpu-supply =3D <&vdd_cpu>; +}; + +&gpu { + mali-supply =3D <&vdd_gpu>; + status =3D "okay"; +}; + +&hdmi { + avdd-0v9-supply =3D <&vdda0v9_image>; + avdd-1v8-supply =3D <&vcca1v8_image>; + status =3D "okay"; +}; + +&hdmi_in { + hdmi_in_vp0: endpoint { + remote-endpoint =3D <&vp0_out_hdmi>; + }; +}; + +&hdmi_out { + hdmi_out_con: endpoint { + remote-endpoint =3D <&hdmi_con_in>; + }; +}; + +&hdmi_sound { + status =3D "okay"; +}; + +&i2c0 { + status =3D "okay"; + + vdd_cpu: regulator@1c { + compatible =3D "tcs,tcs4525"; + reg =3D <0x1c>; + fcs,suspend-voltage-selector =3D <1>; + regulator-name =3D "vdd_cpu"; + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt =3D <800000>; + regulator-max-microvolt =3D <1150000>; + regulator-ramp-delay =3D <2300>; + vin-supply =3D <&vcc5v0_sys>; + + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + rk809: pmic@20 { + compatible =3D "rockchip,rk809"; + reg =3D <0x20>; + + interrupt-parent =3D <&gpio0>; + interrupts =3D ; + + #clock-cells =3D <1>; + clock-output-names =3D "rk808-clkout1", "rk808-clkout2"; + clock-names =3D "mclk"; + clocks =3D <&cru I2S1_MCLKOUT_TX>; + assigned-clocks =3D <&cru I2S1_MCLKOUT_TX>; + assigned-clock-parents =3D <&cru CLK_I2S1_8CH_TX>; + + #sound-dai-cells =3D <0>; + + pinctrl-names =3D "default"; + pinctrl-0 =3D <&pmic_int>, <&i2s1m0_mclk>; + rockchip,system-power-controller; + wakeup-source; + + vcc1-supply =3D <&vcc3v3_sys>; + vcc2-supply =3D <&vcc3v3_sys>; + vcc3-supply =3D <&vcc3v3_sys>; + vcc4-supply =3D <&vcc3v3_sys>; + vcc5-supply =3D <&vcc3v3_sys>; + vcc6-supply =3D <&vcc3v3_sys>; + vcc7-supply =3D <&vcc3v3_sys>; + vcc8-supply =3D <&vcc3v3_sys>; + vcc9-supply =3D <&vcc3v3_sys>; + + regulators { + vdd_logic: DCDC_REG1 { + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt =3D <500000>; + regulator-max-microvolt =3D <1350000>; + regulator-ramp-delay =3D <6001>; + regulator-initial-mode =3D <0x2>; + regulator-name =3D "vdd_logic"; + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vdd_gpu: DCDC_REG2 { + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt =3D <500000>; + regulator-max-microvolt =3D <1350000>; + regulator-ramp-delay =3D <6001>; + regulator-initial-mode =3D <0x2>; + regulator-name =3D "vdd_gpu"; + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vcc_ddr: DCDC_REG3 { + regulator-always-on; + regulator-boot-on; + regulator-initial-mode =3D <0x2>; + regulator-name =3D "vcc_ddr"; + regulator-state-mem { + regulator-on-in-suspend; + }; + }; + + vdd_npu: DCDC_REG4 { + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt =3D <500000>; + regulator-max-microvolt =3D <1350000>; + regulator-ramp-delay =3D <6001>; + regulator-initial-mode =3D <0x2>; + regulator-name =3D "vdd_npu"; + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vdda0v9_image: LDO_REG1 { + regulator-boot-on; + regulator-always-on; + regulator-min-microvolt =3D <900000>; + regulator-max-microvolt =3D <900000>; + regulator-name =3D "vdda0v9_image"; + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vdda_0v9: LDO_REG2 { + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt =3D <900000>; + regulator-max-microvolt =3D <900000>; + regulator-name =3D "vdda_0v9"; + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vdda0v9_pmu: LDO_REG3 { + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt =3D <900000>; + regulator-max-microvolt =3D <900000>; + regulator-name =3D "vdda0v9_pmu"; + regulator-state-mem { + regulator-on-in-suspend; + regulator-suspend-microvolt =3D <900000>; + }; + }; + + vccio_acodec: LDO_REG4 { + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + regulator-name =3D "vccio_acodec"; + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vccio_sd: LDO_REG5 { + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <3300000>; + regulator-name =3D "vccio_sd"; + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vcc3v3_pmu: LDO_REG6 { + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + regulator-name =3D "vcc3v3_pmu"; + regulator-state-mem { + regulator-on-in-suspend; + regulator-suspend-microvolt =3D <3300000>; + }; + }; + + vcca_1v8: LDO_REG7 { + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-name =3D "vcca_1v8"; + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vcca1v8_pmu: LDO_REG8 { + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-name =3D "vcca1v8_pmu"; + regulator-state-mem { + regulator-on-in-suspend; + regulator-suspend-microvolt =3D <1800000>; + }; + }; + + vcca1v8_image: LDO_REG9 { + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-name =3D "vcca1v8_image"; + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vcc_1v8: DCDC_REG5 { + regulator-always-on; + regulator-boot-on; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-name =3D "vcc_1v8"; + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vcc_3v3: SWITCH_REG1 { + regulator-always-on; + regulator-boot-on; + regulator-name =3D "vcc_3v3"; + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + + vcc3v3_sd: SWITCH_REG2 { + regulator-always-on; + regulator-boot-on; + regulator-name =3D "vcc3v3_sd"; + regulator-state-mem { + regulator-off-in-suspend; + }; + }; + }; + + codec { + rockchip,mic-in-differential; + }; + }; +}; + +&i2c1 { + status =3D "okay"; + /* Touch Screen */ +}; + +&i2c4 { + pinctrl-names =3D "default"; + pinctrl-0 =3D <&i2c4m0_xfer>; + status =3D "okay"; + /* Camera */ +}; + +&i2s0_8ch { + status =3D "okay"; + /* HDMI */ +}; + +&i2s1_8ch { + pinctrl-names =3D "default"; + pinctrl-0 =3D <&i2s1m0_sclktx &i2s1m0_lrcktx &i2s1m0_sdi0 &i2s1m0_sdo0>; + rockchip,trcm-sync-tx-only; + status =3D "okay"; + /* PMIC */ +}; + +&i2s2_2ch { + rockchip,trcm-sync-tx-only; + status =3D "okay"; + /* AP6212 Bluetooth */ +}; + +&pinctrl { + bt { + bt_enable_h: bt-enable-h { + rockchip,pins =3D <2 RK_PB7 RK_FUNC_GPIO &pcfg_pull_none>; + }; + + bt_host_wake_l: bt-host-wake-l { + rockchip,pins =3D <2 RK_PC0 RK_FUNC_GPIO &pcfg_pull_down>; + }; + + bt_wake_l: bt-wake-l { + rockchip,pins =3D <2 RK_PC1 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; + + sdio-pwrseq { + wifi_enable_h: wifi-enable-h { + rockchip,pins =3D <2 RK_PB1 RK_FUNC_GPIO &pcfg_pull_none>; + }; + + wifi_host_wake_h: wifi-host-wake-l { + rockchip,pins =3D <2 RK_PB2 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; + + hp-detect { + hp_det: hp-det { + rockchip,pins =3D <4 RK_PC6 RK_FUNC_GPIO &pcfg_pull_up>; + }; + }; + + pmic { + pmic_int: pmic_int { + rockchip,pins =3D <0 RK_PA3 RK_FUNC_GPIO &pcfg_pull_up>; + }; + + soc_slppin_gpio: soc_slppin_gpio { + rockchip,pins =3D <0 RK_PA2 RK_FUNC_GPIO &pcfg_output_low>; + }; + + soc_slppin_slp: soc_slppin_slp { + rockchip,pins =3D <0 RK_PA2 1 &pcfg_pull_up>; + }; + + soc_slppin_rst: soc_slppin_rst { + rockchip,pins =3D <0 RK_PA2 2 &pcfg_pull_none>; + }; + }; + + usb2 { + vcc5v0_host_en: vcc5v0-host-en { + rockchip,pins =3D <4 RK_PC4 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; +}; + +&pmu_io_domains { + pmuio1-supply =3D <&vcc3v3_pmu>; + pmuio2-supply =3D <&vcc3v3_pmu>; + vccio1-supply =3D <&vccio_acodec>; + vccio2-supply =3D <&vccio_flash>; + vccio3-supply =3D <&vccio_sd>; + vccio4-supply =3D <&vccio_wl>; + vccio5-supply =3D <&vcc_3v3>; + vccio6-supply =3D <&vcc_1v8>; + vccio7-supply =3D <&vcc_3v3>; + status =3D "okay"; +}; + +&pmugrf { + reboot-mode { + compatible =3D "syscon-reboot-mode"; + offset =3D <0x200>; + mode-normal =3D ; + mode-loader =3D ; + mode-recovery =3D ; + mode-bootloader =3D ; + }; +}; + +&saradc { + vref-supply =3D <&vcca_1v8>; + status =3D "okay"; + /* Channel 0: Recovery Button */ + /* Channel 1: Hardware ID */ +}; + +&sdhci { + bus-width =3D <8>; + max-frequency =3D <200000000>; + non-removable; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&emmc_bus8 &emmc_clk &emmc_cmd &emmc_datastrobe &emmc_rstn= out>; + status =3D "okay"; + vmmc-supply =3D <&vccio_flash>; + vqmmc-supply =3D <&vccio_flash>; +}; + +&sdmmc0 { + bus-width =3D <4>; + cap-mmc-highspeed; + cap-sd-highspeed; + disable-wp; + max-frequency =3D <150000000>; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det>; + sd-uhs-sdr104; + status =3D "okay"; + vmmc-supply =3D <&vcc3v3_sd>; + vqmmc-supply =3D <&vccio_sd>; +}; + +&sdmmc1 { + bus-width =3D <4>; + cap-sd-highspeed; + cap-sdio-irq; + disable-wp; + keep-power-in-suspend; + max-frequency =3D <150000000>; + mmc-pwrseq =3D <&sdio_pwrseq>; + non-removable; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&sdmmc1_bus4 &sdmmc1_cmd &sdmmc1_clk>; + sd-uhs-sdr104; + status =3D "okay"; + vmmc-supply =3D <&vccio_wl>; + vqmmc-supply =3D <&vccio_wl>; + #address-cells =3D <1>; + #size-cells =3D <0>; + + brcmf: wifi@1 { + compatible =3D "brcm,bcm4329-fmac"; + reg =3D <1>; + interrupt-parent =3D <&gpio2>; + interrupts =3D ; + interrupt-names =3D "host-wake"; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&wifi_host_wake_h>; + }; +}; + +&tsadc { + rockchip,hw-tshut-mode =3D <1>; + rockchip,hw-tshut-polarity =3D <0>; + status =3D "okay"; +}; + +&uart1 { + pinctrl-names =3D "default"; + pinctrl-0 =3D <&uart1m0_xfer &uart1m0_ctsn &uart1m0_rtsn>; + status =3D "okay"; + uart-has-rtscts; + + bluetooth: bluetooth { + compatible =3D "brcm,bcm43438-bt"; + clocks =3D <&rk809 1>; + clock-names =3D "lpo"; + max-speed =3D <3000000>; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&bt_host_wake_l &bt_wake_l &bt_enable_h>; + shutdown-gpios =3D <&gpio2 RK_PB7 GPIO_ACTIVE_HIGH>; + vbat-supply =3D <&vcc3v3_sys>; + vddio-supply =3D <&vccio_wl>; + }; +}; + +&uart2 { + pinctrl-names =3D "default"; + pinctrl-0 =3D <&uart2m0_xfer>; + status =3D "okay"; +}; + +&usb_host0_ohci { + status =3D "okay"; +}; + +&usb_host0_ehci { + status =3D "okay"; +}; + +&usb_host0_xhci { + dr_mode =3D "otg"; + status =3D "okay"; +}; + +&usb_host1_ohci { + status =3D "okay"; +}; + +&usb_host1_ehci { + status =3D "okay"; +}; + +&usb_host1_xhci { + dr_mode =3D "host"; + status =3D "okay"; +}; + +&usb2phy0 { + status =3D "okay"; +}; + +&usb2phy0_host { + phy-supply =3D <&vcc5v0_sys>; + status =3D "okay"; +}; + +&usb2phy0_otg { + phy-supply =3D <&vcc5v0_sys>; + status =3D "okay"; +}; + +&usb2phy1 { + status =3D "okay"; +}; + +&usb2phy1_host { + phy-supply =3D <&vcc5v0_host>; + status =3D "okay"; +}; + +&usb2phy1_otg { + phy-supply =3D <&vcc5v0_host>; + status =3D "okay"; +}; + +&vop { + assigned-clocks =3D <&cru DCLK_VOP0>, <&cru DCLK_VOP1>; + assigned-clock-parents =3D <&pmucru PLL_HPLL>, <&cru PLL_VPLL>; + status =3D "okay"; +}; + +&vop_mmu { + status =3D "okay"; +}; + +&vp0 { + vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 { + reg =3D ; + remote-endpoint =3D <&hdmi_in_vp0>; + }; +}; --=20 2.45.2