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:
Arnd Bergmann 2024-11-12 22:58:06 +01:00
commit 36255ab493
31 changed files with 620 additions and 27 deletions

View File

@ -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

View File

@ -15,9 +15,13 @@ properties:
const: 1
compatible:
enum:
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:

View File

@ -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:

View File

@ -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

View File

@ -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

View File

@ -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

View 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 = <&reg_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 = <&reg_dcdc1>;
x-powers,drive-vbus-en;
};
};
#include "axp223.dtsi"
&reg_aldo1 {
regulator-always-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vcc-io";
};
&reg_aldo2 {
regulator-always-on;
regulator-min-microvolt = <2350000>;
regulator-max-microvolt = <2650000>;
regulator-name = "vdd-dll";
};
&reg_aldo3 {
regulator-always-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vcc-avcc";
};
&reg_dc5ldo {
regulator-always-on;
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <1400000>;
regulator-name = "vdd-cpus";
};
&reg_dcdc1 {
regulator-always-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vcc-3v3";
};
&reg_dcdc2 {
regulator-always-on;
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <1400000>;
regulator-name = "vdd-sys";
};
&reg_dcdc3 {
regulator-always-on;
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <1400000>;
regulator-name = "vdd-cpu";
};
&reg_dcdc5 {
regulator-always-on;
regulator-min-microvolt = <1500000>;
regulator-max-microvolt = <1500000>;
regulator-name = "vcc-dram";
};
&reg_rtc_ldo {
regulator-name = "vcc-rtc";
};

View 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 = <&reg_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 = <&reg_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 = <&reg_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.
*/
&reg_dldo1 {
regulator-always-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vcc-wifi0";
};
&reg_dldo2 {
regulator-always-on;
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-name = "vcc-wifi1";
};
&reg_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 = <&reg_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 = <&reg_drivevbus>;
usb1_vbus-supply = <&reg_usb1_vbus>;
status = "okay";
};

View File

@ -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 @@
};
};
&mmc0 {
vmmc-supply = <&reg_dcdc1>;
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
bus-width = <4>;
status = "okay";
};
&mmc2 {
vmmc-supply = <&reg_dcdc1>;
vqmmc-supply = <&reg_aldo1>;
cap-mmc-hw-reset;
non-removable;
bus-width = <8>;
status = "okay";
};
&pio {
vcc-pb-supply = <&reg_dcdc1>;
vcc-pc-supply = <&reg_eldo1>;

View File

@ -25,21 +25,21 @@
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 @@
};
};
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 @@
};
};
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 @@
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 @@
#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>;

View File

@ -188,12 +188,30 @@
&i2c1 {
status = "okay";
/* Alternative magnetometer */
af8133j: magnetometer@1c {
compatible = "voltafield,af8133j";
reg = <0x1c>;
reset-gpios = <&pio 1 1 GPIO_ACTIVE_LOW>;
avdd-supply = <&reg_dldo1>;
dvdd-supply = <&reg_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 = <&reg_dldo1>;
vddio-supply = <&reg_dldo1>;
mount-matrix = "0", "1", "0",
"-1", "0", "0",
"0", "0", "1";
};
/* Light/proximity sensor */
@ -212,6 +230,9 @@
interrupts = <7 5 IRQ_TYPE_EDGE_RISING>; /* PH5 */
vdd-supply = <&reg_dldo1>;
vddio-supply = <&reg_dldo1>;
mount-matrix = "0", "1", "0",
"-1", "0", "0",
"0", "0", "1";
};
};

View File

@ -65,6 +65,11 @@
};
};
&codec {
allwinner,audio-routing = "Line Out", "LINEOUT";
status = "okay";
};
&cpu0 {
cpu-supply = <&reg_dcdc2>;
};

View File

@ -136,6 +136,7 @@
vmmc-supply = <&reg_vcc3v3>;
bus-width = <4>;
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
disable-wp;
status = "okay";
};

View File

