New board: Alientek DLRV1126

Eeprom for RK3288-Tinker-board
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAmpoyGAQHGhlaWtvQHNu
 dGVjaC5kZQAKCRDzpnnJnNEdgfKMCACfa23K3g+Si+w8YLFMICogpgV2qFElEWOe
 d+NOpQyW8TJ0zR10rkp8qYjnrLRHtDCMuYWo/zrKaPtyqu4VWNpXORdyRTRjGG/z
 ANa7lOddm9kWHAT0HLLgAgZ5BafzdMveEyrLhf1E1M/8h/u6DvpYuNY9PTkPFjNf
 YG/i0/Cgzmbyxum5aScFYqTuL37trqVWXDb2SHMbpJ8psHDwNz82JRmAL8c11hco
 +BSjmf0rPkyDpOP1aV7jOfYQuziKCwWw3rQ/6F6DspI4MhpWfgXFqUXKQ7c302CM
 IILMfwBCw45fBPN1mv/viQ+Hb5P9WJ0ec5Fc5NY6AHvy9qEVxVxv
 =KRE5
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmpqAl0ACgkQmmx57+YA
 GNmV/RAAvcSWvBPMYWDRKy6WZg+fOBbOJ4wpliGw5uYTZugphZzpVfPNDoOrz8kS
 cudFJAJqN7t/qVWFx1DSF+M7BpG7jqwvjx3drMYASLFmvHdvGW6XpdFTmNci45DX
 4c3nVlmViUotWpCn+UYW8Uxf4O0B/fRn/Yy/+ElcWRZitdzkVr7hyazbRT9Utk9I
 OkjMwsoNHYJ3JRCxeN+XAuTTYHNAvOHrdMsz0YEs/cufB28FNvt0cYmlWPXvfQgG
 xcW2Kcr8g2SPKWKqp2QLoOQr8Bus9eII8876uqUp6+vrhoJq6gOscoI59Q149+Nj
 8NI+6j8JOV8oJwJ363UZLD2kmzz3NTD+XyY1r94uCW/iL3X749wKTAssMvTqIMQP
 0WUpn8hq5i6C3b5bRLRbYJA70JGWr1ZjZcmHd2VzsOJyENhzBBPdpcotMUonLkyR
 GkvHgrgo4Lw7CqjPvQosvr7K73BtDGQw0lb5n0Jlj/kHsIPfDhRT5vZkRuw8B98f
 GHUPB98Q27DCKrdEUUyMkfMB4LPZRid4wt/8iHImd4Hn9kzXwMSJpkMRFfeIYvvS
 KUo8QysezM+zyMIxLtJ7n+ke70eze2v7yVQN1Ao0uh5Fqy5eiKQyEiAFj7f4TOw0
 3Hx3MATAYWjrUp/SdCbRZXR/F07noA/zuK4sZcB7l1htCsTRXq0=
 =KCfs
 -----END PGP SIGNATURE-----

Merge tag 'v7.3-rockchip-dts32-1' of https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into soc/dt

New board: Alientek DLRV1126
Eeprom for RK3288-Tinker-board

* tag 'v7.3-rockchip-dts32-1' of https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  ARM: dts: rockchip: Add Alientek DLRV1126
  ARM: dts: rockchip: Add RV1126 I2C5
  dt-bindings: arm: rockchip: Add Alientek DLRV1126
  dt-bindings: vendor-prefixes: add alientek
  ARM: dts: rockchip: add eeprom node to rk3288-tinker

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
Arnd Bergmann 2026-07-29 15:36:27 +02:00
commit d2ccddbbcc
8 changed files with 587 additions and 0 deletions

View File

@ -162,6 +162,13 @@ properties:
- const: coolpi,pi-4b
- const: rockchip,rk3588s
- description: Alientek CLRV1126F SoM based boards
items:
- enum:
- alientek,dlrv1126
- const: alientek,clrv1126f
- const: rockchip,rv1126
- description: Edgeble Neural Compute Module 2(Neu2) SoM based boards
items:
- const: edgeble,neural-compute-module-2-io # Edgeble Neural Compute Module 2 IO Board

