mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-12-29 09:16:33 +00:00
Allwinner Device Tree changes for 6.13 part 2
- Remove accidental suniv duplicates in Makefile - Add second source magnetometer for Pine Phone - Add orientation (mount matrix) for Pine Phone's accelerometer and magnetometer - Enable eMMC and MMC on A100 Perf1 -----BEGIN PGP SIGNATURE----- iQJCBAABCgAsFiEE2nN1m/hhnkhOWjtHOJpUIZwPJDAFAmcwtssOHHdlbnNAY3Np ZS5vcmcACgkQOJpUIZwPJDC+zA/9F1YbB88RHtaLKwN/WLQZ3vkQxADhulsixI8X BHQATpsI477csCxjFJre5VPCDT8w77Dy4v0NHzIfZ/vB74wcTsBXoaW7jsSS9SQs V7Z9kf33loRaeY9OUgaJNZLBP0vPCt4GZBlW6VdMsJtID5ZMO0Gl42bFrL+QI8Oo 4ZnINz+gcTZtJFU6h+ZTiCzqGe13NJTD/Q8g/yEjMc38tyvVf3t/IhUyZBHCDHs+ G4Fs0aIpLYbicecRfk4sNTla2vsAezzkyaCu+Kq/W5dWy2vxKKIyarYMNmTmUJfH zed8oRKqqYedAI/1THMhNMTVm1Zr5FluhYBAkbGGVQNeLldBv+5P6Lte4pAUGIFJ Gmg0hWDW2KkIpmAmyVMAKgLtSQXLrwPS5Cls6doDk+6dJBh9unPKgl7CUFGnkJo6 giZSvUi10CKCCf2SEG7KQyHb/dOCwquQf2TMVQvglMbxK4cfdvdryaN4/9z318aE eMQbN9MNpFsLUGtfDMjQJ2cOQBhAGsQROJOwLpjf3cBXl62RXx2iQK2e/DIm6sU0 ElFAAxN7ciq7YlMFZDteEsrAKv9uTsqU7oqxVJFJbwRMhC/hPpknMIsPAzmQSfPx WgM1xVUeECDF9suhWAHBWVXi4gY3fTUxUk0UgkRrpPwfAmcECyGqVLU0JOKwowGP 4/xFtBs= =vpQK -----END PGP SIGNATURE----- gpgsig -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEiK/NIGsWEZVxh/FrYKtH/8kJUicFAmczz24ACgkQYKtH/8kJ Uie1ng/+MJ9Uwv80VTf/qSmm2706bDiDg8A7r1lMeSTD/o57rcg6sfUjHUfLfbRb 9LWIxOPFgqh+9J3NsivlMC2s3aIGqCJIXzC/0AXgfmwnE5/fKac7gZgctbZRRbJD 3Uz403tcmRgTHrNpOEg74Yak0HC61gQeR7AtqeuvDz2KbMCvUR3qbpOZ2EqChxxv JDGBXVgrke3x6Cexawsf+DX/lBt5A+MMuPPNRdUS9ZIem5T/l0QjboLJU0lHt8MW BSfCeZx4SrigHwhHqJxYjVs9KhNIS/se7/QQ0Huw3rBKq/rN+506KduwZ1+r2P5n x5TrUt12kzsYPIyruXNBOQLo7fwgQ5dxxiphCMoagVA7CwT1ggnGmuoEEQeWW1KB e8gCb2WajgQmNzk9Gd3fG/cr8OjxMI9c5YEu/dy8Gy0UFzh2XD5q8Z2mEDPx01JI L8hpaMsRHntoKHK5nWeEsG9q+PcNMgGco7UOC0wpdlxbZwAJP8Q5eRzt9GglMIoX 6TbAoiEA7rXI04ijkCAJ7pL6cCEbSIt1QY5eIKIohZYhj27sKvVkT/Kt9VIghoy6 +GqzstDCf6Stf7erlV7Vfp2bwYefxiQtxA099XDaB16hHO3UfCwxnv+wG4cVCFL2 EmVTsALzS5c+WGoUAcXitCoWhD5VAPGVbCrGRFvu5rraW/wNFpw= =4WAW -----END PGP SIGNATURE----- Merge tag 'sunxi-dt-for-6.13-2' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into soc/dt Allwinner Device Tree changes for 6.13 part 2 - Remove accidental suniv duplicates in Makefile - Add second source magnetometer for Pine Phone - Add orientation (mount matrix) for Pine Phone's accelerometer and magnetometer - Enable eMMC and MMC on A100 Perf1 * tag 'sunxi-dt-for-6.13-2' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: arm64: dts: allwinner: a100: perf1: Add eMMC and MMC node arm64: dts: allwinner: pinephone: Add mount matrix to accelerometer arm64: dts: sun50i-a64-pinephone: Add mount-matrix for PinePhone magnetometers arm64: dts: sun50i-a64-pinephone: Add AF8133J to PinePhone ARM: dts: allwinner: Remove accidental suniv duplicates arm64: allwinner: a100: Add MMC related nodes arm64: dts: allwinner: a100: add usb related nodes dt-bindings: usb: sunxi-musb: Add A100 compatible string dt-bindings: usb: Add A100 compatible string dt-bindings: phy: sun50i-a64: add a100 compatible arm64: dts: allwinner: a100: add watchdog node arm64: dts: allwinner: A100: Add PMU mode ARM: dts: sunxi: add support for RerVision A33-Vstar board dt-bindings: arm: sunxi: document RerVision A33-Vstar board arm64: dts: allwinner: Add disable-wp for boards with micro SD card arm64: dts: allwinner: h313/h616/h618/h700: Enable audio codec for all supported boards arm64: dts: allwinner: h616: Add audio codec node Link: https://lore.kernel.org/r/ZzC-OF57MT_yCeWH@wens.tw Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
commit
36255ab493
@ -846,6 +846,12 @@ properties:
|
||||
- const: allwinner,sun50i-h64
|
||||
- const: allwinner,sun50i-a64
|
||||
|
||||
- description: RerVision A33-Vstar (with A33-Core1 SoM)
|
||||
items:
|
||||
- const: rervision,a33-vstar
|
||||
- const: rervision,a33-core1
|
||||
- const: allwinner,sun8i-a33
|
||||
|
||||
- description: RerVision H3-DVK
|
||||
items:
|
||||
- const: rervision,h3-dvk
|
||||
|
@ -15,9 +15,13 @@ properties:
|
||||
const: 1
|
||||
|
||||
compatible:
|
||||
enum:
|
||||
- allwinner,sun20i-d1-usb-phy
|
||||
- allwinner,sun50i-a64-usb-phy
|
||||
oneOf:
|
||||
- enum:
|
||||
- allwinner,sun20i-d1-usb-phy
|
||||
- allwinner,sun50i-a64-usb-phy
|
||||
- items:
|
||||
- const: allwinner,sun50i-a100-usb-phy
|
||||
- const: allwinner,sun20i-d1-usb-phy
|
||||
|
||||
reg:
|
||||
items:
|
||||
|
@ -23,6 +23,7 @@ properties:
|
||||
- enum:
|
||||
- allwinner,sun8i-a83t-musb
|
||||
- allwinner,sun20i-d1-musb
|
||||
- allwinner,sun50i-a100-musb
|
||||
- allwinner,sun50i-h6-musb
|
||||
- const: allwinner,sun8i-a33-musb
|
||||
- items:
|
||||
|
@ -28,6 +28,7 @@ properties:
|
||||
- items:
|
||||
- enum:
|
||||
- allwinner,sun4i-a10-ehci
|
||||
- allwinner,sun50i-a100-ehci
|
||||
- allwinner,sun50i-a64-ehci
|
||||
- allwinner,sun50i-h6-ehci
|
||||
- allwinner,sun50i-h616-ehci
|
||||
|
@ -15,6 +15,7 @@ properties:
|
||||
- items:
|
||||
- enum:
|
||||
- allwinner,sun4i-a10-ohci
|
||||
- allwinner,sun50i-a100-ohci
|
||||
- allwinner,sun50i-a64-ohci
|
||||
- allwinner,sun50i-h6-ohci
|
||||
- allwinner,sun50i-h616-ohci
|
||||
|
@ -215,6 +215,7 @@ dtb-$(CONFIG_MACH_SUN8I) += \
|
||||
sun8i-a33-olinuxino.dtb \
|
||||
sun8i-a33-q8-tablet.dtb \
|
||||
sun8i-a33-sinlinx-sina33.dtb \
|
||||
sun8i-a33-vstar.dtb \
|
||||
sun8i-a83t-allwinner-h8homlet-v2.dtb \
|
||||
sun8i-a83t-bananapi-m3.dtb \
|
||||
sun8i-a83t-cubietruck-plus.dtb \
|
||||
@ -268,7 +269,3 @@ dtb-$(CONFIG_MACH_SUNIV) += \
|
||||
suniv-f1c100s-licheepi-nano.dtb \
|
||||
suniv-f1c200s-lctech-pi.dtb \
|
||||
suniv-f1c200s-popstick-v1.1.dtb
|
||||
dtb-$(CONFIG_MACH_SUNIV) += \
|
||||
suniv-f1c100s-licheepi-nano.dtb \
|
||||
suniv-f1c200s-lctech-pi.dtb \
|
||||
suniv-f1c200s-popstick-v1.1.dtb
|
||||
|
96
arch/arm/boot/dts/allwinner/sun8i-a33-vstar-core1.dtsi
Normal file
96
arch/arm/boot/dts/allwinner/sun8i-a33-vstar-core1.dtsi
Normal file
@ -0,0 +1,96 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Copyright (C) 2024 Icenowy Zheng <uwu@icenowy.me>
|
||||
*/
|
||||
|
||||
#include "sun8i-a33.dtsi"
|
||||
|
||||
&mmc2 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc2_8bit_pins>;
|
||||
vmmc-supply = <®_dcdc1>;
|
||||
bus-width = <8>;
|
||||
non-removable;
|
||||
cap-mmc-hw-reset;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mmc2_8bit_pins {
|
||||
/* Increase drive strength for DDR modes */
|
||||
drive-strength = <40>;
|
||||
};
|
||||
|
||||
&r_rsb {
|
||||
status = "okay";
|
||||
|
||||
axp22x: pmic@3a3 {
|
||||
compatible = "x-powers,axp223";
|
||||
reg = <0x3a3>;
|
||||
interrupt-parent = <&r_intc>;
|
||||
interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
|
||||
eldoin-supply = <®_dcdc1>;
|
||||
x-powers,drive-vbus-en;
|
||||
};
|
||||
};
|
||||
|
||||
#include "axp223.dtsi"
|
||||
|
||||
®_aldo1 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-name = "vcc-io";
|
||||
};
|
||||
|
||||
®_aldo2 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <2350000>;
|
||||
regulator-max-microvolt = <2650000>;
|
||||
regulator-name = "vdd-dll";
|
||||
};
|
||||
|
||||
®_aldo3 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-name = "vcc-avcc";
|
||||
};
|
||||
|
||||
®_dc5ldo {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <900000>;
|
||||
regulator-max-microvolt = <1400000>;
|
||||
regulator-name = "vdd-cpus";
|
||||
};
|
||||
|
||||
®_dcdc1 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-name = "vcc-3v3";
|
||||
};
|
||||
|
||||
®_dcdc2 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <900000>;
|
||||
regulator-max-microvolt = <1400000>;
|
||||
regulator-name = "vdd-sys";
|
||||
};
|
||||
|
||||
®_dcdc3 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <900000>;
|
||||
regulator-max-microvolt = <1400000>;
|
||||
regulator-name = "vdd-cpu";
|
||||
};
|
||||
|
||||
®_dcdc5 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <1500000>;
|
||||
regulator-max-microvolt = <1500000>;
|
||||
regulator-name = "vcc-dram";
|
||||
};
|
||||
|
||||
®_rtc_ldo {
|
||||
regulator-name = "vcc-rtc";
|
||||
};
|
205
arch/arm/boot/dts/allwinner/sun8i-a33-vstar.dts
Normal file
205
arch/arm/boot/dts/allwinner/sun8i-a33-vstar.dts
Normal file
@ -0,0 +1,205 @@
|
||||
// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
|
||||
/*
|
||||
* Copyright (C) 2024 Icenowy Zheng <uwu@icenowy.me>
|
||||
*/
|
||||
|
||||
/dts-v1/;
|
||||
#include "sun8i-a33-vstar-core1.dtsi"
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
#include <dt-bindings/input/input.h>
|
||||
|
||||
/ {
|
||||
model = "Rervision A33-Vstar";
|
||||
compatible = "rervision,a33-vstar",
|
||||
"rervision,a33-core1",
|
||||
"allwinner,sun8i-a33";
|
||||
|
||||
aliases {
|
||||
serial0 = &uart0;
|
||||
ethernet0 = &r8152;
|
||||
};
|
||||
|
||||
chosen {
|
||||
stdout-path = "serial0:115200n8";
|
||||
};
|
||||
|
||||
reg_usb1_vbus: regulator-usb1-vbus {
|
||||
compatible = "regulator-fixed";
|
||||
regulator-name = "usb1-vbus";
|
||||
regulator-min-microvolt = <5000000>;
|
||||
regulator-max-microvolt = <5000000>;
|
||||
regulator-boot-on;
|
||||
enable-active-high;
|
||||
gpio = <&pio 1 2 GPIO_ACTIVE_HIGH>; /* PB2 */
|
||||
};
|
||||
|
||||
wifi_pwrseq: pwrseq {
|
||||
compatible = "mmc-pwrseq-simple";
|
||||
reset-gpios = <&r_pio 0 6 GPIO_ACTIVE_LOW>; /* PL6 */
|
||||
clocks = <&rtc CLK_OSC32K_FANOUT>;
|
||||
clock-names = "ext_clock";
|
||||
};
|
||||
};
|
||||
|
||||
&ac_power_supply {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&codec {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&dai {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ehci0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "okay";
|
||||
|
||||
hub@1 {
|
||||
/* Onboard GL850G hub which needs no extra power sequence */
|
||||
compatible = "usb5e3,608";
|
||||
reg = <1>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
r8152: ethernet@4 {
|
||||
/*
|
||||
* Onboard Realtek RTL8152 USB Ethernet,
|
||||
* with no MAC address programmed
|
||||
*/
|
||||
compatible = "usbbda,8152";
|
||||
reg = <4>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&lradc {
|
||||
vref-supply = <®_aldo3>;
|
||||
status = "okay";
|
||||
|
||||
button-191 {
|
||||
label = "V+";
|
||||
linux,code = <KEY_VOLUMEUP>;
|
||||
channel = <0>;
|
||||
voltage = <191011>;
|
||||
};
|
||||
|
||||
button-391 {
|
||||
label = "V-";
|
||||
linux,code = <KEY_VOLUMEDOWN>;
|
||||
channel = <0>;
|
||||
voltage = <391304>;
|
||||
};
|
||||
|
||||
button-600 {
|
||||
label = "BACK";
|
||||
linux,code = <KEY_BACK>;
|
||||
channel = <0>;
|
||||
voltage = <600000>;
|
||||
};
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
vmmc-supply = <®_dcdc1>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 1 4 GPIO_ACTIVE_LOW>; /* PB4 */
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mmc1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc1_pg_pins>;
|
||||
vmmc-supply = <®_dldo1>;
|
||||
mmc-pwrseq = <&wifi_pwrseq>;
|
||||
bus-width = <4>;
|
||||
non-removable;
|
||||
status = "okay";
|
||||
|
||||
brcmf: wifi@1 {
|
||||
reg = <1>;
|
||||
compatible = "brcm,bcm4329-fmac";
|
||||
interrupt-parent = <&r_pio>;
|
||||
interrupts = <0 7 IRQ_TYPE_LEVEL_LOW>; /* PL7 */
|
||||
interrupt-names = "host-wake";
|
||||
};
|
||||
};
|
||||
|
||||
/*
|
||||
* Our WiFi chip needs both DLDO1 and DLDO2 to be powered at the same
|
||||
* time, with the two being in sync. Since this is not really
|
||||
* supported right now, just use the two as always on, and we will fix
|
||||
* it later.
|
||||
*/
|
||||
®_dldo1 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-name = "vcc-wifi0";
|
||||
};
|
||||
|
||||
®_dldo2 {
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-name = "vcc-wifi1";
|
||||
};
|
||||
|
||||
®_drivevbus {
|
||||
regulator-name = "usb0-vbus";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&sound {
|
||||
/* TODO: on-board microphone */
|
||||
|
||||
simple-audio-card,widgets = "Headphone", "Headphone Jack";
|
||||
simple-audio-card,routing =
|
||||
"Left DAC", "DACL",
|
||||
"Right DAC", "DACR",
|
||||
"Headphone Jack", "HP";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart0 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart0_pb_pins>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&uart1 {
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&uart1_pg_pins>, <&uart1_cts_rts_pg_pins>;
|
||||
uart-has-rtscts;
|
||||
status = "okay";
|
||||
|
||||
bluetooth {
|
||||
compatible = "brcm,bcm43438-bt";
|
||||
clocks = <&rtc CLK_OSC32K_FANOUT>;
|
||||
clock-names = "lpo";
|
||||
vbat-supply = <®_dldo1>;
|
||||
device-wakeup-gpios = <&r_pio 0 10 GPIO_ACTIVE_HIGH>; /* PL10 */
|
||||
host-wakeup-gpios = <&r_pio 0 9 GPIO_ACTIVE_HIGH>; /* PL9 */
|
||||
shutdown-gpios = <&r_pio 0 8 GPIO_ACTIVE_HIGH>; /* PL8 */
|
||||
};
|
||||
};
|
||||
|
||||
&usb_otg {
|
||||
dr_mode = "otg";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usb_power_supply {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&usbphy {
|
||||
usb0_id_det-gpios = <&pio 7 8 GPIO_ACTIVE_HIGH>; /* PH8 */
|
||||
usb0_vbus_power-supply = <&usb_power_supply>;
|
||||
usb0_vbus-supply = <®_drivevbus>;
|
||||
usb1_vbus-supply = <®_usb1_vbus>;
|
||||
status = "okay";
|
||||
};
|
@ -7,6 +7,8 @@
|
||||
|
||||
#include "sun50i-a100.dtsi"
|
||||
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
/{
|
||||
model = "Allwinner A100 Perf1";
|
||||
compatible = "allwinner,a100-perf1", "allwinner,sun50i-a100";
|
||||
@ -20,6 +22,22 @@ chosen {
|
||||
};
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
vmmc-supply = <®_dcdc1>;
|
||||
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
|
||||
bus-width = <4>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&mmc2 {
|
||||
vmmc-supply = <®_dcdc1>;
|
||||
vqmmc-supply = <®_aldo1>;
|
||||
cap-mmc-hw-reset;
|
||||
non-removable;
|
||||
bus-width = <8>;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&pio {
|
||||
vcc-pb-supply = <®_dcdc1>;
|
||||
vcc-pc-supply = <®_eldo1>;
|
||||
|
@ -25,21 +25,21 @@ cpu0: cpu@0 {
|
||||
enable-method = "psci";
|
||||
};
|
||||
|
||||
cpu@1 {
|
||||
cpu1: cpu@1 {
|
||||
compatible = "arm,cortex-a53";
|
||||
device_type = "cpu";
|
||||
reg = <0x1>;
|
||||
enable-method = "psci";
|
||||
};
|
||||
|
||||
cpu@2 {
|
||||
cpu2: cpu@2 {
|
||||
compatible = "arm,cortex-a53";
|
||||
device_type = "cpu";
|
||||
reg = <0x2>;
|
||||
enable-method = "psci";
|
||||
};
|
||||
|
||||
cpu@3 {
|
||||
cpu3: cpu@3 {
|
||||
compatible = "arm,cortex-a53";
|
||||
device_type = "cpu";
|
||||
reg = <0x3>;
|
||||
@ -47,6 +47,15 @@ cpu@3 {
|
||||
};
|
||||
};
|
||||
|
||||
pmu {
|
||||
compatible = "arm,cortex-a53-pmu";
|
||||
interrupts = <GIC_SPI 140 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 141 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 142 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 143 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
|
||||
};
|
||||
|
||||
psci {
|
||||
compatible = "arm,psci-1.0";
|
||||
method = "smc";
|
||||
@ -135,6 +144,14 @@ ths_calibration: calib@14 {
|
||||
};
|
||||
};
|
||||
|
||||
watchdog@30090a0 {
|
||||
compatible = "allwinner,sun50i-a100-wdt",
|
||||
"allwinner,sun6i-a31-wdt";
|
||||
reg = <0x030090a0 0x20>;
|
||||
interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&dcxo24M>;
|
||||
};
|
||||
|
||||
pio: pinctrl@300b000 {
|
||||
compatible = "allwinner,sun50i-a100-pinctrl";
|
||||
reg = <0x0300b000 0x400>;
|
||||
@ -152,12 +169,83 @@ pio: pinctrl@300b000 {
|
||||
interrupt-controller;
|
||||
#interrupt-cells = <3>;
|
||||
|
||||
mmc0_pins: mmc0-pins {
|
||||
pins = "PF0", "PF1", "PF2", "PF3",
|
||||
"PF4", "PF5";
|
||||
function = "mmc0";
|
||||
drive-strength = <30>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
/omit-if-no-ref/
|
||||
mmc1_pins: mmc1-pins {
|
||||
pins = "PG0", "PG1", "PG2", "PG3",
|
||||
"PG4", "PG5";
|
||||
function = "mmc1";
|
||||
drive-strength = <30>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
mmc2_pins: mmc2-pins {
|
||||
pins = "PC0", "PC1", "PC5", "PC6",
|
||||
"PC8", "PC9", "PC10", "PC11",
|
||||
"PC13", "PC14", "PC15", "PC16";
|
||||
function = "mmc2";
|
||||
drive-strength = <30>;
|
||||
bias-pull-up;
|
||||
};
|
||||
|
||||
uart0_pb_pins: uart0-pb-pins {
|
||||
pins = "PB9", "PB10";
|
||||
function = "uart0";
|
||||
};
|
||||
};
|
||||
|
||||
mmc0: mmc@4020000 {
|
||||
compatible = "allwinner,sun50i-a100-mmc";
|
||||
reg = <0x04020000 0x1000>;
|
||||
clocks = <&ccu CLK_BUS_MMC0>, <&ccu CLK_MMC0>;
|
||||
clock-names = "ahb", "mmc";
|
||||
resets = <&ccu RST_BUS_MMC0>;
|
||||
reset-names = "ahb";
|
||||
interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc0_pins>;
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
mmc1: mmc@4021000 {
|
||||
compatible = "allwinner,sun50i-a100-mmc";
|
||||
reg = <0x04021000 0x1000>;
|
||||
clocks = <&ccu CLK_BUS_MMC1>, <&ccu CLK_MMC1>;
|
||||
clock-names = "ahb", "mmc";
|
||||
resets = <&ccu RST_BUS_MMC1>;
|
||||
reset-names = "ahb";
|
||||
interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc1_pins>;
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
mmc2: mmc@4022000 {
|
||||
compatible = "allwinner,sun50i-a100-emmc";
|
||||
reg = <0x04022000 0x1000>;
|
||||
clocks = <&ccu CLK_BUS_MMC2>, <&ccu CLK_MMC2>;
|
||||
clock-names = "ahb", "mmc";
|
||||
resets = <&ccu RST_BUS_MMC2>;
|
||||
reset-names = "ahb";
|
||||
interrupts = <GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&mmc2_pins>;
|
||||
status = "disabled";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
uart0: serial@5000000 {
|
||||
compatible = "snps,dw-apb-uart";
|
||||
reg = <0x05000000 0x400>;
|
||||
@ -285,6 +373,97 @@ ths: thermal-sensor@5070400 {
|
||||
#thermal-sensor-cells = <1>;
|
||||
};
|
||||
|
||||
usb_otg: usb@5100000 {
|
||||
compatible = "allwinner,sun50i-a100-musb",
|
||||
"allwinner,sun8i-a33-musb";
|
||||
reg = <0x05100000 0x0400>;
|
||||
clocks = <&ccu CLK_BUS_OTG>;
|
||||
resets = <&ccu RST_BUS_OTG>;
|
||||
interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "mc";
|
||||
phys = <&usbphy 0>;
|
||||
phy-names = "usb";
|
||||
extcon = <&usbphy 0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usbphy: phy@5100400 {
|
||||
compatible = "allwinner,sun50i-a100-usb-phy",
|
||||
"allwinner,sun20i-d1-usb-phy";
|
||||
reg = <0x05100400 0x100>,
|
||||
<0x05101800 0x100>,
|
||||
<0x05200800 0x100>;
|
||||
reg-names = "phy_ctrl",
|
||||
"pmu0",
|
||||
"pmu1";
|
||||
clocks = <&ccu CLK_USB_PHY0>,
|
||||
<&ccu CLK_USB_PHY1>;
|
||||
clock-names = "usb0_phy",
|
||||
"usb1_phy";
|
||||
resets = <&ccu RST_USB_PHY0>,
|
||||
<&ccu RST_USB_PHY1>;
|
||||
reset-names = "usb0_reset",
|
||||
"usb1_reset";
|
||||
status = "disabled";
|
||||
#phy-cells = <1>;
|
||||
};
|
||||
|
||||
ehci0: usb@5101000 {
|
||||
compatible = "allwinner,sun50i-a100-ehci",
|
||||
"generic-ehci";
|
||||
reg = <0x05101000 0x100>;
|
||||
interrupts = <GIC_SPI 30 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_OHCI0>,
|
||||
<&ccu CLK_BUS_EHCI0>,
|
||||
<&ccu CLK_USB_OHCI0>;
|
||||
resets = <&ccu RST_BUS_OHCI0>,
|
||||
<&ccu RST_BUS_EHCI0>;
|
||||
phys = <&usbphy 0>;
|
||||
phy-names = "usb";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ohci0: usb@5101400 {
|
||||
compatible = "allwinner,sun50i-a100-ohci",
|
||||
"generic-ohci";
|
||||
reg = <0x05101400 0x100>;
|
||||
interrupts = <GIC_SPI 31 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_OHCI0>,
|
||||
<&ccu CLK_USB_OHCI0>;
|
||||
resets = <&ccu RST_BUS_OHCI0>;
|
||||
phys = <&usbphy 0>;
|
||||
phy-names = "usb";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ehci1: usb@5200000 {
|
||||
compatible = "allwinner,sun50i-a100-ehci",
|
||||
"generic-ehci";
|
||||
reg = <0x05200000 0x100>;
|
||||
interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_OHCI1>,
|
||||
<&ccu CLK_BUS_EHCI1>,
|
||||
<&ccu CLK_USB_OHCI1>;
|
||||
resets = <&ccu RST_BUS_OHCI1>,
|
||||
<&ccu RST_BUS_EHCI1>;
|
||||
phys = <&usbphy 1>;
|
||||
phy-names = "usb";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
ohci1: usb@5200400 {
|
||||
compatible = "allwinner,sun50i-a100-ohci",
|
||||
"generic-ohci";
|
||||
reg = <0x05200400 0x100>;
|
||||
interrupts = <GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_OHCI1>,
|
||||
<&ccu CLK_USB_OHCI1>;
|
||||
resets = <&ccu RST_BUS_OHCI1>;
|
||||
phys = <&usbphy 1>;
|
||||
phy-names = "usb";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
r_ccu: clock@7010000 {
|
||||
compatible = "allwinner,sun50i-a100-r-ccu";
|
||||
reg = <0x07010000 0x300>;
|
||||
|
@ -188,12 +188,30 @@ touchscreen@5d {
|
||||
&i2c1 {
|
||||
status = "okay";
|
||||
|
||||
/* Alternative magnetometer */
|
||||
af8133j: magnetometer@1c {
|
||||
compatible = "voltafield,af8133j";
|
||||
reg = <0x1c>;
|
||||
reset-gpios = <&pio 1 1 GPIO_ACTIVE_LOW>;
|
||||
avdd-supply = <®_dldo1>;
|
||||
dvdd-supply = <®_dldo1>;
|
||||
mount-matrix = "0", "-1", "0",
|
||||
"-1", "0", "0",
|
||||
"0", "0", "-1";
|
||||
|
||||
/* status will be fixed up in firmware */
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
/* Magnetometer */
|
||||
lis3mdl: magnetometer@1e {
|
||||
compatible = "st,lis3mdl-magn";
|
||||
reg = <0x1e>;
|
||||
vdd-supply = <®_dldo1>;
|
||||
vddio-supply = <®_dldo1>;
|
||||
mount-matrix = "0", "1", "0",
|
||||
"-1", "0", "0",
|
||||
"0", "0", "1";
|
||||
};
|
||||
|
||||
/* Light/proximity sensor */
|
||||
@ -212,6 +230,9 @@ accelerometer@68 {
|
||||
interrupts = <7 5 IRQ_TYPE_EDGE_RISING>; /* PH5 */
|
||||
vdd-supply = <®_dldo1>;
|
||||
vddio-supply = <®_dldo1>;
|
||||
mount-matrix = "0", "1", "0",
|
||||
"-1", "0", "0",
|
||||
"0", "0", "1";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -65,6 +65,11 @@ reg_vcc5v: vcc5v {
|
||||
};
|
||||
};
|
||||
|
||||
&codec {
|
||||
allwinner,audio-routing = "Line Out", "LINEOUT";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cpu0 {
|
||||
cpu-supply = <®_dcdc2>;
|
||||
};
|
||||
|
@ -136,6 +136,7 @@ &mmc0 {
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
|
||||
disable-wp;
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
|
@ -88,6 +88,7 @@ ext_rgmii_phy: ethernet-phy@7 {
|
||||
|
||||
&mmc0 {
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
disable-wp;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
|
||||
status = "okay";
|
||||
|
@ -157,6 +157,7 @@ eth_mac1: mac-address@fa {
|
||||
|
||||
&mmc0 {
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
disable-wp;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
|
||||
status = "okay";
|
||||
|
@ -153,6 +153,7 @@ &ir {
|
||||
|
||||
&mmc0 {
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
disable-wp;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
|
||||
status = "okay";
|
||||
|
@ -153,6 +153,7 @@ &ir {
|
||||
|
||||
&mmc0 {
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
disable-wp;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
|
||||
status = "okay";
|
||||
|
@ -82,6 +82,7 @@ ext_rgmii_phy: ethernet-phy@1 {
|
||||
|
||||
&mmc0 {
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
disable-wp;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
|
||||
status = "okay";
|
||||
|
@ -79,6 +79,7 @@ hdmi_out_con: endpoint {
|
||||
|
||||
&mmc0 {
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
disable-wp;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
|
||||
status = "okay";
|
||||
|
@ -129,6 +129,7 @@ ext_rgmii_phy: ethernet-phy@1 {
|
||||
&mmc0 {
|
||||
vmmc-supply = <®_cldo1>;
|
||||
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
|
||||
disable-wp;
|
||||
bus-width = <4>;
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -131,6 +131,7 @@ hdmi_out_con: endpoint {
|
||||
&mmc0 {
|
||||
vmmc-supply = <®_cldo1>;
|
||||
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
|
||||
disable-wp;
|
||||
bus-width = <4>;
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -94,6 +94,7 @@ hdmi_out_con: endpoint {
|
||||
&mmc0 {
|
||||
vmmc-supply = <®_cldo1>;
|
||||
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
|
||||
disable-wp;
|
||||
bus-width = <4>;
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -133,6 +133,7 @@ ext_rgmii_phy: ethernet-phy@1 {
|
||||
&mmc0 {
|
||||
vmmc-supply = <®_cldo1>;
|
||||
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
|
||||
disable-wp;
|
||||
bus-width = <4>;
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -124,6 +124,7 @@ &mmc0 {
|
||||
pinctrl-0 = <&mmc0_pins>;
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
|
||||
disable-wp;
|
||||
bus-width = <4>;
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -59,6 +59,11 @@ reg_usb1_vbus: regulator-usb1-vbus {
|
||||
};
|
||||
};
|
||||
|
||||
&codec {
|
||||
allwinner,audio-routing = "Line Out", "LINEOUT";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&ehci1 {
|
||||
status = "okay";
|
||||
};
|
||||
@ -81,6 +86,7 @@ ext_rgmii_phy: ethernet-phy@1 {
|
||||
|
||||
&mmc0 {
|
||||
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
|
||||
disable-wp;
|
||||
bus-width = <4>;
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -33,6 +33,11 @@ reg_vcc5v: vcc5v {
|
||||
};
|
||||
};
|
||||
|
||||
&codec {
|
||||
allwinner,audio-routing = "Line Out", "LINEOUT";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cpu0 {
|
||||
cpu-supply = <®_dcdca>;
|
||||
};
|
||||
@ -52,6 +57,7 @@ &ir {
|
||||
&mmc0 {
|
||||
vmmc-supply = <®_dcdce>;
|
||||
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
|
||||
disable-wp;
|
||||
bus-width = <4>;
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -630,21 +630,6 @@ mdio0: mdio {
|
||||
};
|
||||
};
|
||||
|
||||
spdif: spdif@5093000 {
|
||||
compatible = "allwinner,sun50i-h616-spdif";
|
||||
reg = <0x05093000 0x400>;
|
||||
interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_SPDIF>, <&ccu CLK_SPDIF>;
|
||||
clock-names = "apb", "spdif";
|
||||
resets = <&ccu RST_BUS_SPDIF>;
|
||||
dmas = <&dma 2>;
|
||||
dma-names = "tx";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&spdif_tx_pin>;
|
||||
#sound-dai-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
gpadc: adc@5070000 {
|
||||
compatible = "allwinner,sun50i-h616-gpadc",
|
||||
"allwinner,sun20i-d1-gpadc";
|
||||
@ -679,6 +664,35 @@ lradc: lradc@5070800 {
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
spdif: spdif@5093000 {
|
||||
compatible = "allwinner,sun50i-h616-spdif";
|
||||
reg = <0x05093000 0x400>;
|
||||
interrupts = <GIC_SPI 21 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_SPDIF>, <&ccu CLK_SPDIF>;
|
||||
clock-names = "apb", "spdif";
|
||||
resets = <&ccu RST_BUS_SPDIF>;
|
||||
dmas = <&dma 2>;
|
||||
dma-names = "tx";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&spdif_tx_pin>;
|
||||
#sound-dai-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
codec: codec@5096000 {
|
||||
#sound-dai-cells = <0>;
|
||||
compatible = "allwinner,sun50i-h616-codec";
|
||||
reg = <0x05096000 0x31c>;
|
||||
interrupts = <GIC_SPI 58 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&ccu CLK_BUS_AUDIO_CODEC>,
|
||||
<&ccu CLK_AUDIO_CODEC_1X>;
|
||||
clock-names = "apb", "codec";
|
||||
resets = <&ccu RST_BUS_AUDIO_CODEC>;
|
||||
dmas = <&dma 6>;
|
||||
dma-names = "tx";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
usbotg: usb@5100000 {
|
||||
compatible = "allwinner,sun50i-h616-musb",
|
||||
"allwinner,sun8i-h3-musb";
|
||||
|
@ -111,6 +111,7 @@ ext_rgmii_phy: ethernet-phy@1 {
|
||||
};
|
||||
|
||||
&mmc0 {
|
||||
disable-wp;
|
||||
bus-width = <4>;
|
||||
cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */
|
||||
vmmc-supply = <®_vcc3v3>;
|
||||
|
@ -54,6 +54,11 @@ reg_vcc3v3: vcc3v3 {
|
||||
};
|
||||
};
|
||||
|
||||
&codec {
|
||||
allwinner,audio-routing = "Line Out", "LINEOUT";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cpu0 {
|
||||
cpu-supply = <®_dcdc2>;
|
||||
};
|
||||
|
@ -52,6 +52,11 @@ wifi_pwrseq: pwrseq {
|
||||
};
|
||||
};
|
||||
|
||||
&codec {
|
||||
allwinner,audio-routing = "Line Out", "LINEOUT";
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cpu0 {
|
||||
cpu-supply = <®_dcdc2>;
|
||||
};
|
||||
@ -71,6 +76,7 @@ &ir {
|
||||
&mmc0 {
|
||||
vmmc-supply = <®_dldo1>;
|
||||
cd-gpios = <&pio 8 16 GPIO_ACTIVE_LOW>; /* PI16 */
|
||||
disable-wp;
|
||||
bus-width = <4>;
|
||||
status = "okay";
|
||||
};
|
||||
|
@ -177,6 +177,12 @@ reg_vcc5v: regulator-vcc5v { /* USB-C power input */
|
||||
};
|
||||
};
|
||||
|
||||
&codec {
|
||||
allwinner,audio-routing = "Line Out", "LINEOUT";
|
||||
allwinner,pa-gpios = <&pio 8 5 GPIO_ACTIVE_HIGH>; // PI5
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
&cpu0 {
|
||||
cpu-supply = <®_dcdc1>;
|
||||
};
|
||||
@ -270,7 +276,7 @@ reg_aldo3: aldo3 {
|
||||
reg_aldo4: aldo4 {
|
||||
regulator-min-microvolt = <1800000>;
|
||||
regulator-max-microvolt = <1800000>;
|
||||
regulator-name = "vcc-pg";
|
||||
regulator-name = "avcc";
|
||||
};
|
||||
|
||||
reg_bldo1: bldo1 {
|
||||
@ -293,7 +299,10 @@ reg_bldo4: bldo4 {
|
||||
};
|
||||
|
||||
reg_cldo1: cldo1 {
|
||||
/* 3.3v - audio codec - not yet implemented */
|
||||
regulator-always-on;
|
||||
regulator-min-microvolt = <3300000>;
|
||||
regulator-max-microvolt = <3300000>;
|
||||
regulator-name = "vcc-spkr-amp";
|
||||
};
|
||||
|
||||
reg_cldo2: cldo2 {
|
||||
|
Loading…
Reference in New Issue
Block a user