Allwinner device tree changes for 7.3

Some changes for old chips/devices and some for recent ones.
 
 - A10 PMU interrupt number fixed
 - A100/A133 gained LRADC
 - enabled overlay support for sun8i-h2-plus pi boards
 - A523 family gained consumer IR receiver
 - H728-based X96QPRO+ gained SPDIF audio output
 - PinePhone's mpu6050 mount orientation fixed
 - style fixes
 
 New board added:
 - Baijie Helper A133
 - NetCube Systems OpenNMC (dobermann)
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE2nN1m/hhnkhOWjtHOJpUIZwPJDAFAmpwvNYQHHdlbnNAa2Vy
 bmVsLm9yZwAKCRA4mlQhnA8kMC8qD/0R7T3AqT3n2HChF6NLv5mGqbJSxmTqG7FN
 FsJ9YuL+6ooeMRnktXypf1tagaVwZjz31U6LsCEPtmyxMZBrNXW0vE5iukvXVxG7
 /F1Ar9vezQ1BVtd5qAdLbsWGQRfxsaTtk38sqYP+m1EObFKaxIKrf6VN8pX94uyM
 pJFXnIY0uEgHedEIzHphJYJP/y+r0WuvcI2ydpRU2u0yyBIj8JxY+pYvCeG8mw9x
 QXSZkDrz3ImdsHQqyMDN9lUEsgg/41DL9PyEcaiu0hv0Jiik0hQmX+NRZvo16LmO
 JZJjpPyVVxIxTGB15Bnh1z8dU+fPcmXxTOYJfDmYEI87Y81nUD1tG3UtyrOsirt2
 aler/di3aAPUw9IysEyTU56vrAE2e76iCHhgO/Ba27Wi9HYjnRD4t+xSmLO5LXOv
 HlcRrzg5VPzlrXlabkuZQbJPfeqoZlwi08NCZxAo5mFeuDWuEDC5qnJzHezouicG
 DpAMchWZaTr+6wdFOUegZbGeNIp9LqK4Im/ySFmP2pGtBQ6avyLii9vlp52cc5Na
 banc4LgSigNFJVGKZ48DCk6q9ACfG8MTGLkT0wyRr5/1C4Aqrsd4LBptcsESk2Wv
 FbAneZj/nIs/Zke+Ek3tuVCx76KOt+2jxeTIp8gd7WWJGOWT+q2I5UBv2qTOvhfA
 0Z/dB/ll4A==
 =S3xU
 -----END PGP SIGNATURE-----

Merge tag 'sunxi-dt-for-7.3' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into soc/dt

Allwinner device tree changes for 7.3

Some changes for old chips/devices and some for recent ones.

- A10 PMU interrupt number fixed
- A100/A133 gained LRADC
- enabled overlay support for sun8i-h2-plus pi boards
- A523 family gained consumer IR receiver
- H728-based X96QPRO+ gained SPDIF audio output
- PinePhone's mpu6050 mount orientation fixed
- style fixes

New board added:
- Baijie Helper A133
- NetCube Systems OpenNMC (dobermann)

* tag 'sunxi-dt-for-7.3' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  arm64: dts: allwinner: Correct white-space style
  ARM: dts: allwinner: Correct white-space style
  arm64: dts: allwinner: a523: Enable SPDIF on X96QPRO+
  arm64: dts: allwinner: a523: Add SPDIF output PH pin mux option
  arm64: dts: allwinner: sun50i-a64-pinephone: Fix mpu6050 mount matrix
  arm64: dts: allwinner: a523: enable IR on the Avaota A1
  arm64: dts: allwinner: a523: enable IR receiver on the X96Q Pro+
  arm64: dts: allwinner: a523: add IR receiver nodes
  media: dt-bindings: allwinner,sun4i-a10-ir: add A523 compatible
  ARM: dts: allwinner: a10: Fix PMU interrupt
  ARM: dts: allwinner: enable overlay support for sun8i-h2-plus pi boards
  ARM: dts: allwinner: add support for NetCube Systems OpenNMC (dobermann)
  riscv: dts: allwinner: d1s-t113: Add uart4 pinctrl required by NetCube Systems OpenNMC
  dt-bindings: arm: sunxi: Add NetCube Systems OpenNMC (dobermann)
  ARM: dts: allwinner: sun8i-h3: Correct indentation
  arm64: dts: allwinner: A133: add support for Baijie Helper A133 board
  arm64: dts: allwinner: a100: Add LRADC node
  dt-bindings: input: sun4i-lradc-keys: Add A100/A133 compatible
  dt-bindings: arm: sunxi: Add Baijie HelperBoard A133 compatible
  dt-bindings: vendor-prefixes: Add Shenzhen Baijie Technology Co., Ltd.

Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
This commit is contained in:
Alexandre Belloni 2026-08-08 19:00:43 +02:00
commit ff1d40db21
27 changed files with 627 additions and 20 deletions