View File

@ -88,6 +88,8 @@ patternProperties:
description: ALFA Network Inc.
"^algoltek,.*":
description: AlgolTek, Inc.
"^alientek,.*":
description: Guangzhou Xingyi Intelligent Technology Co., Ltd.
"^allegro,.*":
description: Allegro DVT
"^allegromicro,.*":

View File

@ -5,6 +5,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += \
rv1108-evb.dtb \
rv1109-relfor-saib.dtb \
rv1109-sonoff-ihost.dtb \
rv1126-alientek-dlrv1126.dtb \
rv1126-edgeble-neu2-io.dtb \
rv1126-sonoff-ihost.dtb \
rk3036-evb.dtb \

View File

@ -344,6 +344,11 @@ regulator-state-mem {
&i2c2 {
status = "okay";
eeprom@50 {
compatible = "atmel,24c08";
reg = <0x50>;
};
};
&i2c5 {

View File

@ -0,0 +1,291 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2026 Yanan He <grumpycat921013@gmail.com>
*/
#include "rv1126.dtsi"
/ {
compatible = "alientek,clrv1126f", "rockchip,rv1126";
aliases {
mmc0 = &emmc;
};
};
&cpu0 {
cpu-supply = <&vdd_arm>;
};
&cpu1 {
cpu-supply = <&vdd_arm>;
};
&cpu2 {
cpu-supply = <&vdd_arm>;
};
&cpu3 {
cpu-supply = <&vdd_arm>;
};
&emmc {
bus-width = <8>;
cap-mmc-highspeed;
mmc-hs200-1_8v;
non-removable;
pinctrl-names = "default";
pinctrl-0 = <&emmc_bus8 &emmc_cmd &emmc_clk &emmc_rstnout>;
rockchip,default-sample-phase = <90>;
vmmc-supply = <&vcc_3v3>;
vqmmc-supply = <&vcc_1v8>;
status = "okay";
};
&i2c0 {
clock-frequency = <400000>;
status = "okay";
rk809: pmic@20 {
compatible = "rockchip,rk809";
reg = <0x20>;
interrupt-parent = <&gpio0>;
interrupts = <RK_PB1 IRQ_TYPE_LEVEL_LOW>;
#clock-cells = <1>;
#sound-dai-cells = <0>;
clock-output-names = "rk808-clkout1", "rk808-clkout2";
clock-names = "mclk";
clocks = <&cru MCLK_I2S0_TX_OUT2IO>;
assigned-clocks = <&cru MCLK_I2S0_TX_OUT2IO>;
assigned-clock-parents = <&cru MCLK_I2S0_TX>;
pinctrl-names = "default";
pinctrl-0 = <&pmic_int_l>;
rockchip,system-power-controller;
wakeup-source;
vcc1-supply = <&vcc5v0_sys>;
vcc2-supply = <&vcc5v0_sys>;
vcc3-supply = <&vcc5v0_sys>;
vcc4-supply = <&vcc5v0_sys>;
vcc5-supply = <&vcc_buck5>;
vcc6-supply = <&vcc_buck5>;
vcc7-supply = <&vcc5v0_sys>;
vcc8-supply = <&vcc3v3_sys>;
vcc9-supply = <&vcc5v0_sys>;
regulators {
vdd_npu_vepu: DCDC_REG1 {
regulator-name = "vdd_npu_vepu";
regulator-always-on;
regulator-boot-on;
regulator-initial-mode = <0x2>;
regulator-min-microvolt = <650000>;
regulator-max-microvolt = <950000>;
regulator-ramp-delay = <6001>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
vdd_arm: DCDC_REG2 {
regulator-name = "vdd_arm";
regulator-always-on;
regulator-boot-on;
regulator-initial-mode = <0x2>;
regulator-min-microvolt = <725000>;
regulator-max-microvolt = <1350000>;
regulator-ramp-delay = <6001>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
vcc_ddr: DCDC_REG3 {
regulator-name = "vcc_ddr";
regulator-always-on;
regulator-boot-on;
regulator-initial-mode = <0x2>;
regulator-state-mem {
regulator-on-in-suspend;
};
};
vcc3v3_sys: DCDC_REG4 {
regulator-name = "vcc3v3_sys";
regulator-always-on;
regulator-boot-on;
regulator-initial-mode = <0x2>;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <3300000>;
};
};
vcc_buck5: DCDC_REG5 {
regulator-name = "vcc_buck5";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <2200000>;
regulator-max-microvolt = <2200000>;
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <2200000>;
};
};
vcc_0v8: LDO_REG1 {
regulator-name = "vcc_0v8";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <800000>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
vcc1v8_pmu: LDO_REG2 {
regulator-name = "vcc1v8_pmu";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1800000>;
};
};
vdd0v8_pmu: LDO_REG3 {
regulator-name = "vcc0v8_pmu";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <800000>;
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <800000>;
};
};
vcc_1v8: LDO_REG4 {
regulator-name = "vcc_1v8";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-state-mem {
regulator-on-in-suspend;
regulator-suspend-microvolt = <1800000>;
};
};
vcc_dovdd: LDO_REG5 {
regulator-name = "vcc_dovdd";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
vcc_dvdd: LDO_REG6 {
regulator-name = "vcc_dvdd";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
vcc_avdd: LDO_REG7 {
regulator-name = "vcc_avdd";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
vccio_sd: LDO_REG8 {
regulator-name = "vccio_sd";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
vcc3v3_sd: LDO_REG9 {
regulator-name = "vcc3v3_sd";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
vcc_5v0: SWITCH_REG1 {
regulator-name = "vcc_5v0";
};
vcc_3v3: SWITCH_REG2 {
regulator-name = "vcc_3v3";
regulator-always-on;
regulator-boot-on;
};
};
};
};
&pinctrl {
pmic {
pmic_int_l: pmic-int-l {
rockchip,pins = <0 RK_PB1 RK_FUNC_GPIO &pcfg_pull_up>;
};
};
};
&pmu_io_domains {
pmuio0-supply = <&vcc3v3_sys>;
pmuio1-supply = <&vcc3v3_sys>;
vccio1-supply = <&vcc_1v8>;
vccio2-supply = <&vccio_sd>;
vccio3-supply = <&vcc_1v8>;
vccio4-supply = <&vcc_3v3>;
vccio5-supply = <&vcc_3v3>;
vccio6-supply = <&vcc_3v3>;
vccio7-supply = <&vcc_1v8>;
status = "okay";
};
&saradc {
vref-supply = <&vcc_1v8>;
status = "okay";
};
&wdt {
status = "okay";
};

View File

@ -0,0 +1,256 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2026 Yanan He <grumpycat921013@gmail.com>
*/
/dts-v1/;
#include <dt-bindings/input/input.h>
#include "rv1126-alientek-clrv1126f.dtsi"
/ {
model = "Alientek ATK-DLRV1126";
compatible = "alientek,dlrv1126", "alientek,clrv1126f", "rockchip,rv1126";
aliases {
ethernet0 = &gmac;
mmc1 = &sdio;
mmc2 = &sdmmc;
};
chosen {
stdout-path = "serial2:1500000n8";
};
adc-keys {
compatible = "adc-keys";
io-channels = <&saradc 0>;
io-channel-names = "buttons";
keyup-threshold-microvolt = <1800000>;
poll-interval = <100>;
button-esc {
label = "esc";
linux,code = <KEY_ESC>;
press-threshold-microvolt = <0>;
};
button-left {
label = "left";
linux,code = <KEY_LEFT>;
press-threshold-microvolt = <801562>;
};
button-menu {
label = "menu";
linux,code = <KEY_MENU>;
press-threshold-microvolt = <1198828>;
};
button-right {
label = "right";
linux,code = <KEY_RIGHT>;
press-threshold-microvolt = <400781>;
};
};
leds {
compatible = "gpio-leds";
led-0 {
label = "sys-led";
gpios = <&gpio3 RK_PD4 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "heartbeat";
default-state = "on";
};
led-1 {
label = "user-led";
gpios = <&gpio3 RK_PD6 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "none";
default-state = "on";
};
};
sound {
compatible = "simple-audio-card";
simple-audio-card,format = "i2s";
simple-audio-card,name = "Analog RK809";
simple-audio-card,mclk-fs = <256>;
simple-audio-card,widgets =
"Speaker", "Speaker",
"Headphone", "Headphones",
"Microphone", "Mic Jack";
simple-audio-card,routing =
"Speaker", "SPKO",
"Headphones", "HPOL",
"Headphones", "HPOR",
"MICL", "Mic Jack";
simple-audio-card,cpu {
sound-dai = <&i2s0>;
};
simple-audio-card,codec {
sound-dai = <&rk809>;
};
};
vcc5v0_sys: regulator-vcc5v0-sys {
compatible = "regulator-fixed";
regulator-name = "vcc5v0_sys";
regulator-always-on;
regulator-boot-on;
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
};
sdio_pwrseq: pwrseq-sdio {
compatible = "mmc-pwrseq-simple";
pinctrl-names = "default";
pinctrl-0 = <&wifi_enable_h>;
reset-gpios = <&gpio0 RK_PA6 GPIO_ACTIVE_LOW>;
post-power-on-delay-ms = <200>;
power-off-delay-us = <20000>;
};
};
&gmac {
assigned-clocks = <&cru CLK_GMAC_SRC>, <&cru CLK_GMAC_TX_RX>,
<&cru CLK_GMAC_ETHERNET_OUT>;
assigned-clock-parents = <&cru CLK_GMAC_SRC_M1>,
<&cru RGMII_MODE_CLK>;
assigned-clock-rates = <125000000>, <0>, <25000000>;
clock_in_out = "input";
phy-handle = <&phy>;
phy-mode = "rgmii-id";
pinctrl-names = "default";
pinctrl-0 = <&rgmiim1_miim &rgmiim1_bus2 &rgmiim1_bus4
&clk_out_ethernetm1_pins>;
status = "okay";
};
&i2c5 {
status = "okay";
clock-frequency = <400000>;
pcf8563: rtc@51 {
compatible = "nxp,pcf8563";
reg = <0x51>;
#clock-cells = <0>;
clock-output-names = "xin32k";
interrupt-parent = <&gpio1>;
interrupts = <RK_PD0 IRQ_TYPE_LEVEL_LOW>;
};
};
&i2s0 {
pinctrl-names = "default";
pinctrl-0 = <&i2s0m0_sclk_tx>,
<&i2s0m0_mclk>,
<&i2s0m0_lrck_tx>,
<&i2s0m0_sdo0>,
<&i2s0m0_sdo1_sdi3>;
rockchip,trcm-sync-tx-only;
rockchip,i2s-rx-route = <3 1 2 0>;
rockchip,i2s-tx-route = <0 1 2 3>;
status = "okay";
};
&mdio {
phy: ethernet-phy@1 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <0x1>;
clocks = <&cru CLK_GMAC_ETHERNET_OUT>;
pinctrl-names = "default";
pinctrl-0 = <&eth_phy_rst>;
reset-gpios = <&gpio3 RK_PA0 GPIO_ACTIVE_LOW>;
reset-assert-us = <20000>;
reset-deassert-us = <100000>;
};
};
&pinctrl {
bt {
bt_enable: bt-enable {
rockchip,pins = <0 RK_PA7 RK_FUNC_GPIO &pcfg_pull_none>;
};
bt_wake_dev: bt-wake-dev {
rockchip,pins = <1 RK_PD1 RK_FUNC_GPIO &pcfg_pull_none>;
};
bt_wake_host: bt-wake-host {
rockchip,pins = <0 RK_PA5 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
ethernet {
eth_phy_rst: eth-phy-rst {
rockchip,pins = <3 RK_PA0 RK_FUNC_GPIO &pcfg_pull_down>;
};
};
wifi {
wifi_enable_h: wifi-enable-h {
rockchip,pins = <0 RK_PA6 RK_FUNC_GPIO &pcfg_pull_none>;
};
};
};
&sdio {
bus-width = <4>;
cap-sdio-irq;
keep-power-in-suspend;
max-frequency = <25000000>;
mmc-pwrseq = <&sdio_pwrseq>;
non-removable;
pinctrl-names = "default";
pinctrl-0 = <&sdmmc1_clk &sdmmc1_cmd &sdmmc1_bus4>;
rockchip,default-sample-phase = <90>;
vmmc-supply = <&vcc3v3_sd>;
vqmmc-supply = <&vcc_1v8>;
status = "okay";
};
&sdmmc {
bus-width = <4>;
cap-mmc-highspeed;
cap-sd-highspeed;
card-detect-delay = <200>;
pinctrl-names = "default";
pinctrl-0 = <&sdmmc0_clk &sdmmc0_cmd &sdmmc0_bus4 &sdmmc0_det>;
rockchip,default-sample-phase = <90>;
sd-uhs-sdr12;
sd-uhs-sdr25;
sd-uhs-sdr104;
vmmc-supply = <&vcc3v3_sd>;
vqmmc-supply = <&vccio_sd>;
status = "okay";
};
&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_xfer &uart0_ctsn &uart0_rtsn>;
uart-has-rtscts;
status = "okay";
bluetooth {
compatible = "brcm,bcm43430a1-bt";
clocks = <&rk809 1>;
clock-names = "lpo";
device-wakeup-gpios = <&gpio1 RK_PD1 GPIO_ACTIVE_HIGH>;
interrupt-parent = <&gpio0>;
interrupts = <RK_PA5 IRQ_TYPE_EDGE_RISING>;
interrupt-names = "host-wakeup";
max-speed = <115200>;
pinctrl-names = "default";
pinctrl-0 = <&bt_enable>, <&bt_wake_dev>, <&bt_wake_host>;
shutdown-gpios = <&gpio0 RK_PA7 GPIO_ACTIVE_HIGH>;
vbat-supply = <&vcc_3v3>;
vddio-supply = <&vcc_1v8>;
};
};
&uart2 {
status = "okay";
};

View File

@ -123,6 +123,16 @@ i2c3m2_xfer: i2c3m2-xfer {
<1 RK_PD7 3 &pcfg_pull_none>;
};
};
i2c5 {
/omit-if-no-ref/
i2c5m0_xfer: i2c5m0-xfer {
rockchip,pins =
/* i2c5_scl_m0 */
<2 RK_PA5 7 &pcfg_pull_none_drv_level_0_smt>,
/* i2c5_sda_m0 */
<2 RK_PB3 7 &pcfg_pull_none_drv_level_0_smt>;
};
};
i2s0 {
i2s0m0_lrck_tx: i2s0m0-lrck-tx {
rockchip,pins =

View File

@ -23,6 +23,7 @@ aliases {
i2c0 = &i2c0;
i2c2 = &i2c2;
i2c3 = &i2c3;
i2c5 = &i2c5;
serial0 = &uart0;
serial1 = &uart1;
serial2 = &uart2;
@ -400,6 +401,20 @@ i2c3: i2c@ff520000 {
status = "disabled";
};
i2c5: i2c@ff540000 {
compatible = "rockchip,rv1126-i2c", "rockchip,rk3399-i2c";
reg = <0xff540000 0x1000>;
interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cru CLK_I2C5>, <&cru PCLK_I2C5>;
clock-names = "i2c", "pclk";
pinctrl-names = "default";
pinctrl-0 = <&i2c5m0_xfer>;
rockchip,grf = <&pmugrf>;
#address-cells = <1>;
#size-cells = <0>;
status = "disabled";
};
pwm8: pwm@ff550000 {
compatible = "rockchip,rv1126-pwm", "rockchip,rk3328-pwm";
reg = <0xff550000 0x10>;