@ -88,6 +88,7 @@
&mmc0 {
vmmc-supply = <&reg_vcc3v3>;
disable-wp;
bus-width = <4>;
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
status = "okay";

View File

@ -157,6 +157,7 @@
&mmc0 {
vmmc-supply = <&reg_vcc3v3>;
disable-wp;
bus-width = <4>;
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
status = "okay";

View File

@ -153,6 +153,7 @@
&mmc0 {
vmmc-supply = <&reg_vcc3v3>;
disable-wp;
bus-width = <4>;
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
status = "okay";

View File

@ -153,6 +153,7 @@
&mmc0 {
vmmc-supply = <&reg_vcc3v3>;
disable-wp;
bus-width = <4>;
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
status = "okay";

View File

@ -82,6 +82,7 @@
&mmc0 {
vmmc-supply = <&reg_vcc3v3>;
disable-wp;
bus-width = <4>;
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
status = "okay";

View File

@ -79,6 +79,7 @@
&mmc0 {
vmmc-supply = <&reg_vcc3v3>;
disable-wp;
bus-width = <4>;
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
status = "okay";

View File

@ -129,6 +129,7 @@
&mmc0 {
vmmc-supply = <&reg_cldo1>;
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
disable-wp;
bus-width = <4>;
status = "okay";
};

View File

@ -131,6 +131,7 @@
&mmc0 {
vmmc-supply = <&reg_cldo1>;
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
disable-wp;
bus-width = <4>;
status = "okay";
};

View File

@ -94,6 +94,7 @@
&mmc0 {
vmmc-supply = <&reg_cldo1>;
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
disable-wp;
bus-width = <4>;
status = "okay";
};

View File

@ -133,6 +133,7 @@
&mmc0 {
vmmc-supply = <&reg_cldo1>;
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
disable-wp;
bus-width = <4>;
status = "okay";
};

View File

@ -124,6 +124,7 @@
pinctrl-0 = <&mmc0_pins>;
vmmc-supply = <&reg_vcc3v3>;
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
disable-wp;
bus-width = <4>;
status = "okay";
};

View File

@ -59,6 +59,11 @@
};
};
&codec {
allwinner,audio-routing = "Line Out", "LINEOUT";
status = "okay";
};
&ehci1 {
status = "okay";
};
@ -81,6 +86,7 @@
&mmc0 {
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
disable-wp;
bus-width = <4>;
status = "okay";
};

View File

@ -33,6 +33,11 @@
};
};
&codec {
allwinner,audio-routing = "Line Out", "LINEOUT";
status = "okay";
};
&cpu0 {
cpu-supply = <&reg_dcdca>;
};
@ -52,6 +57,7 @@
&mmc0 {
vmmc-supply = <&reg_dcdce>;
cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>; /* PF6 */
disable-wp;
bus-width = <4>;
status = "okay";
};

View File

@ -630,21 +630,6 @@
};
};
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 @@
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";

View File

@ -111,6 +111,7 @@
};
&mmc0 {
disable-wp;
bus-width = <4>;
cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; /* PF6 */
vmmc-supply = <&reg_vcc3v3>;

View File

@ -54,6 +54,11 @@
};
};
&codec {
allwinner,audio-routing = "Line Out", "LINEOUT";
status = "okay";
};
&cpu0 {
cpu-supply = <&reg_dcdc2>;
};

View File

@ -52,6 +52,11 @@
};
};
&codec {
allwinner,audio-routing = "Line Out", "LINEOUT";
status = "okay";
};
&cpu0 {
cpu-supply = <&reg_dcdc2>;
};
@ -71,6 +76,7 @@
&mmc0 {
vmmc-supply = <&reg_dldo1>;
cd-gpios = <&pio 8 16 GPIO_ACTIVE_LOW>; /* PI16 */
disable-wp;
bus-width = <4>;
status = "okay";
};

View File

@ -177,6 +177,12 @@
};
};
&codec {
allwinner,audio-routing = "Line Out", "LINEOUT";
allwinner,pa-gpios = <&pio 8 5 GPIO_ACTIVE_HIGH>; // PI5
status = "okay";
};
&cpu0 {
cpu-supply = <&reg_dcdc1>;
};
@ -270,7 +276,7 @@
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_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 {