217 lines
4.3 KiB
Diff
217 lines
4.3 KiB
Diff
|
From 3d8e4be5ff1783dffc6cad7d69f06366e0eb5d6c Mon Sep 17 00:00:00 2001
|
||
|
From: Igor Pecovnik <igor.pecovnik@gmail.com>
|
||
|
Date: Mon, 7 Sep 2020 21:21:55 +0200
|
||
|
Subject: [PATCH] Add Nanopi Neo3 with enabled I2S and spdif
|
||
|
|
||
|
Signed-off-by: Igor Pecovnik <igor.pecovnik@gmail.com>
|
||
|
---
|
||
|
arch/arm64/boot/dts/rockchip/Makefile | 1 +
|
||
|
.../dts/rockchip/rk3328-nanopi-neo3-rev02.dts | 195 ++++++++++++++++++
|
||
|
2 files changed, 196 insertions(+)
|
||
|
create mode 100644 arch/arm64/boot/dts/rockchip/rk3328-nanopi-neo3-rev02.dts
|
||
|
|
||
|
diff --git a/arch/arm64/boot/dts/rockchip/rk3328-nanopi-neo3-rev02.dts b/arch/arm64/boot/dts/rockchip/rk3328-nanopi-neo3-rev02.dts
|
||
|
new file mode 100644
|
||
|
index 000000000..bf0a625fe
|
||
|
--- /dev/null
|
||
|
+++ b/arch/arm64/boot/dts/rockchip/rk3328-nanopi-neo3-rev02.dts
|
||
|
@@ -0,0 +1,195 @@
|
||
|
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||
|
+/*
|
||
|
+ * Copyright (c) 2019 FriendlyElec Computer Tech. Co., Ltd.
|
||
|
+ * (http://www.friendlyarm.com)
|
||
|
+ */
|
||
|
+
|
||
|
+/dts-v1/;
|
||
|
+#include <dt-bindings/input/linux-event-codes.h>
|
||
|
+#include "rk3328-nanopi-r2-common.dtsi"
|
||
|
+
|
||
|
+/ {
|
||
|
+ model = "FriendlyElec NanoPi NEO3";
|
||
|
+ compatible = "friendlyelec,nanopi-neo3", "rockchip,rk3328";
|
||
|
+
|
||
|
+ gpio-keys {
|
||
|
+ compatible = "gpio-keys";
|
||
|
+ #address-cells = <1>;
|
||
|
+ #size-cells = <0>;
|
||
|
+ autorepeat;
|
||
|
+
|
||
|
+ pinctrl-names = "default";
|
||
|
+ pinctrl-0 = <&gpio_key1>;
|
||
|
+
|
||
|
+ button@0 {
|
||
|
+ gpios = <&gpio0 RK_PA0 GPIO_ACTIVE_LOW>;
|
||
|
+ label = "reset";
|
||
|
+ linux,code = <BTN_1>;
|
||
|
+ linux,input-type = <1>;
|
||
|
+ gpio-key,wakeup = <1>;
|
||
|
+ debounce-interval = <100>;
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
+ i2s-sound {
|
||
|
+ compatible = "simple-audio-card";
|
||
|
+ simple-audio-card,format = "i2s";
|
||
|
+ simple-audio-card,mclk-fs = <256>;
|
||
|
+ simple-audio-card,name = "I2S Out";
|
||
|
+ status = "okay";
|
||
|
+
|
||
|
+ simple-audio-card,cpu {
|
||
|
+ sound-dai = <&i2s1>;
|
||
|
+ };
|
||
|
+
|
||
|
+ simple-audio-card,codec {
|
||
|
+ sound-dai = <&pcm5102>;
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
+ pcm5102: pcm510x {
|
||
|
+ #sound-dai-cells = <0>;
|
||
|
+ compatible = "ti,pcm5102a";
|
||
|
+ pcm510x,format = "i2s";
|
||
|
+ };
|
||
|
+
|
||
|
+ sound-spdif {
|
||
|
+ compatible = "simple-audio-card";
|
||
|
+ simple-audio-card,name = "SPDIF";
|
||
|
+ simple-audio-card,cpu {
|
||
|
+ sound-dai = <&spdif>;
|
||
|
+ };
|
||
|
+ simple-audio-card,codec {
|
||
|
+ sound-dai = <&spdif_out>;
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
+ spdif_out: spdif-out {
|
||
|
+ compatible = "linux,spdif-dit";
|
||
|
+ #sound-dai-cells = <0>;
|
||
|
+ };
|
||
|
+
|
||
|
+ vcc_rtl8153: vcc-rtl8153-regulator {
|
||
|
+ compatible = "regulator-fixed";
|
||
|
+ gpio = <&gpio2 RK_PC6 GPIO_ACTIVE_HIGH>;
|
||
|
+ pinctrl-names = "default";
|
||
|
+ pinctrl-0 = <&usb30_en_drv>;
|
||
|
+ regulator-always-on;
|
||
|
+ regulator-name = "vcc_rtl8153";
|
||
|
+ regulator-min-microvolt = <5000000>;
|
||
|
+ regulator-max-microvolt = <5000000>;
|
||
|
+ off-on-delay-us = <5000>;
|
||
|
+ enable-active-high;
|
||
|
+ };
|
||
|
+};
|
||
|
+
|
||
|
+&mach {
|
||
|
+ hwrev = <2>;
|
||
|
+ model = "NanoPi NEO3";
|
||
|
+};
|
||
|
+
|
||
|
+&i2s1 {
|
||
|
+ rockchip,playback-channels = <2>;
|
||
|
+ pinctrl-names = "default";
|
||
|
+ pinctrl-0 = <&i2s1_mclk
|
||
|
+ &i2s1_sclk
|
||
|
+ &i2s1_lrcktx
|
||
|
+ &i2s1_lrckrx
|
||
|
+ &i2s1_sdo
|
||
|
+ &i2s1_sdi>;
|
||
|
+ status = "okay";
|
||
|
+};
|
||
|
+
|
||
|
+&spdif {
|
||
|
+ status = "okay";
|
||
|
+ pinctrl-0 = <&spdifm0_tx>;
|
||
|
+};
|
||
|
+
|
||
|
+&emmc {
|
||
|
+ status = "disabled";
|
||
|
+};
|
||
|
+
|
||
|
+&i2c0 {
|
||
|
+ status = "okay";
|
||
|
+};
|
||
|
+
|
||
|
+&leds {
|
||
|
+ status = "okay";
|
||
|
+
|
||
|
+};
|
||
|
+
|
||
|
+&leds_gpio {
|
||
|
+ rockchip,pins =
|
||
|
+ <0 RK_PA2 RK_FUNC_GPIO &pcfg_pull_none>;
|
||
|
+};
|
||
|
+
|
||
|
+&pwm2 {
|
||
|
+ pinctrl-names = "default", "sleep";
|
||
|
+ pinctrl-1 = <&pwm2_sleep_pin>;
|
||
|
+ status = "okay";
|
||
|
+};
|
||
|
+
|
||
|
+&rk805 {
|
||
|
+ interrupt-parent = <&gpio1>;
|
||
|
+ interrupts = <RK_PD0 IRQ_TYPE_LEVEL_LOW>;
|
||
|
+};
|
||
|
+
|
||
|
+&vccio_sd {
|
||
|
+ status = "okay";
|
||
|
+};
|
||
|
+
|
||
|
+&io_domains {
|
||
|
+ vccio3-supply = <&vccio_sd>;
|
||
|
+};
|
||
|
+
|
||
|
+&sdmmc {
|
||
|
+ vqmmc-supply = <&vccio_sd>;
|
||
|
+ max-frequency = <150000000>;
|
||
|
+ sd-uhs-sdr50;
|
||
|
+ sd-uhs-sdr104;
|
||
|
+ status = "okay";
|
||
|
+};
|
||
|
+
|
||
|
+&sdmmc_ext {
|
||
|
+ status = "disabled";
|
||
|
+};
|
||
|
+
|
||
|
+&sdio_pwrseq {
|
||
|
+ status = "disabled";
|
||
|
+};
|
||
|
+
|
||
|
+&pinctrl {
|
||
|
+ pmic {
|
||
|
+ pmic_int_l: pmic-int-l {
|
||
|
+ rockchip,pins = <1 RK_PD0 RK_FUNC_GPIO &pcfg_pull_up>;
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
+ pwm {
|
||
|
+ pwm2_sleep_pin: pwm2-sleep-pin {
|
||
|
+ rockchip,pins = <2 RK_PA6 RK_FUNC_GPIO &pcfg_output_low>;
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
+ rockchip-key {
|
||
|
+ gpio_key1: gpio-key1 {
|
||
|
+ rockchip,pins = <0 RK_PA0 RK_FUNC_GPIO &pcfg_pull_none>;
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
+ usb {
|
||
|
+ otg_vbus_drv: otg-vbus-drv {
|
||
|
+ rockchip,pins = <1 RK_PD2 RK_FUNC_GPIO &pcfg_pull_none>;
|
||
|
+ };
|
||
|
+
|
||
|
+ usb30_en_drv: usb30-en-drv {
|
||
|
+ rockchip,pins = <2 RK_PC6 RK_FUNC_GPIO &pcfg_pull_none>;
|
||
|
+ };
|
||
|
+ };
|
||
|
+};
|
||
|
+
|
||
|
+&uart1{
|
||
|
+ status = "okay";
|
||
|
+ pinctl-0 = <&uart1_xfer>;
|
||
|
+};
|
||
|
+
|
||
|
--
|
||
|
Created with Armbian build tools https://github.com/armbian/build
|
||
|
|