View File

@ -96,6 +96,12 @@ properties:
- const: allwinner,ba10-tvbox
- const: allwinner,sun4i-a10
- description: Baijie A133 HelperBoard
items:
- const: baijie,helperboard-a133
- const: baijie,helperboard-a133-core
- const: allwinner,sun50i-a100
- description: BananaPi
items:
- const: lemaker,bananapi
@ -598,6 +604,7 @@ properties:
- description: NetCube Systems Nagami SoM based boards
items:
- enum:
- netcube,dobermann
- netcube,nagami-basic-carrier
- netcube,nagami-keypad-carrier
- const: netcube,nagami

View File

@ -23,6 +23,7 @@ properties:
- const: allwinner,sun50i-r329-lradc
- items:
- enum:
- allwinner,sun50i-a100-lradc
- allwinner,sun50i-h616-lradc
- allwinner,sun20i-d1-lradc
- const: allwinner,sun50i-r329-lradc

View File

@ -16,9 +16,10 @@ allOf:
properties:
compatible:
oneOf:
- const: allwinner,sun4i-a10-ir
- const: allwinner,sun5i-a13-ir
- const: allwinner,sun6i-a31-ir
- enum:
- allwinner,sun4i-a10-ir
- allwinner,sun5i-a13-ir
- allwinner,sun6i-a31-ir
- items:
- enum:
- allwinner,suniv-f1c100s-ir
@ -27,6 +28,7 @@ properties:
- allwinner,sun50i-a64-ir
- allwinner,sun50i-h6-ir
- allwinner,sun50i-h616-ir
- allwinner,sun55i-a523-ir
- const: allwinner,sun6i-a31-ir
reg:

View File

@ -231,6 +231,8 @@ patternProperties:
description: Azoteq (Pty) Ltd
"^azw,.*":
description: Shenzhen AZW Technology Co., Ltd.
"^baijie,.*":
description: Shenzhen Baijie Technology Co., Ltd.
"^baikal,.*":
description: BAIKAL ELECTRONICS, JSC
"^bananapi,.*":

View File

@ -182,6 +182,9 @@ dtb-$(CONFIG_MACH_SUN7I) += \
sun7i-a20-wits-pro-a20-dkt.dtb
# Enables support for device-tree overlays for all pis
DTC_FLAGS_sun8i-h2-plus-bananapi-m2-zero := -@
DTC_FLAGS_sun8i-h2-plus-libretech-all-h3-cc := -@
DTC_FLAGS_sun8i-h2-plus-orangepi-r1 := -@
DTC_FLAGS_sun8i-h2-plus-orangepi-zero := -@
DTC_FLAGS_sun8i-h3-orangepi-lite := -@
DTC_FLAGS_sun8i-h3-bananapi-m2-plus := -@
@ -201,6 +204,7 @@ DTC_FLAGS_sun8i-h3-orangepi-pc := -@
DTC_FLAGS_sun8i-h3-bananapi-m2-plus-v1.2 := -@
DTC_FLAGS_sun8i-h3-orangepi-pc-plus := -@
DTC_FLAGS_sun8i-t113s-netcube-nagami-basic-carrier := -@
DTC_FLAGS_sun8i-t113s-netcube-dobermann := -@
DTC_FLAGS_sun8i-v3s-netcube-kumquat := -@
dtb-$(CONFIG_MACH_SUN8I) += \
sun8i-a23-evb.dtb \
@ -261,6 +265,7 @@ dtb-$(CONFIG_MACH_SUN8I) += \
sun8i-s3-lichee-zero-plus.dtb \
sun8i-s3-pinecube.dtb \
sun8i-t113s-mangopi-mq-r-t113.dtb \
sun8i-t113s-netcube-dobermann.dtb \
sun8i-t113s-netcube-nagami-basic-carrier.dtb \
sun8i-t113s-netcube-nagami-keypad-carrier.dtb \
sun8i-t3-cqa3t-bv3.dtb \

