mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-22 15:02:32 +00:00
c22c63bce3
Hardware -------- RockChip RK3566 ARM64 (4 cores) - up to 8GB LPDDR4X - 1x HDMI, - 2x MIPI DSI - 2x MIPI CSI2 - 1x eDP - 1x PCIe card - 2x SATA - 2x USB 2.0 Host - 1x USB 3.0 - 1x USB 2.0 OTG - 10/100/1000 Base-T - microSD slot - 40-pin GPIO expansion header - 12V DC Radxa CM3 needs to mount on top of this IO board in order to create complete Radxa CM3 IO board platform. Installation ------------ Uncompress the OpenWrt sysupgrade and write it to a micro SD card or internal eMMC using dd. Reviewed-by: Tianling Shen <cnsztl@immortalwrt.org> Signed-off-by: Marius Durbaca <mariusd84@gmail.com>
234 lines
5.3 KiB
Diff
234 lines
5.3 KiB
Diff
From 096ebfb74b19f2d4bdcbc33ae02e857ff4b3e0a0 Mon Sep 17 00:00:00 2001
|
|
From: Jagan Teki <jagan@amarulasolutions.com>
|
|
Date: Thu, 12 Jan 2023 16:29:02 +0530
|
|
Subject: [PATCH] arm64: dts: rockchip: Add Radxa Compute Module 3 IO board
|
|
|
|
Radxa Compute Module 3(CM3) IO board is an application board from Radxa
|
|
and is compatible with Raspberry Pi CM4 IO form factor.
|
|
|
|
Specification:
|
|
- 1x HDMI,
|
|
- 2x MIPI DSI
|
|
- 2x MIPI CSI2
|
|
- 1x eDP
|
|
- 1x PCIe card
|
|
- 2x SATA
|
|
- 2x USB 2.0 Host
|
|
- 1x USB 3.0
|
|
- 1x USB 2.0 OTG
|
|
- Phone jack
|
|
- microSD slot
|
|
- 40-pin GPIO expansion header
|
|
- 12V DC
|
|
|
|
Radxa CM3 needs to mount on top of this IO board in order to create
|
|
complete Radxa CM3 IO board platform.
|
|
|
|
Add support for Radxa CM3 IO Board.
|
|
|
|
Co-developed-by: FUKAUMI Naoki <naoki@radxa.com>
|
|
Signed-off-by: FUKAUMI Naoki <naoki@radxa.com>
|
|
Co-developed-by: Manoj Sai <abbaraju.manojsai@amarulasolutions.com>
|
|
Signed-off-by: Manoj Sai <abbaraju.manojsai@amarulasolutions.com>
|
|
Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
|
|
Link: https://lore.kernel.org/r/20230112105902.192852-3-jagan@amarulasolutions.com
|
|
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
|
|
---
|
|
arch/arm64/boot/dts/rockchip/Makefile | 1 +
|
|
.../boot/dts/rockchip/rk3566-radxa-cm3-io.dts | 179 ++++++++++++++++++
|
|
2 files changed, 180 insertions(+)
|
|
create mode 100644 arch/arm64/boot/dts/rockchip/rk3566-radxa-cm3-io.dts
|
|
|
|
--- a/arch/arm64/boot/dts/rockchip/Makefile
|
|
+++ b/arch/arm64/boot/dts/rockchip/Makefile
|
|
@@ -70,6 +70,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-pi
|
|
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-pinenote-v1.2.dtb
|
|
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-quartz64-a.dtb
|
|
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-quartz64-b.dtb
|
|
+dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-radxa-cm3-io.dtb
|
|
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-roc-pc.dtb
|
|
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3566-soquartz-cm4.dtb
|
|
dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3568-bpi-r2-pro.dtb
|
|
--- /dev/null
|
|
+++ b/arch/arm64/boot/dts/rockchip/rk3566-radxa-cm3-io.dts
|
|
@@ -0,0 +1,179 @@
|
|
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
|
+/*
|
|
+ * Copyright (c) 2022 Radxa Limited
|
|
+ * Copyright (c) 2022 Amarula Solutions(India)
|
|
+ */
|
|
+
|
|
+/dts-v1/;
|
|
+#include <dt-bindings/soc/rockchip,vop2.h>
|
|
+#include "rk3566.dtsi"
|
|
+#include "rk3566-radxa-cm3.dtsi"
|
|
+
|
|
+/ {
|
|
+ model = "Radxa Compute Module 3(CM3) IO Board";
|
|
+ compatible = "radxa,radxa-cm3-io", "radxa,radxa-cm3", "rockchip,rk3566";
|
|
+
|
|
+ aliases {
|
|
+ mmc1 = &sdmmc0;
|
|
+ };
|
|
+
|
|
+ chosen: chosen {
|
|
+ stdout-path = "serial2:1500000n8";
|
|
+ };
|
|
+
|
|
+ hdmi-con {
|
|
+ compatible = "hdmi-connector";
|
|
+ type = "a";
|
|
+
|
|
+ port {
|
|
+ hdmi_con_in: endpoint {
|
|
+ remote-endpoint = <&hdmi_out_con>;
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+
|
|
+ leds {
|
|
+ compatible = "gpio-leds";
|
|
+
|
|
+ led-1 {
|
|
+ gpios = <&gpio4 RK_PA4 GPIO_ACTIVE_LOW>;
|
|
+ color = <LED_COLOR_ID_GREEN>;
|
|
+ function = LED_FUNCTION_ACTIVITY;
|
|
+ linux,default-trigger = "heartbeat";
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&pi_nled_activity>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ vcc5v0_usb30: vcc5v0-usb30-regulator {
|
|
+ compatible = "regulator-fixed";
|
|
+ regulator-name = "vcc5v0_usb30";
|
|
+ enable-active-high;
|
|
+ gpio = <&gpio3 RK_PC2 GPIO_ACTIVE_HIGH>;
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&vcc5v0_usb30_en_h>;
|
|
+ regulator-always-on;
|
|
+ regulator-min-microvolt = <5000000>;
|
|
+ regulator-max-microvolt = <5000000>;
|
|
+ vin-supply = <&vcc_sys>;
|
|
+ };
|
|
+
|
|
+ vcca1v8_image: vcca1v8-image-regulator {
|
|
+ compatible = "regulator-fixed";
|
|
+ regulator-name = "vcca1v8_image";
|
|
+ regulator-always-on;
|
|
+ regulator-boot-on;
|
|
+ regulator-min-microvolt = <1800000>;
|
|
+ regulator-max-microvolt = <1800000>;
|
|
+ vin-supply = <&vcc_1v8_p>;
|
|
+ };
|
|
+
|
|
+ vdda0v9_image: vdda0v9-image-regulator {
|
|
+ compatible = "regulator-fixed";
|
|
+ regulator-name = "vcca0v9_image";
|
|
+ regulator-always-on;
|
|
+ regulator-boot-on;
|
|
+ regulator-min-microvolt = <900000>;
|
|
+ regulator-max-microvolt = <900000>;
|
|
+ vin-supply = <&vdda_0v9>;
|
|
+ };
|
|
+};
|
|
+
|
|
+&combphy1 {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&hdmi {
|
|
+ avdd-0v9-supply = <&vdda0v9_image>;
|
|
+ avdd-1v8-supply = <&vcca1v8_image>;
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&hdmi_in {
|
|
+ hdmi_in_vp0: endpoint {
|
|
+ remote-endpoint = <&vp0_out_hdmi>;
|
|
+ };
|
|
+};
|
|
+
|
|
+&hdmi_out {
|
|
+ hdmi_out_con: endpoint {
|
|
+ remote-endpoint = <&hdmi_con_in>;
|
|
+ };
|
|
+};
|
|
+
|
|
+&hdmi_sound {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&pinctrl {
|
|
+ leds {
|
|
+ pi_nled_activity: pi-nled-activity {
|
|
+ rockchip,pins = <4 RK_PA4 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ sdcard {
|
|
+ sdmmc_pwren: sdmmc-pwren {
|
|
+ rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ usb {
|
|
+ vcc5v0_usb30_en_h: vcc5v0-host-en-h {
|
|
+ rockchip,pins = <3 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>;
|
|
+ };
|
|
+ };
|
|
+};
|
|
+
|
|
+&sdmmc0 {
|
|
+ bus-width = <4>;
|
|
+ cap-mmc-highspeed;
|
|
+ cap-sd-highspeed;
|
|
+ disable-wp;
|
|
+ vqmmc-supply = <&vccio_sd>;
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&sdmmc0_bus4 &sdmmc0_clk &sdmmc0_cmd &sdmmc0_det &sdmmc0_pwren>;
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&uart2 {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&usb2phy0_host {
|
|
+ phy-supply = <&vcc5v0_usb30>;
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&usb2phy1_host {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&usb2phy1_otg {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&usb_host0_ehci {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&usb_host1_xhci {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&vop {
|
|
+ assigned-clocks = <&cru DCLK_VOP0>, <&cru DCLK_VOP1>;
|
|
+ assigned-clock-parents = <&pmucru PLL_HPLL>, <&cru PLL_VPLL>;
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&vop_mmu {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&vp0 {
|
|
+ vp0_out_hdmi: endpoint@ROCKCHIP_VOP2_EP_HDMI0 {
|
|
+ reg = <ROCKCHIP_VOP2_EP_HDMI0>;
|
|
+ remote-endpoint = <&hdmi_in_vp0>;
|
|
+ };
|
|
+};
|