View File

@ -179,7 +179,7 @@ &reg_usb2_vbus {
};
&uart0 {
&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_pb_pins>;
status = "okay";

View File

@ -78,7 +78,7 @@ &cpu0 {
cpu-supply = <&reg_dcdc2>;
};
&ehci0 {
&ehci0 {
status = "okay";
};
@ -157,7 +157,7 @@ &mmc0 {
status = "okay";
};
&ohci0 {
&ohci0 {
status = "okay";
};

View File

@ -185,7 +185,7 @@ de: display-engine {
pmu {
compatible = "arm,cortex-a8-pmu";
interrupts = <3>;
interrupts = <66>;
};
reserved-memory {

View File

@ -73,7 +73,7 @@ reg_vcc_dram: vcc-dram {
enable-active-high;
gpio = <&r_pio 0 9 GPIO_ACTIVE_HIGH>; /* PL9 */
vin-supply = <&reg_vcc5v0>;
};
};
reg_vdd_sys: vdd-sys {
compatible = "regulator-fixed";
@ -85,7 +85,7 @@ reg_vdd_sys: vdd-sys {
enable-active-high;
gpio = <&r_pio 0 8 GPIO_ACTIVE_HIGH>; /* PL8 */
vin-supply = <&reg_vcc5v0>;
};
};
wifi_pwrseq: pwrseq {
compatible = "mmc-pwrseq-simple";

View File

@ -0,0 +1,149 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (C) 2026 Lukas Schmid <lukas.schmid@netcube.li>
*/
/dts-v1/;
#include "sun8i-t113s-netcube-nagami.dtsi"
#include <dt-bindings/leds/common.h>
/ {
model = "NetCube Systems OpenNMC (dobermann)";
compatible = "netcube,dobermann", "netcube,nagami",
"allwinner,sun8i-t113s";
aliases {
serial2 = &uart4; // UART on SmartSlot
rtc0 = &ds3232;
rtc1 = &rtc; // not battery backed
};
leds {
compatible = "gpio-leds";
led_heartbeat_green: led-heartbeat-green {
gpios = <&pio 6 14 GPIO_ACTIVE_HIGH>; /* PG14 */
linux,default-trigger = "heartbeat";
color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_HEARTBEAT;
};
};
};
&ehci0 {
status = "okay";
};
&ehci1 {
status = "okay";
};
&i2c2 {
status = "okay";
tusb320: typec@60 {
compatible = "ti,tusb320";
reg = <0x60>;
interrupts-extended = <&pio 3 22 IRQ_TYPE_LEVEL_LOW>; /* PD22 */
};
ds3232: rtc@68 {
compatible = "dallas,ds3232";
reg = <0x68>;
};
};
/* microSD Card Slot on the board */
&mmc0 {
vmmc-supply = <&reg_vcc3v3>;
disable-wp;
bus-width = <4>;
cd-gpios = <&pio 6 15 GPIO_ACTIVE_LOW>; /* PG15 */
status = "okay";
};
&ohci0 {
status = "okay";
};
&ohci1 {
status = "okay";
};
&pio {
gpio-line-names = "", "", "", "", // PA
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "SMART_TX", "SMART_RX", // PB
"EXT_IO3", "EXT_IO2", "CONSOLE_TX", "CONSOLE_RX",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "eMMC_CLK", "eMMC_CMD", // PC
"eMMC_D2", "eMMC_D1", "eMMC_D0", "eMMC_D3",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "", // PD
"", "", "", "",
"", "USB_SEC_EN", "EXT_SPI_nCS", "EXT_SPI_SCK",
"EXT_SPI_MOSI", "EXT_SPI_MISO", "EXT_IO5", "EXT_IO4",
"SMART_SEL", "", "", "",
"I2C2_SCL", "I2C2_SDA", "TUSB320_nINT", "",
"", "", "", "",
"", "", "", "",
"ETH_CRSDV", "ETH_RXD0", "ETH_RXD1", "ETH_TXCK", // PE
"ETH_TXD0", "ETH_TXD1", "ETH_TXEN", "",
"ETH_MDC", "ETH_MDIO", "I2C3_nINT", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"uSD_D1", "uSD_D0", "uSD_CLK", "uSD_CMD", // PF
"uSD_D3", "uSD_D2", "TUSB320_ID", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"ESP_CLK", "ESP_CMD", "ESP_D0", "ESP_D1", // PG
"ESP_D2", "ESP_D3", "ESP_TXD", "ESP_RXD",
"ESP_nBOOT", "ESP_nRST", "I2C3_SCL", "I2C3_SDA",
"EXT_IO1", "EXT_IO0", "LED_HEARTBEAT", "SD_DETECT",
"", "", "", "",
"", "", "", "",
"", "", "", "",
"", "", "", "";
};
/* SmartSlot serial */
&uart4 {
pinctrl-0 = <&uart4_pb_pins>;
pinctrl-names = "default";
status = "okay";
};
&usb_otg {
extcon = <&tusb320 0>;
dr_mode = "otg";
status = "okay";
};
&usbphy {
usb0_id_det-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */
status = "okay";
};

View File

@ -42,7 +42,7 @@ reg_vcc_core: regulator-core {
};
/* USB0 MUX to switch connect to Card-Edge only after BootROM */
usb0_sec_mux: mux-controller{
usb0_sec_mux: mux-controller {
compatible = "gpio-mux";
#mux-control-cells = <0>;
mux-gpios = <&pio 3 9 GPIO_ACTIVE_HIGH>; /* PD9 */

View File

@ -24,6 +24,7 @@ dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-sopine-baseboard.dtb
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a64-teres-i.dtb
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h64-remix-mini-pc.dtb
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a100-allwinner-perf1.dtb
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a133-helperboard.dtb
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-a133-liontron-h-a133l.dtb
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-bananapi-m2-plus.dtb
dtb-$(CONFIG_ARCH_SUNXI) += sun50i-h5-bananapi-m2-plus-v1.2.dtb

View File

@ -466,6 +466,16 @@ ths: thermal-sensor@5070400 {
#thermal-sensor-cells = <1>;
};
lradc: lradc@5070800 {
compatible = "allwinner,sun50i-a100-lradc",
"allwinner,sun50i-r329-lradc";
reg = <0x05070800 0x400>;
interrupts = <GIC_SPI 22 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_BUS_LRADC>;
resets = <&ccu RST_BUS_LRADC>;
status = "disabled";
};
usb_otg: usb@5100000 {
compatible = "allwinner,sun50i-a100-musb",
"allwinner,sun8i-a33-musb";

View File

@ -0,0 +1,197 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2025 Arm Ltd.
* Copyright (c) 2026 Alexander Sverdlin <alexander.sverdlin@gmail.com>
*/
/dts-v1/;
#include "sun50i-a100.dtsi"
#include "sun50i-a100-cpu-opp.dtsi"
/{
model = "Baijie A133 HelperBoard Core";
compatible = "baijie,helperboard-a133-core",
"allwinner,sun50i-a100";
aliases {
serial1 = &uart1; /* BT module */
};
};
&cpu0 {
cpu-supply = <&reg_dcdc2>;
};
&lradc {
vref-supply = <&reg_aldo1>;
};
&mmc2 {
vmmc-supply = <&reg_dcdc1>;
vqmmc-supply = <&reg_eldo1>;
cap-mmc-highspeed;
cap-mmc-hw-reset;
max-frequency = <100000000>;
non-removable;
bus-width = <8>;
mmc-ddr-1_8v;
mmc-hs200-1_8v;
status = "okay";
};
&pio {
vcc-pb-supply = <&reg_dcdc1>;
vcc-pc-supply = <&reg_eldo1>;
vcc-pd-supply = <&reg_dcdc1>;
vcc-pe-supply = <&reg_dldo2>;
vcc-pf-supply = <&reg_dcdc1>;
vcc-pg-supply = <&reg_dldo1>;
vcc-ph-supply = <&reg_dcdc1>;
/*
* PL0/PL1 are the I2C connection to PMIC, but it would create a
* circular dependency:
* vcc-pl-supply = <&reg_aldo3>;
*/
};
&r_i2c0 {
status = "okay";
axp803: pmic@34 {
compatible = "x-powers,axp803";
reg = <0x34>;
interrupt-parent = <&r_intc>;
interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
x-powers,drive-vbus-en; /* set N_VBUSEN as output pin */
aldoin-supply = <&reg_vdd5v>;
dldoin-supply = <&reg_vdd5v>;
eldoin-supply = <&reg_vdd5v>;
fldoin-supply = <&reg_dcdc5>;
vin1-supply = <&reg_vdd5v>;
vin2-supply = <&reg_vdd5v>;
vin3-supply = <&reg_vdd5v>;
vin4-supply = <&reg_vdd5v>;
vin5-supply = <&reg_vdd5v>;
vin6-supply = <&reg_vdd5v>;
drivevbus-supply = <&reg_vdd5v>;
};
};
#include "axp803.dtsi"
&ac_power_supply {
status = "okay";
};
&reg_aldo1 {
/* PLL + LRADC analog reference */
regulator-always-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-name = "vcc-pll";
};
&reg_aldo2 {
/* LPDDR */
regulator-always-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-name = "vdd18-lpddr";
};
&reg_aldo3 {
/*
* Port L, but linking it to &pio node would create a circular
* dependency because of PL0/PL1 I2C connection to PMIC
*/
regulator-always-on;
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-name = "vcc-pl";
};
&reg_dcdc1 {
/* Besides Port D it also powers analog part of USB IP and SoC I/O */
regulator-always-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vcc-3v3";
};
&reg_dcdc2 {
regulator-always-on;
regulator-min-microvolt = <810000>;
regulator-max-microvolt = <1200000>;
regulator-name = "vdd-cpu";
};
/* DCDC3 is polyphased with DCDC2 */
&reg_dcdc4 {
/* Digital part of USB IP, "System" SoC power rail */
regulator-always-on;
regulator-min-microvolt = <950000>;
regulator-max-microvolt = <950000>;
regulator-name = "vdd-sys";
};
&reg_dcdc5 {
regulator-always-on;
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1100000>;
regulator-name = "vcc-dram";
};
/* DCDC6 unused */
&reg_dcdc6 {
status = "disabled";
};
&reg_dldo1 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-name = "vcc-pg";
};
&reg_dldo2 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-name = "vcc-pe";
};
&reg_dldo3 {
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-name = "avdd-csi";
};
&reg_dldo4 {
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-name = "afvcc-csi";
};
&reg_eldo1 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-name = "vcc-pc";
};
&reg_eldo2 {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-name = "dvdd-csi";
};
/* ELDO3 unused */
&reg_fldo1 {
/* CPUS power rail */
regulator-always-on;
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <900000>;
regulator-name = "vdd-cpus";
};
/* reg_drivevbus unused */

View File

@ -0,0 +1,148 @@
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
/*
* Copyright (c) 2025 Arm Ltd.
* Copyright (c) 2026 Alexander Sverdlin <alexander.sverdlin@gmail.com>
*/
/dts-v1/;
#include "sun50i-a133-helperboard-core.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/linux-event-codes.h>
#include <dt-bindings/leds/common.h>
/{
model = "Baijie HelperBoard A133";
compatible = "baijie,helperboard-a133",
"baijie,helperboard-a133-core",
"allwinner,sun50i-a100";
aliases {
serial0 = &uart0;
};
chosen {
stdout-path = "serial0:115200n8";
};
leds {
compatible = "gpio-leds";
led {
function = LED_FUNCTION_INDICATOR;
color = <LED_COLOR_ID_GREEN>;
gpios = <&pio 7 13 GPIO_ACTIVE_LOW>; /* PH13 */
};
};
reg_vdd5v: vdd5v {
/* board wide 5V supply from a 12V->5V regulator */
compatible = "regulator-fixed";
regulator-name = "vdd-5v";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
regulator-always-on;
};
};
&ehci1 {
status = "okay";
};
&emac0 {
pinctrl-names = "default";
pinctrl-0 = <&rgmii0_pins>;
phy-handle = <&rgmii_phy>;
phy-mode = "rgmii-id";
allwinner,rx-delay-ps = <200>;
allwinner,tx-delay-ps = <200>;
status = "okay";
};
&lradc {
wakeup-source;
status = "okay";
button-115 {
label = "K1";
linux,code = <KEY_1>;
channel = <0>;
voltage = <114607>;
};
button-235 {
label = "K2";
linux,code = <KEY_2>;
channel = <0>;
voltage = <234783>;
};
button-360 {
label = "K3";
linux,code = <KEY_3>;
channel = <0>;
voltage = <360000>;
};
button-476 {
label = "K4";
linux,code = <KEY_4>;
channel = <0>;
voltage = <476471>;
};
button-592 {
label = "K5";
linux,code = <KEY_5>;
channel = <0>;
voltage = <591946>;
};
};
&mdio0 {
reset-gpios = <&pio 7 11 GPIO_ACTIVE_LOW>; /* PH11 */
reset-delay-us = <10000>;
reset-post-delay-us = <150000>;
rgmii_phy: ethernet-phy@1 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <1>;
};
};
&mmc0 {
vmmc-supply = <&reg_dcdc1>;
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
bus-width = <4>;
disable-wp;
status = "okay";
};
&ohci1 {
status = "okay";
};
&rgmii0_pins {
drive-strength = <30>;
};
&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_pb_pins>;
status = "okay";
};
&usb_otg {
/*
* Connected to a downstream port of an onboard hub, therefore only
* "peripheral" mode will work here.
*/
dr_mode = "peripheral";
status = "okay";
};
&usbphy {
usb1_vbus-supply = <&reg_vdd5v>;
status = "okay";
};

View File

@ -230,8 +230,8 @@ accelerometer@68 {
interrupts = <7 5 IRQ_TYPE_EDGE_RISING>; /* PH5 */
vdd-supply = <&reg_dldo1>;
vddio-supply = <&reg_dldo1>;
mount-matrix = "0", "1", "0",
"-1", "0", "0",
mount-matrix = "0", "-1", "0",
"1", "0", "0",
"0", "0", "1";
};
};

View File

@ -49,7 +49,7 @@ axp803: pmic@3a3 {
};
};
&spi0 {
&spi0 {
status = "okay";
flash@0 {

View File

@ -48,7 +48,7 @@ ext_rgmii_phy: ethernet-phy@1 {
};
};
&spi0 {
&spi0 {
status = "okay";
flash@0 {

View File

@ -191,7 +191,7 @@ reg_vdd_cpux: regulator@65 {
};
};
&spi0 {
&spi0 {
status = "okay";
flash@0 {

View File

@ -103,7 +103,7 @@ rtl8189ftv: wifi@1 {
};
};
&spi0 {
&spi0 {
status = "okay";
flash@0 {

View File

@ -99,7 +99,7 @@ &ohci1 {
status = "okay";
};
&spi0 {
&spi0 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&spi0_pins>, <&spi0_cs0_pin>;

View File

@ -149,7 +149,7 @@ reg_dcdc3: dcdc3 {
};
};
&spi0 {
&spi0 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&spi0_pins>, <&spi0_cs0_pin>;

View File

@ -155,6 +155,13 @@ i2s2_pi_pins: i2s2-pi-pins {
bias-disable;
};
/omit-if-no-ref/
ir_rx_pin: ir-rx-pi-pin {
pins = "PI8";
allwinner,pinmux = <3>;
function = "cir_rx";
};
/omit-if-no-ref/
ledc_ph_pin: ledc-ph-pin {
pins = "PH19";
@ -216,6 +223,13 @@ spdif_out_pb_pin: spdif-pb-pin {
allwinner,pinmux = <2>;
};
/omit-if-no-ref/
spdif_out_ph_pin: spdif-ph-pin {
pins = "PH7";
function = "spdif";
allwinner,pinmux = <4>;
};
/omit-if-no-ref/
spdif_out_pi_pin: spdif-pi-pin {
pins = "PI10";
@ -327,6 +341,17 @@ ccu: clock-controller@2001000 {
#reset-cells = <1>;
};
ir: ir@2005000 {
compatible = "allwinner,sun55i-a523-ir",
"allwinner,sun6i-a31-ir";
reg = <0x02005000 0x400>;
interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&ccu CLK_BUS_IR_RX>, <&ccu CLK_IR_RX>;
clock-names = "apb", "ir";
resets = <&ccu RST_BUS_IR_RX>;
status = "disabled";
};
ledc: led-controller@2008000 {
compatible = "allwinner,sun55i-a523-ledc",
"allwinner,sun50i-a100-ledc";
@ -927,6 +952,24 @@ r_i2c_pins: r-i2c-pins {
allwinner,pinmux = <2>;
function = "r_i2c0";
};
/omit-if-no-ref/
r_ir_rx_pin: r-ir-rx-pl-pin {
pins = "PL11";
allwinner,pinmux = <2>;
function = "s_cir_rx";
};
};
r_ir: ir@7040000 {
compatible = "allwinner,sun55i-a523-ir",
"allwinner,sun6i-a31-ir";
reg = <0x07040000 0x400>;
interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&r_ccu CLK_BUS_R_IR_RX>, <&r_ccu CLK_R_IR_RX>;
clock-names = "apb", "ir";
resets = <&r_ccu RST_BUS_R_IR_RX>;
status = "disabled";
};
pck600: power-controller@7060000 {

View File

@ -44,6 +44,24 @@ reg_vcc3v3: vcc3v3 {
vin-supply = <&reg_vcc5v>;
regulator-always-on;
};
sound-spdif {
compatible = "simple-audio-card";
simple-audio-card,name = "spdif-out";
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>;
};
};
&ehci0 {
@ -266,6 +284,12 @@ reg_dcdc3_323: dcdc3 {
};
};
&r_ir {
pinctrl-names = "default";
pinctrl-0 = <&r_ir_rx_pin>;
status = "okay";
};
&r_pio {
/*
* Specifying the supply would create a circular dependency.
@ -275,6 +299,12 @@ &r_pio {
vcc-pm-supply = <&reg_aldo3>;
};
&spdif {
pinctrl-names = "default";
pinctrl-0 = <&spdif_out_ph_pin>;
status = "okay";
};
&uart0 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_pb_pins>;

View File

@ -100,6 +100,12 @@ &gpu {
status = "okay";
};
&ir {
pinctrl-names = "default";
pinctrl-0 = <&ir_rx_pin>;
status = "okay";
};
&ledc {
pinctrl-names = "default";
pinctrl-0 = <&ledc_ph_pin>;
@ -403,7 +409,7 @@ &rtc {
assigned-clock-rates = <32768>;
};
&spi0 {
&spi0 {
pinctrl-names = "default";
pinctrl-0 = <&spi0_pj_pins>, <&spi0_cs0_pj_pin>,
<&spi0_hold_pj_pin>, <&spi0_wp_pj_pin>;

View File

@ -400,7 +400,7 @@ &rtc {
assigned-clock-rates = <32768>;
};
&spi0 {
&spi0 {
pinctrl-names = "default";
pinctrl-0 = <&spi0_pc_pins>, <&spi0_cs0_pc_pin>;
status = "okay";

View File

@ -191,6 +191,12 @@ uart3_pb_pins: uart3-pb-pins {
pins = "PB6", "PB7";
function = "uart3";
};
/omit-if-no-ref/
uart4_pb_pins: uart4-pb-pins {
pins = "PB2", "PB3";
function = "uart4";
};
};
ccu: clock-controller@2001000 {