mirror of
https://github.com/lupyuen/pinephone-nuttx.git
synced 2025-01-12 20:58:34 +08:00
2054 lines
45 KiB
Text
2054 lines
45 KiB
Text
|
/dts-v1/;
|
||
|
|
||
|
/ {
|
||
|
interrupt-parent = <0x01>;
|
||
|
#address-cells = <0x01>;
|
||
|
#size-cells = <0x01>;
|
||
|
model = "Pine64 PinePhone (1.2)";
|
||
|
compatible = "pine64,pinephone-1.2\0allwinner,sun50i-a64";
|
||
|
|
||
|
chosen {
|
||
|
#address-cells = <0x01>;
|
||
|
#size-cells = <0x01>;
|
||
|
ranges;
|
||
|
stdout-path = "serial0:115200n8";
|
||
|
|
||
|
framebuffer-lcd {
|
||
|
compatible = "allwinner,simple-framebuffer\0simple-framebuffer";
|
||
|
allwinner,pipeline = "mixer0-lcd0";
|
||
|
clocks = <0x02 0x64 0x03 0x06>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
framebuffer-hdmi {
|
||
|
compatible = "allwinner,simple-framebuffer\0simple-framebuffer";
|
||
|
allwinner,pipeline = "mixer1-lcd1-hdmi";
|
||
|
clocks = <0x03 0x07 0x02 0x65 0x02 0x6e>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
cpus {
|
||
|
#address-cells = <0x01>;
|
||
|
#size-cells = <0x00>;
|
||
|
|
||
|
cpu@0 {
|
||
|
compatible = "arm,cortex-a53";
|
||
|
device_type = "cpu";
|
||
|
reg = <0x00>;
|
||
|
enable-method = "psci";
|
||
|
next-level-cache = <0x04>;
|
||
|
clocks = <0x02 0x15>;
|
||
|
clock-names = "cpu";
|
||
|
#cooling-cells = <0x02>;
|
||
|
operating-points-v2 = <0x05>;
|
||
|
cpu-supply = <0x06>;
|
||
|
phandle = <0x0b>;
|
||
|
};
|
||
|
|
||
|
cpu@1 {
|
||
|
compatible = "arm,cortex-a53";
|
||
|
device_type = "cpu";
|
||
|
reg = <0x01>;
|
||
|
enable-method = "psci";
|
||
|
next-level-cache = <0x04>;
|
||
|
clocks = <0x02 0x15>;
|
||
|
clock-names = "cpu";
|
||
|
#cooling-cells = <0x02>;
|
||
|
operating-points-v2 = <0x05>;
|
||
|
cpu-supply = <0x06>;
|
||
|
phandle = <0x0c>;
|
||
|
};
|
||
|
|
||
|
cpu@2 {
|
||
|
compatible = "arm,cortex-a53";
|
||
|
device_type = "cpu";
|
||
|
reg = <0x02>;
|
||
|
enable-method = "psci";
|
||
|
next-level-cache = <0x04>;
|
||
|
clocks = <0x02 0x15>;
|
||
|
clock-names = "cpu";
|
||
|
#cooling-cells = <0x02>;
|
||
|
operating-points-v2 = <0x05>;
|
||
|
cpu-supply = <0x06>;
|
||
|
phandle = <0x0d>;
|
||
|
};
|
||
|
|
||
|
cpu@3 {
|
||
|
compatible = "arm,cortex-a53";
|
||
|
device_type = "cpu";
|
||
|
reg = <0x03>;
|
||
|
enable-method = "psci";
|
||
|
next-level-cache = <0x04>;
|
||
|
clocks = <0x02 0x15>;
|
||
|
clock-names = "cpu";
|
||
|
#cooling-cells = <0x02>;
|
||
|
operating-points-v2 = <0x05>;
|
||
|
cpu-supply = <0x06>;
|
||
|
phandle = <0x0e>;
|
||
|
};
|
||
|
|
||
|
l2-cache {
|
||
|
compatible = "cache";
|
||
|
cache-level = <0x02>;
|
||
|
phandle = <0x04>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
display-engine {
|
||
|
compatible = "allwinner,sun50i-a64-display-engine";
|
||
|
allwinner,pipelines = <0x07 0x08>;
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
hdmi-sound {
|
||
|
compatible = "simple-audio-card";
|
||
|
simple-audio-card,format = "i2s";
|
||
|
simple-audio-card,name = "sun50i-a64-hdmi";
|
||
|
simple-audio-card,mclk-fs = <0x80>;
|
||
|
simple-audio-card,frame-inversion;
|
||
|
status = "okay";
|
||
|
|
||
|
simple-audio-card,codec {
|
||
|
sound-dai = <0x09>;
|
||
|
};
|
||
|
|
||
|
simple-audio-card,cpu {
|
||
|
sound-dai = <0x0a>;
|
||
|
dai-tdm-slot-num = <0x02>;
|
||
|
dai-tdm-slot-width = <0x20>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
osc24M_clk {
|
||
|
#clock-cells = <0x00>;
|
||
|
compatible = "fixed-clock";
|
||
|
clock-frequency = <0x16e3600>;
|
||
|
clock-output-names = "osc24M";
|
||
|
phandle = <0x33>;
|
||
|
};
|
||
|
|
||
|
osc32k_clk {
|
||
|
#clock-cells = <0x00>;
|
||
|
compatible = "fixed-clock";
|
||
|
clock-frequency = <0x8000>;
|
||
|
clock-output-names = "ext-osc32k";
|
||
|
phandle = <0x5c>;
|
||
|
};
|
||
|
|
||
|
pmu {
|
||
|
compatible = "arm,cortex-a53-pmu";
|
||
|
interrupts = <0x00 0x74 0x04 0x00 0x75 0x04 0x00 0x76 0x04 0x00 0x77 0x04>;
|
||
|
interrupt-affinity = <0x0b 0x0c 0x0d 0x0e>;
|
||
|
};
|
||
|
|
||
|
psci {
|
||
|
compatible = "arm,psci-0.2";
|
||
|
method = "smc";
|
||
|
};
|
||
|
|
||
|
scpi {
|
||
|
compatible = "arm,scpi";
|
||
|
mboxes = <0x0f 0x02 0x0f 0x03>;
|
||
|
mbox-names = "tx\0rx";
|
||
|
shmem = <0x10>;
|
||
|
};
|
||
|
|
||
|
sound {
|
||
|
#address-cells = <0x01>;
|
||
|
#size-cells = <0x00>;
|
||
|
compatible = "simple-audio-card";
|
||
|
simple-audio-card,name = "PinePhone";
|
||
|
simple-audio-card,aux-devs = <0x11 0x12>;
|
||
|
simple-audio-card,routing = "Headphone Jack\0HP\0Internal Earpiece\0EARPIECE\0Internal Speaker\0Speaker Amp OUTL\0Internal Speaker\0Speaker Amp OUTR\0Speaker Amp INL\0LINEOUT\0Speaker Amp INR\0LINEOUT\0Left DAC\0DACL\0Right DAC\0DACR\0ADCL\0Left ADC\0ADCR\0Right ADC\0Internal Microphone\0MBIAS\0MIC1\0Internal Microphone\0Headset Microphone\0HBIAS\0MIC2\0Headset Microphone";
|
||
|
status = "okay";
|
||
|
simple-audio-card,widgets = "Microphone\0Headset Microphone\0Microphone\0Internal Microphone\0Headphone\0Headphone Jack\0Speaker\0Internal Earpiece\0Speaker\0Internal Speaker";
|
||
|
|
||
|
simple-audio-card,dai-link@0 {
|
||
|
format = "i2s";
|
||
|
frame-master = <0x13>;
|
||
|
bitclock-master = <0x13>;
|
||
|
mclk-fs = <0x80>;
|
||
|
|
||
|
cpu {
|
||
|
sound-dai = <0x14>;
|
||
|
phandle = <0x13>;
|
||
|
};
|
||
|
|
||
|
codec {
|
||
|
sound-dai = <0x15 0x00>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
simple-audio-card,dai-link@1 {
|
||
|
format = "dsp_a";
|
||
|
frame-master = <0x16>;
|
||
|
bitclock-master = <0x16>;
|
||
|
bitclock-inversion;
|
||
|
|
||
|
cpu {
|
||
|
sound-dai = <0x17 0x00>;
|
||
|
};
|
||
|
|
||
|
codec {
|
||
|
sound-dai = <0x15 0x01>;
|
||
|
dai-tdm-slot-num = <0x01>;
|
||
|
dai-tdm-slot-width = <0x20>;
|
||
|
phandle = <0x16>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
simple-audio-card,dai-link@2 {
|
||
|
format = "dsp_a";
|
||
|
frame-master = <0x18>;
|
||
|
bitclock-master = <0x18>;
|
||
|
bitclock-inversion;
|
||
|
|
||
|
cpu {
|
||
|
sound-dai = <0x19 0x00>;
|
||
|
};
|
||
|
|
||
|
codec {
|
||
|
sound-dai = <0x15 0x02>;
|
||
|
dai-tdm-slot-num = <0x02>;
|
||
|
dai-tdm-slot-width = <0x10>;
|
||
|
phandle = <0x18>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
timer {
|
||
|
compatible = "arm,armv8-timer";
|
||
|
allwinner,erratum-unknown1;
|
||
|
arm,no-tick-in-suspend;
|
||
|
interrupts = <0x01 0x0d 0xf04 0x01 0x0e 0xf04 0x01 0x0b 0xf04 0x01 0x0a 0xf04>;
|
||
|
};
|
||
|
|
||
|
thermal-zones {
|
||
|
|
||
|
cpu0-thermal {
|
||
|
polling-delay-passive = <0x00>;
|
||
|
polling-delay = <0x00>;
|
||
|
thermal-sensors = <0x1a 0x00>;
|
||
|
|
||
|
cooling-maps {
|
||
|
|
||
|
map0 {
|
||
|
trip = <0x1b>;
|
||
|
cooling-device = <0x0b 0xffffffff 0xffffffff 0x0c 0xffffffff 0xffffffff 0x0d 0xffffffff 0xffffffff 0x0e 0xffffffff 0xffffffff>;
|
||
|
};
|
||
|
|
||
|
map1 {
|
||
|
trip = <0x1c>;
|
||
|
cooling-device = <0x0b 0xffffffff 0xffffffff 0x0c 0xffffffff 0xffffffff 0x0d 0xffffffff 0xffffffff 0x0e 0xffffffff 0xffffffff>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
trips {
|
||
|
|
||
|
cpu_alert0 {
|
||
|
temperature = <0x124f8>;
|
||
|
hysteresis = <0x7d0>;
|
||
|
type = "passive";
|
||
|
phandle = <0x1b>;
|
||
|
};
|
||
|
|
||
|
cpu_alert1 {
|
||
|
temperature = <0x15f90>;
|
||
|
hysteresis = <0x7d0>;
|
||
|
type = "hot";
|
||
|
phandle = <0x1c>;
|
||
|
};
|
||
|
|
||
|
cpu_crit {
|
||
|
temperature = <0x1adb0>;
|
||
|
hysteresis = <0x7d0>;
|
||
|
type = "critical";
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
gpu0-thermal {
|
||
|
polling-delay-passive = <0x00>;
|
||
|
polling-delay = <0x00>;
|
||
|
thermal-sensors = <0x1a 0x01>;
|
||
|
};
|
||
|
|
||
|
gpu1-thermal {
|
||
|
polling-delay-passive = <0x00>;
|
||
|
polling-delay = <0x00>;
|
||
|
thermal-sensors = <0x1a 0x02>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
soc {
|
||
|
compatible = "simple-bus";
|
||
|
#address-cells = <0x01>;
|
||
|
#size-cells = <0x01>;
|
||
|
ranges;
|
||
|
|
||
|
bus@1000000 {
|
||
|
compatible = "allwinner,sun50i-a64-de2";
|
||
|
reg = <0x1000000 0x400000>;
|
||
|
allwinner,sram = <0x1d 0x01>;
|
||
|
#address-cells = <0x01>;
|
||
|
#size-cells = <0x01>;
|
||
|
ranges = <0x00 0x1000000 0x400000>;
|
||
|
|
||
|
clock@0 {
|
||
|
compatible = "allwinner,sun50i-a64-de2-clk";
|
||
|
reg = <0x00 0x10000>;
|
||
|
clocks = <0x02 0x34 0x02 0x63>;
|
||
|
clock-names = "bus\0mod";
|
||
|
resets = <0x02 0x1e>;
|
||
|
#clock-cells = <0x01>;
|
||
|
#reset-cells = <0x01>;
|
||
|
phandle = <0x03>;
|
||
|
};
|
||
|
|
||
|
rotate@20000 {
|
||
|
compatible = "allwinner,sun50i-a64-de2-rotate\0allwinner,sun8i-a83t-de2-rotate";
|
||
|
reg = <0x20000 0x10000>;
|
||
|
interrupts = <0x00 0x60 0x04>;
|
||
|
clocks = <0x03 0x09 0x03 0x0a>;
|
||
|
clock-names = "bus\0mod";
|
||
|
resets = <0x03 0x03>;
|
||
|
};
|
||
|
|
||
|
mixer@100000 {
|
||
|
compatible = "allwinner,sun50i-a64-de2-mixer-0";
|
||
|
reg = <0x100000 0x100000>;
|
||
|
clocks = <0x03 0x00 0x03 0x06>;
|
||
|
clock-names = "bus\0mod";
|
||
|
resets = <0x03 0x00>;
|
||
|
phandle = <0x07>;
|
||
|
|
||
|
ports {
|
||
|
#address-cells = <0x01>;
|
||
|
#size-cells = <0x00>;
|
||
|
|
||
|
port@1 {
|
||
|
#address-cells = <0x01>;
|
||
|
#size-cells = <0x00>;
|
||
|
reg = <0x01>;
|
||
|
|
||
|
endpoint@0 {
|
||
|
reg = <0x00>;
|
||
|
remote-endpoint = <0x1e>;
|
||
|
phandle = <0x22>;
|
||
|
};
|
||
|
|
||
|
endpoint@1 {
|
||
|
reg = <0x01>;
|
||
|
remote-endpoint = <0x1f>;
|
||
|
phandle = <0x25>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
mixer@200000 {
|
||
|
compatible = "allwinner,sun50i-a64-de2-mixer-1";
|
||
|
reg = <0x200000 0x100000>;
|
||
|
clocks = <0x03 0x01 0x03 0x07>;
|
||
|
clock-names = "bus\0mod";
|
||
|
resets = <0x03 0x01>;
|
||
|
phandle = <0x08>;
|
||
|
|
||
|
ports {
|
||
|
#address-cells = <0x01>;
|
||
|
#size-cells = <0x00>;
|
||
|
|
||
|
port@1 {
|
||
|
#address-cells = <0x01>;
|
||
|
#size-cells = <0x00>;
|
||
|
reg = <0x01>;
|
||
|
|
||
|
endpoint@0 {
|
||
|
reg = <0x00>;
|
||
|
remote-endpoint = <0x20>;
|
||
|
phandle = <0x23>;
|
||
|
};
|
||
|
|
||
|
endpoint@1 {
|
||
|
reg = <0x01>;
|
||
|
remote-endpoint = <0x21>;
|
||
|
phandle = <0x26>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
syscon@1c00000 {
|
||
|
compatible = "allwinner,sun50i-a64-system-control";
|
||
|
reg = <0x1c00000 0x1000>;
|
||
|
#address-cells = <0x01>;
|
||
|
#size-cells = <0x01>;
|
||
|
ranges;
|
||
|
phandle = <0x4d>;
|
||
|
|
||
|
sram@40000 {
|
||
|
compatible = "mmio-sram";
|
||
|
reg = <0x40000 0x14000>;
|
||
|
#address-cells = <0x01>;
|
||
|
#size-cells = <0x01>;
|
||
|
ranges = <0x00 0x40000 0x14000>;
|
||
|
|
||
|
scpi-sram@13c00 {
|
||
|
compatible = "arm,scp-shmem";
|
||
|
reg = <0x13c00 0x200>;
|
||
|
phandle = <0x10>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
sram@18000 {
|
||
|
compatible = "mmio-sram";
|
||
|
reg = <0x18000 0x28000>;
|
||
|
#address-cells = <0x01>;
|
||
|
#size-cells = <0x01>;
|
||
|
ranges = <0x00 0x18000 0x28000>;
|
||
|
|
||
|
sram-section@0 {
|
||
|
compatible = "allwinner,sun50i-a64-sram-c";
|
||
|
reg = <0x00 0x28000>;
|
||
|
phandle = <0x1d>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
sram@1d00000 {
|
||
|
compatible = "mmio-sram";
|
||
|
reg = <0x1d00000 0x40000>;
|
||
|
#address-cells = <0x01>;
|
||
|
#size-cells = <0x01>;
|
||
|
ranges = <0x00 0x1d00000 0x40000>;
|
||
|
|
||
|
sram-section@0 {
|
||
|
compatible = "allwinner,sun50i-a64-sram-c1\0allwinner,sun4i-a10-sram-c1";
|
||
|
reg = <0x00 0x40000>;
|
||
|
phandle = <0x28>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
dma-controller@1c02000 {
|
||
|
compatible = "allwinner,sun50i-a64-dma";
|
||
|
reg = <0x1c02000 0x1000>;
|
||
|
interrupts = <0x00 0x32 0x04>;
|
||
|
clocks = <0x02 0x1e>;
|
||
|
dma-channels = <0x08>;
|
||
|
dma-requests = <0x1b>;
|
||
|
resets = <0x02 0x07>;
|
||
|
#dma-cells = <0x01>;
|
||
|
phandle = <0x36>;
|
||
|
};
|
||
|
|
||
|
lcd-controller@1c0c000 {
|
||
|
compatible = "allwinner,sun50i-a64-tcon-lcd\0allwinner,sun8i-a83t-tcon-lcd";
|
||
|
reg = <0x1c0c000 0x1000>;
|
||
|
interrupts = <0x00 0x56 0x04>;
|
||
|
clocks = <0x02 0x2f 0x02 0x64>;
|
||
|
clock-names = "ahb\0tcon-ch0";
|
||
|
clock-output-names = "tcon-pixel-clock";
|
||
|
#clock-cells = <0x00>;
|
||
|
resets = <0x02 0x18 0x02 0x23>;
|
||
|
reset-names = "lcd\0lvds";
|
||
|
|
||
|
ports {
|
||
|
#address-cells = <0x01>;
|
||
|
#size-cells = <0x00>;
|
||
|
|
||
|
port@0 {
|
||
|
#address-cells = <0x01>;
|
||
|
#size-cells = <0x00>;
|
||
|
reg = <0x00>;
|
||
|
|
||
|
endpoint@0 {
|
||
|
reg = <0x00>;
|
||
|
remote-endpoint = <0x22>;
|
||
|
phandle = <0x1e>;
|
||
|
};
|
||
|
|
||
|
endpoint@1 {
|
||
|
reg = <0x01>;
|
||
|
remote-endpoint = <0x23>;
|
||
|
phandle = <0x20>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
port@1 {
|
||
|
#address-cells = <0x01>;
|
||
|
#size-cells = <0x00>;
|
||
|
reg = <0x01>;
|
||
|
|
||
|
endpoint@1 {
|
||
|
reg = <0x01>;
|
||
|
remote-endpoint = <0x24>;
|
||
|
allwinner,tcon-channel = <0x01>;
|
||
|
phandle = <0x54>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
lcd-controller@1c0d000 {
|
||
|
compatible = "allwinner,sun50i-a64-tcon-tv\0allwinner,sun8i-a83t-tcon-tv";
|
||
|
reg = <0x1c0d000 0x1000>;
|
||
|
interrupts = <0x00 0x57 0x04>;
|
||
|
clocks = <0x02 0x30 0x02 0x65>;
|
||
|
clock-names = "ahb\0tcon-ch1";
|
||
|
resets = <0x02 0x19>;
|
||
|
reset-names = "lcd";
|
||
|
|
||
|
ports {
|
||
|
#address-cells = <0x01>;
|
||
|
#size-cells = <0x00>;
|
||
|
|
||
|
port@0 {
|
||
|
#address-cells = <0x01>;
|
||
|
#size-cells = <0x00>;
|
||
|
reg = <0x00>;
|
||
|
|
||
|
endpoint@0 {
|
||
|
reg = <0x00>;
|
||
|
remote-endpoint = <0x25>;
|
||
|
phandle = <0x1f>;
|
||
|
};
|
||
|
|
||
|
endpoint@1 {
|
||
|
reg = <0x01>;
|
||
|
remote-endpoint = <0x26>;
|
||
|
phandle = <0x21>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
port@1 {
|
||
|
#address-cells = <0x01>;
|
||
|
#size-cells = <0x00>;
|
||
|
reg = <0x01>;
|
||
|
|
||
|
endpoint@1 {
|
||
|
reg = <0x01>;
|
||
|
remote-endpoint = <0x27>;
|
||
|
phandle = <0x59>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
video-codec@1c0e000 {
|
||
|
compatible = "allwinner,sun50i-a64-video-engine";
|
||
|
reg = <0x1c0e000 0x1000>;
|
||
|
clocks = <0x02 0x2e 0x02 0x6a 0x02 0x5f>;
|
||
|
clock-names = "ahb\0mod\0ram";
|
||
|
resets = <0x02 0x17>;
|
||
|
interrupts = <0x00 0x3a 0x04>;
|
||
|
allwinner,sram = <0x28 0x01>;
|
||
|
};
|
||
|
|
||
|
mmc@1c0f000 {
|
||
|
compatible = "allwinner,sun50i-a64-mmc";
|
||
|
reg = <0x1c0f000 0x1000>;
|
||
|
clocks = <0x02 0x1f 0x02 0x4b>;
|
||
|
clock-names = "ahb\0mmc";
|
||
|
resets = <0x02 0x08>;
|
||
|
reset-names = "ahb";
|
||
|
interrupts = <0x00 0x3c 0x04>;
|
||
|
max-frequency = <0x8f0d180>;
|
||
|
status = "okay";
|
||
|
#address-cells = <0x01>;
|
||
|
#size-cells = <0x00>;
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <0x29>;
|
||
|
vmmc-supply = <0x2a>;
|
||
|
vqmmc-supply = <0x2a>;
|
||
|
cd-gpios = <0x2b 0x05 0x06 0x01>;
|
||
|
disable-wp;
|
||
|
bus-width = <0x04>;
|
||
|
};
|
||
|
|
||
|
mmc@1c10000 {
|
||
|
compatible = "allwinner,sun50i-a64-mmc";
|
||
|
reg = <0x1c10000 0x1000>;
|
||
|
clocks = <0x02 0x20 0x02 0x4c>;
|
||
|
clock-names = "ahb\0mmc";
|
||
|
resets = <0x02 0x09>;
|
||
|
reset-names = "ahb";
|
||
|
interrupts = <0x00 0x3d 0x04>;
|
||
|
max-frequency = <0x8f0d180>;
|
||
|
status = "okay";
|
||
|
#address-cells = <0x01>;
|
||
|
#size-cells = <0x00>;
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <0x2c>;
|
||
|
vmmc-supply = <0x2d>;
|
||
|
vqmmc-supply = <0x2e>;
|
||
|
bus-width = <0x04>;
|
||
|
non-removable;
|
||
|
mmc-pwrseq = <0x2f>;
|
||
|
|
||
|
wifi@1 {
|
||
|
reg = <0x01>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
mmc@1c11000 {
|
||
|
compatible = "allwinner,sun50i-a64-emmc";
|
||
|
reg = <0x1c11000 0x1000>;
|
||
|
clocks = <0x02 0x21 0x02 0x4d>;
|
||
|
clock-names = "ahb\0mmc";
|
||
|
resets = <0x02 0x0a>;
|
||
|
reset-names = "ahb";
|
||
|
interrupts = <0x00 0x3e 0x04>;
|
||
|
max-frequency = <0xbebc200>;
|
||
|
status = "okay";
|
||
|
#address-cells = <0x01>;
|
||
|
#size-cells = <0x00>;
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <0x30>;
|
||
|
vmmc-supply = <0x2a>;
|
||
|
vqmmc-supply = <0x2a>;
|
||
|
bus-width = <0x08>;
|
||
|
non-removable;
|
||
|
cap-mmc-hw-reset;
|
||
|
};
|
||
|
|
||
|
eeprom@1c14000 {
|
||
|
compatible = "allwinner,sun50i-a64-sid";
|
||
|
reg = <0x1c14000 0x400>;
|
||
|
#address-cells = <0x01>;
|
||
|
#size-cells = <0x01>;
|
||
|
|
||
|
thermal-sensor-calibration@34 {
|
||
|
reg = <0x34 0x08>;
|
||
|
phandle = <0x3b>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
crypto@1c15000 {
|
||
|
compatible = "allwinner,sun50i-a64-crypto";
|
||
|
reg = <0x1c15000 0x1000>;
|
||
|
interrupts = <0x00 0x5e 0x04>;
|
||
|
clocks = <0x02 0x1d 0x02 0x4f>;
|
||
|
clock-names = "bus\0mod";
|
||
|
resets = <0x02 0x06>;
|
||
|
};
|
||
|
|
||
|
mailbox@1c17000 {
|
||
|
compatible = "allwinner,sun50i-a64-msgbox\0allwinner,sun6i-a31-msgbox";
|
||
|
reg = <0x1c17000 0x1000>;
|
||
|
clocks = <0x02 0x36>;
|
||
|
resets = <0x02 0x20>;
|
||
|
interrupts = <0x00 0x31 0x04>;
|
||
|
#mbox-cells = <0x01>;
|
||
|
phandle = <0x0f>;
|
||
|
};
|
||
|
|
||
|
usb@1c19000 {
|
||
|
compatible = "allwinner,sun8i-a33-musb";
|
||
|
reg = <0x1c19000 0x400>;
|
||
|
clocks = <0x02 0x29>;
|
||
|
resets = <0x02 0x12>;
|
||
|
interrupts = <0x00 0x47 0x04>;
|
||
|
interrupt-names = "mc";
|
||
|
phys = <0x31 0x00>;
|
||
|
phy-names = "usb";
|
||
|
extcon = <0x31 0x00>;
|
||
|
dr_mode = "otg";
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
phy@1c19400 {
|
||
|
compatible = "allwinner,sun50i-a64-usb-phy";
|
||
|
reg = <0x1c19400 0x14 0x1c1a800 0x04 0x1c1b800 0x04>;
|
||
|
reg-names = "phy_ctrl\0pmu0\0pmu1";
|
||
|
clocks = <0x02 0x56 0x02 0x57>;
|
||
|
clock-names = "usb0_phy\0usb1_phy";
|
||
|
resets = <0x02 0x00 0x02 0x01>;
|
||
|
reset-names = "usb0_reset\0usb1_reset";
|
||
|
status = "okay";
|
||
|
#phy-cells = <0x01>;
|
||
|
usb-role-switch;
|
||
|
phandle = <0x31>;
|
||
|
|
||
|
port {
|
||
|
|
||
|
endpoint {
|
||
|
remote-endpoint = <0x32>;
|
||
|
phandle = <0x47>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
usb@1c1a000 {
|
||
|
compatible = "allwinner,sun50i-a64-ehci\0generic-ehci";
|
||
|
reg = <0x1c1a000 0x100>;
|
||
|
interrupts = <0x00 0x48 0x04>;
|
||
|
clocks = <0x02 0x2c 0x02 0x2a 0x02 0x5b>;
|
||
|
resets = <0x02 0x15 0x02 0x13>;
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
usb@1c1a400 {
|
||
|
compatible = "allwinner,sun50i-a64-ohci\0generic-ohci";
|
||
|
reg = <0x1c1a400 0x100>;
|
||
|
interrupts = <0x00 0x49 0x04>;
|
||
|
clocks = <0x02 0x2c 0x02 0x5b>;
|
||
|
resets = <0x02 0x15>;
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
usb@1c1b000 {
|
||
|
compatible = "allwinner,sun50i-a64-ehci\0generic-ehci";
|
||
|
reg = <0x1c1b000 0x100>;
|
||
|
interrupts = <0x00 0x4a 0x04>;
|
||
|
clocks = <0x02 0x2d 0x02 0x2b 0x02 0x5d>;
|
||
|
resets = <0x02 0x16 0x02 0x14>;
|
||
|
phys = <0x31 0x01>;
|
||
|
phy-names = "usb";
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
usb@1c1b400 {
|
||
|
compatible = "allwinner,sun50i-a64-ohci\0generic-ohci";
|
||
|
reg = <0x1c1b400 0x100>;
|
||
|
interrupts = <0x00 0x4b 0x04>;
|
||
|
clocks = <0x02 0x2d 0x02 0x5d>;
|
||
|
resets = <0x02 0x16>;
|
||
|
phys = <0x31 0x01>;
|
||
|
phy-names = "usb";
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
clock@1c20000 {
|
||
|
compatible = "allwinner,sun50i-a64-ccu";
|
||
|
reg = <0x1c20000 0x400>;
|
||
|
clocks = <0x33 0x34 0x00>;
|
||
|
clock-names = "hosc\0losc";
|
||
|
protected-clocks = <0x36>;
|
||
|
#clock-cells = <0x01>;
|
||
|
#reset-cells = <0x01>;
|
||
|
phandle = <0x02>;
|
||
|
};
|
||
|
|
||
|
pinctrl@1c20800 {
|
||
|
compatible = "allwinner,sun50i-a64-pinctrl";
|
||
|
reg = <0x1c20800 0x400>;
|
||
|
interrupts = <0x00 0x0b 0x04 0x00 0x11 0x04 0x00 0x15 0x04>;
|
||
|
clocks = <0x02 0x3a 0x33 0x34 0x00>;
|
||
|
clock-names = "apb\0hosc\0losc";
|
||
|
gpio-controller;
|
||
|
#gpio-cells = <0x03>;
|
||
|
interrupt-controller;
|
||
|
#interrupt-cells = <0x03>;
|
||
|
vcc-pb-supply = <0x2a>;
|
||
|
vcc-pc-supply = <0x2a>;
|
||
|
vcc-pd-supply = <0x2a>;
|
||
|
vcc-pe-supply = <0x35>;
|
||
|
vcc-pf-supply = <0x2a>;
|
||
|
vcc-pg-supply = <0x2e>;
|
||
|
vcc-ph-supply = <0x2a>;
|
||
|
phandle = <0x2b>;
|
||
|
|
||
|
aif2-pins {
|
||
|
pins = "PB4\0PB5\0PB6\0PB7";
|
||
|
function = "aif2";
|
||
|
phandle = <0x39>;
|
||
|
};
|
||
|
|
||
|
aif3-pins {
|
||
|
pins = "PG10\0PG11\0PG12\0PG13";
|
||
|
function = "aif3";
|
||
|
phandle = <0x3a>;
|
||
|
};
|
||
|
|
||
|
csi-pins {
|
||
|
pins = "PE0\0PE2\0PE3\0PE4\0PE5\0PE6\0PE7\0PE8\0PE9\0PE10\0PE11";
|
||
|
function = "csi";
|
||
|
phandle = <0x4f>;
|
||
|
};
|
||
|
|
||
|
csi-mclk-pin {
|
||
|
pins = "PE1";
|
||
|
function = "csi";
|
||
|
phandle = <0x50>;
|
||
|
};
|
||
|
|
||
|
i2c0-pins {
|
||
|
pins = "PH0\0PH1";
|
||
|
function = "i2c0";
|
||
|
phandle = <0x41>;
|
||
|
};
|
||
|
|
||
|
i2c1-pins {
|
||
|
pins = "PH2\0PH3";
|
||
|
function = "i2c1";
|
||
|
phandle = <0x49>;
|
||
|
};
|
||
|
|
||
|
i2c2-pins {
|
||
|
pins = "PE14\0PE15";
|
||
|
function = "i2c2";
|
||
|
phandle = <0x4a>;
|
||
|
};
|
||
|
|
||
|
mmc0-pins {
|
||
|
pins = "PF0\0PF1\0PF2\0PF3\0PF4\0PF5";
|
||
|
function = "mmc0";
|
||
|
drive-strength = <0x1e>;
|
||
|
bias-pull-up;
|
||
|
phandle = <0x29>;
|
||
|
};
|
||
|
|
||
|
mmc1-pins {
|
||
|
pins = "PG0\0PG1\0PG2\0PG3\0PG4\0PG5";
|
||
|
function = "mmc1";
|
||
|
drive-strength = <0x1e>;
|
||
|
bias-pull-up;
|
||
|
phandle = <0x2c>;
|
||
|
};
|
||
|
|
||
|
mmc2-pins {
|
||
|
pins = "PC5\0PC6\0PC8\0PC9\0PC10\0PC11\0PC12\0PC13\0PC14\0PC15\0PC16";
|
||
|
function = "mmc2";
|
||
|
drive-strength = <0x1e>;
|
||
|
bias-pull-up;
|
||
|
phandle = <0x30>;
|
||
|
};
|
||
|
|
||
|
mmc2-ds-pin {
|
||
|
pins = "PC1";
|
||
|
function = "mmc2";
|
||
|
drive-strength = <0x1e>;
|
||
|
bias-pull-up;
|
||
|
};
|
||
|
|
||
|
pwm-pin {
|
||
|
pins = "PD22";
|
||
|
function = "pwm";
|
||
|
phandle = <0x4e>;
|
||
|
};
|
||
|
|
||
|
rmii-pins {
|
||
|
pins = "PD10\0PD11\0PD13\0PD14\0PD17\0PD18\0PD19\0PD20\0PD22\0PD23";
|
||
|
function = "emac";
|
||
|
drive-strength = <0x28>;
|
||
|
};
|
||
|
|
||
|
rgmii-pins {
|
||
|
pins = "PD8\0PD9\0PD10\0PD11\0PD12\0PD13\0PD15\0PD16\0PD17\0PD18\0PD19\0PD20\0PD21\0PD22\0PD23";
|
||
|
function = "emac";
|
||
|
drive-strength = <0x28>;
|
||
|
};
|
||
|
|
||
|
spdif-tx-pin {
|
||
|
pins = "PH8";
|
||
|
function = "spdif";
|
||
|
phandle = <0x37>;
|
||
|
};
|
||
|
|
||
|
spi0-pins {
|
||
|
pins = "PC0\0PC1\0PC2\0PC3";
|
||
|
function = "spi0";
|
||
|
phandle = <0x4b>;
|
||
|
};
|
||
|
|
||
|
spi1-pins {
|
||
|
pins = "PD0\0PD1\0PD2\0PD3";
|
||
|
function = "spi1";
|
||
|
phandle = <0x4c>;
|
||
|
};
|
||
|
|
||
|
uart0-pb-pins {
|
||
|
pins = "PB8\0PB9";
|
||
|
function = "uart0";
|
||
|
phandle = <0x3c>;
|
||
|
};
|
||
|
|
||
|
uart1-pins {
|
||
|
pins = "PG6\0PG7";
|
||
|
function = "uart1";
|
||
|
phandle = <0x3d>;
|
||
|
};
|
||
|
|
||
|
uart1-rts-cts-pins {
|
||
|
pins = "PG8\0PG9";
|
||
|
function = "uart1";
|
||
|
phandle = <0x3e>;
|
||
|
};
|
||
|
|
||
|
uart2-pins {
|
||
|
pins = "PB0\0PB1";
|
||
|
function = "uart2";
|
||
|
};
|
||
|
|
||
|
uart3-pins {
|
||
|
pins = "PD0\0PD1";
|
||
|
function = "uart3";
|
||
|
phandle = <0x40>;
|
||
|
};
|
||
|
|
||
|
uart4-pins {
|
||
|
pins = "PD2\0PD3";
|
||
|
function = "uart4";
|
||
|
};
|
||
|
|
||
|
uart4-rts-cts-pins {
|
||
|
pins = "PD4\0PD5";
|
||
|
function = "uart4";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
spdif@1c21000 {
|
||
|
#sound-dai-cells = <0x00>;
|
||
|
compatible = "allwinner,sun50i-a64-spdif\0allwinner,sun8i-h3-spdif";
|
||
|
reg = <0x1c21000 0x400>;
|
||
|
interrupts = <0x00 0x0c 0x04>;
|
||
|
clocks = <0x02 0x39 0x02 0x55>;
|
||
|
resets = <0x02 0x25>;
|
||
|
clock-names = "apb\0spdif";
|
||
|
dmas = <0x36 0x02>;
|
||
|
dma-names = "tx";
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <0x37>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
lradc@1c21800 {
|
||
|
compatible = "allwinner,sun50i-a64-lradc\0allwinner,sun4i-a10-lradc-keys";
|
||
|
reg = <0x1c21800 0x400>;
|
||
|
interrupts = <0x00 0x1e 0x04>;
|
||
|
status = "okay";
|
||
|
vref-supply = <0x38>;
|
||
|
|
||
|
button-200 {
|
||
|
label = "Volume Up";
|
||
|
linux,code = <0x73>;
|
||
|
channel = <0x00>;
|
||
|
voltage = <0x30d40>;
|
||
|
};
|
||
|
|
||
|
button-400 {
|
||
|
label = "Volume Down";
|
||
|
linux,code = <0x72>;
|
||
|
channel = <0x00>;
|
||
|
voltage = <0x61a80>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
i2s@1c22000 {
|
||
|
#sound-dai-cells = <0x00>;
|
||
|
compatible = "allwinner,sun50i-a64-i2s\0allwinner,sun8i-h3-i2s";
|
||
|
reg = <0x1c22000 0x400>;
|
||
|
interrupts = <0x00 0x0d 0x04>;
|
||
|
clocks = <0x02 0x3c 0x02 0x52>;
|
||
|
clock-names = "apb\0mod";
|
||
|
resets = <0x02 0x27>;
|
||
|
dma-names = "rx\0tx";
|
||
|
dmas = <0x36 0x03 0x36 0x03>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
i2s@1c22400 {
|
||
|
#sound-dai-cells = <0x00>;
|
||
|
compatible = "allwinner,sun50i-a64-i2s\0allwinner,sun8i-h3-i2s";
|
||
|
reg = <0x1c22400 0x400>;
|
||
|
interrupts = <0x00 0x0e 0x04>;
|
||
|
clocks = <0x02 0x3d 0x02 0x53>;
|
||
|
clock-names = "apb\0mod";
|
||
|
resets = <0x02 0x28>;
|
||
|
dma-names = "rx\0tx";
|
||
|
dmas = <0x36 0x04 0x36 0x04>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
i2s@1c22800 {
|
||
|
#sound-dai-cells = <0x00>;
|
||
|
compatible = "allwinner,sun50i-a64-i2s\0allwinner,sun8i-h3-i2s";
|
||
|
reg = <0x1c22800 0x400>;
|
||
|
interrupts = <0x00 0x0f 0x04>;
|
||
|
clocks = <0x02 0x3e 0x02 0x54>;
|
||
|
clock-names = "apb\0mod";
|
||
|
resets = <0x02 0x29>;
|
||
|
dma-names = "rx\0tx";
|
||
|
dmas = <0x36 0x1b 0x36 0x1b>;
|
||
|
status = "okay";
|
||
|
phandle = <0x0a>;
|
||
|
};
|
||
|
|
||
|
dai@1c22c00 {
|
||
|
#sound-dai-cells = <0x00>;
|
||
|
compatible = "allwinner,sun50i-a64-codec-i2s";
|
||
|
reg = <0x1c22c00 0x200>;
|
||
|
interrupts = <0x00 0x1d 0x04>;
|
||
|
clocks = <0x02 0x38 0x02 0x6b>;
|
||
|
clock-names = "apb\0mod";
|
||
|
resets = <0x02 0x24>;
|
||
|
dmas = <0x36 0x0f 0x36 0x0f>;
|
||
|
dma-names = "rx\0tx";
|
||
|
status = "okay";
|
||
|
phandle = <0x14>;
|
||
|
};
|
||
|
|
||
|
codec@1c22e00 {
|
||
|
#sound-dai-cells = <0x01>;
|
||
|
compatible = "allwinner,sun50i-a64-codec\0allwinner,sun8i-a33-codec";
|
||
|
reg = <0x1c22e00 0x600>;
|
||
|
interrupts = <0x00 0x1c 0x04>;
|
||
|
clocks = <0x02 0x38 0x02 0x6b>;
|
||
|
clock-names = "bus\0mod";
|
||
|
status = "okay";
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <0x39 0x3a>;
|
||
|
phandle = <0x15>;
|
||
|
};
|
||
|
|
||
|
thermal-sensor@1c25000 {
|
||
|
compatible = "allwinner,sun50i-a64-ths";
|
||
|
reg = <0x1c25000 0x100>;
|
||
|
clocks = <0x02 0x3b 0x02 0x49>;
|
||
|
clock-names = "bus\0mod";
|
||
|
interrupts = <0x00 0x1f 0x04>;
|
||
|
resets = <0x02 0x26>;
|
||
|
nvmem-cells = <0x3b>;
|
||
|
nvmem-cell-names = "calibration";
|
||
|
#thermal-sensor-cells = <0x01>;
|
||
|
phandle = <0x1a>;
|
||
|
};
|
||
|
|
||
|
serial@1c28000 {
|
||
|
compatible = "snps,dw-apb-uart";
|
||
|
reg = <0x1c28000 0x400>;
|
||
|
interrupts = <0x00 0x00 0x04>;
|
||
|
reg-shift = <0x02>;
|
||
|
reg-io-width = <0x04>;
|
||
|
clocks = <0x02 0x43>;
|
||
|
resets = <0x02 0x2e>;
|
||
|
status = "okay";
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <0x3c>;
|
||
|
};
|
||
|
|
||
|
serial@1c28400 {
|
||
|
compatible = "snps,dw-apb-uart";
|
||
|
reg = <0x1c28400 0x400>;
|
||
|
interrupts = <0x00 0x01 0x04>;
|
||
|
reg-shift = <0x02>;
|
||
|
reg-io-width = <0x04>;
|
||
|
clocks = <0x02 0x44>;
|
||
|
resets = <0x02 0x2f>;
|
||
|
status = "okay";
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <0x3d 0x3e>;
|
||
|
|
||
|
bluetooth {
|
||
|
compatible = "realtek,rtl8723cs-bt";
|
||
|
device-wake-gpios = <0x2b 0x07 0x06 0x01>;
|
||
|
enable-gpios = <0x3f 0x00 0x04 0x00>;
|
||
|
host-wake-gpios = <0x3f 0x00 0x05 0x00>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
serial@1c28800 {
|
||
|
compatible = "snps,dw-apb-uart";
|
||
|
reg = <0x1c28800 0x400>;
|
||
|
interrupts = <0x00 0x02 0x04>;
|
||
|
reg-shift = <0x02>;
|
||
|
reg-io-width = <0x04>;
|
||
|
clocks = <0x02 0x45>;
|
||
|
resets = <0x02 0x30>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
serial@1c28c00 {
|
||
|
compatible = "snps,dw-apb-uart";
|
||
|
reg = <0x1c28c00 0x400>;
|
||
|
interrupts = <0x00 0x03 0x04>;
|
||
|
reg-shift = <0x02>;
|
||
|
reg-io-width = <0x04>;
|
||
|
clocks = <0x02 0x46>;
|
||
|
resets = <0x02 0x31>;
|
||
|
status = "okay";
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <0x40>;
|
||
|
};
|
||
|
|
||
|
serial@1c29000 {
|
||
|
compatible = "snps,dw-apb-uart";
|
||
|
reg = <0x1c29000 0x400>;
|
||
|
interrupts = <0x00 0x04 0x04>;
|
||
|
reg-shift = <0x02>;
|
||
|
reg-io-width = <0x04>;
|
||
|
clocks = <0x02 0x47>;
|
||
|
resets = <0x02 0x32>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
i2c@1c2ac00 {
|
||
|
compatible = "allwinner,sun6i-a31-i2c";
|
||
|
reg = <0x1c2ac00 0x400>;
|
||
|
interrupts = <0x00 0x06 0x04>;
|
||
|
clocks = <0x02 0x3f>;
|
||
|
resets = <0x02 0x2a>;
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <0x41>;
|
||
|
status = "okay";
|
||
|
#address-cells = <0x01>;
|
||
|
#size-cells = <0x00>;
|
||
|
|
||
|
hdmi-bridge@28 {
|
||
|
compatible = "analogix,anx7688";
|
||
|
reg = <0x28>;
|
||
|
interrupt-parent = <0x3f>;
|
||
|
interrupts = <0x00 0x0b 0x02>;
|
||
|
enable-gpios = <0x2b 0x03 0x0a 0x01>;
|
||
|
cabledet-gpios = <0x3f 0x00 0x08 0x00>;
|
||
|
avdd10-supply = <0x42>;
|
||
|
dvdd10-supply = <0x42>;
|
||
|
avdd18-supply = <0x43>;
|
||
|
dvdd18-supply = <0x43>;
|
||
|
vconn-supply = <0x44>;
|
||
|
hdmi_vt-supply = <0x45>;
|
||
|
vbus-supply = <0x46>;
|
||
|
reset-gpios = <0x2b 0x03 0x06 0x00>;
|
||
|
avdd33-supply = <0x2a>;
|
||
|
|
||
|
port {
|
||
|
|
||
|
endpoint {
|
||
|
remote-endpoint = <0x47>;
|
||
|
phandle = <0x32>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
touchscreen@5d {
|
||
|
compatible = "goodix,gt917s";
|
||
|
reg = <0x5d>;
|
||
|
interrupt-parent = <0x2b>;
|
||
|
interrupts = <0x07 0x04 0x04>;
|
||
|
irq-gpios = <0x2b 0x07 0x04 0x00>;
|
||
|
reset-gpios = <0x2b 0x07 0x0b 0x00>;
|
||
|
AVDD28-supply = <0x48>;
|
||
|
VDDIO-supply = <0x48>;
|
||
|
touchscreen-size-x = <0x2d0>;
|
||
|
touchscreen-size-y = <0x5a0>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
i2c@1c2b000 {
|
||
|
compatible = "allwinner,sun6i-a31-i2c";
|
||
|
reg = <0x1c2b000 0x400>;
|
||
|
interrupts = <0x00 0x07 0x04>;
|
||
|
clocks = <0x02 0x40>;
|
||
|
resets = <0x02 0x2b>;
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <0x49>;
|
||
|
status = "okay";
|
||
|
#address-cells = <0x01>;
|
||
|
#size-cells = <0x00>;
|
||
|
|
||
|
lis3mdl@1e {
|
||
|
compatible = "st,lis3mdl-magn";
|
||
|
reg = <0x1e>;
|
||
|
vdd-supply = <0x45>;
|
||
|
vddio-supply = <0x45>;
|
||
|
interrupt-parent = <0x2b>;
|
||
|
interrupts = <0x01 0x01 0x01>;
|
||
|
};
|
||
|
|
||
|
stk3311@48 {
|
||
|
compatible = "sensortek,stk3311";
|
||
|
reg = <0x48>;
|
||
|
interrupt-parent = <0x2b>;
|
||
|
interrupts = <0x01 0x00 0x02>;
|
||
|
vdd-supply = <0x48>;
|
||
|
leda-supply = <0x45>;
|
||
|
};
|
||
|
|
||
|
mpu6050@68 {
|
||
|
compatible = "invensense,mpu6050";
|
||
|
reg = <0x68>;
|
||
|
interrupt-parent = <0x2b>;
|
||
|
interrupts = <0x07 0x05 0x01>;
|
||
|
vdd-supply = <0x45>;
|
||
|
vddio-supply = <0x45>;
|
||
|
mount-matrix = "0\01\00\0-1\00\00\00\00\0-1";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
i2c@1c2b400 {
|
||
|
compatible = "allwinner,sun6i-a31-i2c";
|
||
|
reg = <0x1c2b400 0x400>;
|
||
|
interrupts = <0x00 0x08 0x04>;
|
||
|
clocks = <0x02 0x41>;
|
||
|
resets = <0x02 0x2c>;
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <0x4a>;
|
||
|
status = "okay";
|
||
|
#address-cells = <0x01>;
|
||
|
#size-cells = <0x00>;
|
||
|
};
|
||
|
|
||
|
spi@1c68000 {
|
||
|
compatible = "allwinner,sun8i-h3-spi";
|
||
|
reg = <0x1c68000 0x1000>;
|
||
|
interrupts = <0x00 0x41 0x04>;
|
||
|
clocks = <0x02 0x27 0x02 0x50>;
|
||
|
clock-names = "ahb\0mod";
|
||
|
dmas = <0x36 0x17 0x36 0x17>;
|
||
|
dma-names = "rx\0tx";
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <0x4b>;
|
||
|
resets = <0x02 0x10>;
|
||
|
status = "disabled";
|
||
|
num-cs = <0x01>;
|
||
|
#address-cells = <0x01>;
|
||
|
#size-cells = <0x00>;
|
||
|
};
|
||
|
|
||
|
spi@1c69000 {
|
||
|
compatible = "allwinner,sun8i-h3-spi";
|
||
|
reg = <0x1c69000 0x1000>;
|
||
|
interrupts = <0x00 0x42 0x04>;
|
||
|
clocks = <0x02 0x28 0x02 0x51>;
|
||
|
clock-names = "ahb\0mod";
|
||
|
dmas = <0x36 0x18 0x36 0x18>;
|
||
|
dma-names = "rx\0tx";
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <0x4c>;
|
||
|
resets = <0x02 0x11>;
|
||
|
status = "disabled";
|
||
|
num-cs = <0x01>;
|
||
|
#address-cells = <0x01>;
|
||
|
#size-cells = <0x00>;
|
||
|
};
|
||
|
|
||
|
ethernet@1c30000 {
|
||
|
compatible = "allwinner,sun50i-a64-emac";
|
||
|
syscon = <0x4d>;
|
||
|
reg = <0x1c30000 0x10000>;
|
||
|
interrupts = <0x00 0x52 0x04>;
|
||
|
interrupt-names = "macirq";
|
||
|
resets = <0x02 0x0d>;
|
||
|
reset-names = "stmmaceth";
|
||
|
clocks = <0x02 0x24>;
|
||
|
clock-names = "stmmaceth";
|
||
|
status = "disabled";
|
||
|
|
||
|
mdio {
|
||
|
compatible = "snps,dwmac-mdio";
|
||
|
#address-cells = <0x01>;
|
||
|
#size-cells = <0x00>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
gpu@1c40000 {
|
||
|
compatible = "allwinner,sun50i-a64-mali\0arm,mali-400";
|
||
|
reg = <0x1c40000 0x10000>;
|
||
|
interrupts = <0x00 0x61 0x04 0x00 0x62 0x04 0x00 0x63 0x04 0x00 0x64 0x04 0x00 0x66 0x04 0x00 0x67 0x04 0x00 0x65 0x04>;
|
||
|
interrupt-names = "gp\0gpmmu\0pp0\0ppmmu0\0pp1\0ppmmu1\0pmu";
|
||
|
clocks = <0x02 0x35 0x02 0x72>;
|
||
|
clock-names = "bus\0core";
|
||
|
resets = <0x02 0x1f>;
|
||
|
assigned-clocks = <0x02 0x72>;
|
||
|
assigned-clock-rates = <0x1dcd6500>;
|
||
|
};
|
||
|
|
||
|
interrupt-controller@1c81000 {
|
||
|
compatible = "arm,gic-400";
|
||
|
reg = <0x1c81000 0x1000 0x1c82000 0x2000 0x1c84000 0x2000 0x1c86000 0x2000>;
|
||
|
interrupts = <0x01 0x09 0xf04>;
|
||
|
interrupt-controller;
|
||
|
#interrupt-cells = <0x03>;
|
||
|
phandle = <0x01>;
|
||
|
};
|
||
|
|
||
|
pwm@1c21400 {
|
||
|
compatible = "allwinner,sun50i-a64-pwm\0allwinner,sun5i-a13-pwm";
|
||
|
reg = <0x1c21400 0x400>;
|
||
|
clocks = <0x33>;
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <0x4e>;
|
||
|
#pwm-cells = <0x03>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
dram-controller@1c62000 {
|
||
|
compatible = "allwinner,sun50i-a64-mbus";
|
||
|
reg = <0x1c62000 0x1000>;
|
||
|
clocks = <0x02 0x70>;
|
||
|
#address-cells = <0x01>;
|
||
|
#size-cells = <0x01>;
|
||
|
dma-ranges = <0x00 0x40000000 0xc0000000>;
|
||
|
#interconnect-cells = <0x01>;
|
||
|
phandle = <0x57>;
|
||
|
};
|
||
|
|
||
|
csi@1cb0000 {
|
||
|
compatible = "allwinner,sun50i-a64-csi";
|
||
|
reg = <0x1cb0000 0x1000>;
|
||
|
interrupts = <0x00 0x54 0x04>;
|
||
|
clocks = <0x02 0x32 0x02 0x68 0x02 0x60>;
|
||
|
clock-names = "bus\0mod\0ram";
|
||
|
resets = <0x02 0x1b>;
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <0x4f 0x50>;
|
||
|
status = "okay";
|
||
|
|
||
|
port {
|
||
|
#address-cells = <0x01>;
|
||
|
#size-cells = <0x00>;
|
||
|
|
||
|
endpoint@0 {
|
||
|
reg = <0x00>;
|
||
|
remote-endpoint = <0x51>;
|
||
|
bus-width = <0x08>;
|
||
|
hsync-active = <0x01>;
|
||
|
vsync-active = <0x00>;
|
||
|
data-active = <0x01>;
|
||
|
pclk-sample = <0x01>;
|
||
|
phandle = <0x67>;
|
||
|
};
|
||
|
|
||
|
endpoint@1 {
|
||
|
reg = <0x01>;
|
||
|
remote-endpoint = <0x52>;
|
||
|
bus-width = <0x08>;
|
||
|
hsync-active = <0x01>;
|
||
|
vsync-active = <0x01>;
|
||
|
data-active = <0x01>;
|
||
|
pclk-sample = <0x01>;
|
||
|
phandle = <0x66>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
dsi@1ca0000 {
|
||
|
compatible = "allwinner,sun50i-a64-mipi-dsi";
|
||
|
reg = <0x1ca0000 0x1000>;
|
||
|
interrupts = <0x00 0x59 0x04>;
|
||
|
clocks = <0x02 0x1c>;
|
||
|
resets = <0x02 0x05>;
|
||
|
phys = <0x53>;
|
||
|
phy-names = "dphy";
|
||
|
status = "okay";
|
||
|
#address-cells = <0x01>;
|
||
|
#size-cells = <0x00>;
|
||
|
vcc-dsi-supply = <0x45>;
|
||
|
|
||
|
port {
|
||
|
|
||
|
endpoint {
|
||
|
remote-endpoint = <0x54>;
|
||
|
phandle = <0x24>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
panel@0 {
|
||
|
compatible = "xingbangda,xbd599";
|
||
|
reg = <0x00>;
|
||
|
reset-gpios = <0x2b 0x03 0x17 0x01>;
|
||
|
iovcc-supply = <0x55>;
|
||
|
vcc-supply = <0x48>;
|
||
|
backlight = <0x56>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
d-phy@1ca1000 {
|
||
|
compatible = "allwinner,sun50i-a64-mipi-dphy\0allwinner,sun6i-a31-mipi-dphy";
|
||
|
reg = <0x1ca1000 0x1000>;
|
||
|
clocks = <0x02 0x1c 0x02 0x71>;
|
||
|
clock-names = "bus\0mod";
|
||
|
resets = <0x02 0x05>;
|
||
|
status = "okay";
|
||
|
#phy-cells = <0x00>;
|
||
|
phandle = <0x53>;
|
||
|
};
|
||
|
|
||
|
deinterlace@1e00000 {
|
||
|
compatible = "allwinner,sun50i-a64-deinterlace\0allwinner,sun8i-h3-deinterlace";
|
||
|
reg = <0x1e00000 0x20000>;
|
||
|
clocks = <0x02 0x31 0x02 0x66 0x02 0x61>;
|
||
|
clock-names = "bus\0mod\0ram";
|
||
|
resets = <0x02 0x1a>;
|
||
|
interrupts = <0x00 0x5d 0x04>;
|
||
|
interconnects = <0x57 0x09>;
|
||
|
interconnect-names = "dma-mem";
|
||
|
};
|
||
|
|
||
|
hdmi@1ee0000 {
|
||
|
#sound-dai-cells = <0x00>;
|
||
|
compatible = "allwinner,sun50i-a64-dw-hdmi\0allwinner,sun8i-a83t-dw-hdmi";
|
||
|
reg = <0x1ee0000 0x10000>;
|
||
|
reg-io-width = <0x01>;
|
||
|
interrupts = <0x00 0x58 0x04>;
|
||
|
clocks = <0x02 0x33 0x02 0x6f 0x02 0x6e>;
|
||
|
clock-names = "iahb\0isfr\0tmds";
|
||
|
resets = <0x02 0x1d>;
|
||
|
reset-names = "ctrl";
|
||
|
phys = <0x58>;
|
||
|
phy-names = "phy";
|
||
|
status = "okay";
|
||
|
hvcc-supply = <0x45>;
|
||
|
phandle = <0x09>;
|
||
|
|
||
|
ports {
|
||
|
#address-cells = <0x01>;
|
||
|
#size-cells = <0x00>;
|
||
|
|
||
|
port@0 {
|
||
|
reg = <0x00>;
|
||
|
|
||
|
endpoint {
|
||
|
remote-endpoint = <0x59>;
|
||
|
phandle = <0x27>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
port@1 {
|
||
|
reg = <0x01>;
|
||
|
|
||
|
endpoint {
|
||
|
remote-endpoint = <0x5a>;
|
||
|
phandle = <0x63>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
hdmi-phy@1ef0000 {
|
||
|
compatible = "allwinner,sun50i-a64-hdmi-phy";
|
||
|
reg = <0x1ef0000 0x10000>;
|
||
|
clocks = <0x02 0x33 0x02 0x6f 0x02 0x07>;
|
||
|
clock-names = "bus\0mod\0pll-0";
|
||
|
resets = <0x02 0x1c>;
|
||
|
reset-names = "phy";
|
||
|
#phy-cells = <0x00>;
|
||
|
phandle = <0x58>;
|
||
|
};
|
||
|
|
||
|
rtc@1f00000 {
|
||
|
compatible = "allwinner,sun50i-a64-rtc\0allwinner,sun8i-h3-rtc";
|
||
|
reg = <0x1f00000 0x400>;
|
||
|
interrupt-parent = <0x5b>;
|
||
|
interrupts = <0x08 0x04 0x09 0x04>;
|
||
|
clock-output-names = "osc32k\0osc32k-out\0iosc";
|
||
|
clocks = <0x5c>;
|
||
|
#clock-cells = <0x01>;
|
||
|
phandle = <0x34>;
|
||
|
};
|
||
|
|
||
|
interrupt-controller@1f00c00 {
|
||
|
compatible = "allwinner,sun50i-a64-r-intc\0allwinner,sun6i-a31-r-intc";
|
||
|
interrupt-controller;
|
||
|
#interrupt-cells = <0x02>;
|
||
|
reg = <0x1f00c00 0x400>;
|
||
|
interrupts = <0x00 0x20 0x04>;
|
||
|
phandle = <0x5b>;
|
||
|
};
|
||
|
|
||
|
clock@1f01400 {
|
||
|
compatible = "allwinner,sun50i-a64-r-ccu";
|
||
|
reg = <0x1f01400 0x100>;
|
||
|
clocks = <0x33 0x34 0x00 0x34 0x02 0x02 0x0b>;
|
||
|
clock-names = "hosc\0losc\0iosc\0pll-periph";
|
||
|
protected-clocks = <0x0a>;
|
||
|
#clock-cells = <0x01>;
|
||
|
#reset-cells = <0x01>;
|
||
|
phandle = <0x5e>;
|
||
|
};
|
||
|
|
||
|
codec-analog@1f015c0 {
|
||
|
compatible = "allwinner,sun50i-a64-codec-analog";
|
||
|
reg = <0x1f015c0 0x04>;
|
||
|
status = "okay";
|
||
|
cpvdd-supply = <0x5d>;
|
||
|
phandle = <0x11>;
|
||
|
};
|
||
|
|
||
|
i2c@1f02400 {
|
||
|
compatible = "allwinner,sun50i-a64-i2c\0allwinner,sun6i-a31-i2c";
|
||
|
reg = <0x1f02400 0x400>;
|
||
|
interrupts = <0x00 0x2c 0x04>;
|
||
|
clocks = <0x5e 0x09>;
|
||
|
resets = <0x5e 0x05>;
|
||
|
status = "disabled";
|
||
|
#address-cells = <0x01>;
|
||
|
#size-cells = <0x00>;
|
||
|
};
|
||
|
|
||
|
ir@1f02000 {
|
||
|
compatible = "allwinner,sun50i-a64-ir\0allwinner,sun6i-a31-ir";
|
||
|
reg = <0x1f02000 0x400>;
|
||
|
clocks = <0x5e 0x04 0x5e 0x0b>;
|
||
|
clock-names = "apb\0ir";
|
||
|
resets = <0x5e 0x00>;
|
||
|
interrupt-parent = <0x5b>;
|
||
|
interrupts = <0x05 0x04>;
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <0x5f>;
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
pwm@1f03800 {
|
||
|
compatible = "allwinner,sun50i-a64-pwm\0allwinner,sun5i-a13-pwm";
|
||
|
reg = <0x1f03800 0x400>;
|
||
|
clocks = <0x33>;
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <0x60>;
|
||
|
#pwm-cells = <0x03>;
|
||
|
status = "okay";
|
||
|
phandle = <0x62>;
|
||
|
};
|
||
|
|
||
|
pinctrl@1f02c00 {
|
||
|
compatible = "allwinner,sun50i-a64-r-pinctrl";
|
||
|
reg = <0x1f02c00 0x400>;
|
||
|
interrupt-parent = <0x5b>;
|
||
|
interrupts = <0x0d 0x04>;
|
||
|
clocks = <0x5e 0x03 0x33 0x5c>;
|
||
|
clock-names = "apb\0hosc\0losc";
|
||
|
gpio-controller;
|
||
|
#gpio-cells = <0x03>;
|
||
|
interrupt-controller;
|
||
|
#interrupt-cells = <0x03>;
|
||
|
phandle = <0x3f>;
|
||
|
|
||
|
r-i2c-pl89-pins {
|
||
|
pins = "PL8\0PL9";
|
||
|
function = "s_i2c";
|
||
|
};
|
||
|
|
||
|
r-ir-rx-pin {
|
||
|
pins = "PL11";
|
||
|
function = "s_cir_rx";
|
||
|
phandle = <0x5f>;
|
||
|
};
|
||
|
|
||
|
r-pwm-pin {
|
||
|
pins = "PL10";
|
||
|
function = "s_pwm";
|
||
|
phandle = <0x60>;
|
||
|
};
|
||
|
|
||
|
r-rsb-pins {
|
||
|
pins = "PL0\0PL1";
|
||
|
function = "s_rsb";
|
||
|
phandle = <0x61>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
rsb@1f03400 {
|
||
|
compatible = "allwinner,sun8i-a23-rsb";
|
||
|
reg = <0x1f03400 0x400>;
|
||
|
interrupts = <0x00 0x27 0x04>;
|
||
|
clocks = <0x5e 0x06>;
|
||
|
clock-frequency = <0x2dc6c0>;
|
||
|
resets = <0x5e 0x02>;
|
||
|
pinctrl-names = "default";
|
||
|
pinctrl-0 = <0x61>;
|
||
|
status = "okay";
|
||
|
#address-cells = <0x01>;
|
||
|
#size-cells = <0x00>;
|
||
|
|
||
|
pmic@3a3 {
|
||
|
compatible = "x-powers,axp803";
|
||
|
reg = <0x3a3>;
|
||
|
interrupt-parent = <0x5b>;
|
||
|
interrupts = <0x00 0x08>;
|
||
|
interrupt-controller;
|
||
|
#interrupt-cells = <0x01>;
|
||
|
x-powers,sense-vbus-en;
|
||
|
|
||
|
ac-power-supply {
|
||
|
compatible = "x-powers,axp803-ac-power-supply\0x-powers,axp813-ac-power-supply";
|
||
|
status = "disabled";
|
||
|
};
|
||
|
|
||
|
adc {
|
||
|
compatible = "x-powers,axp803-adc\0x-powers,axp813-adc";
|
||
|
#io-channel-cells = <0x01>;
|
||
|
x-powers,ts-as-gpadc;
|
||
|
};
|
||
|
|
||
|
gpio {
|
||
|
compatible = "x-powers,axp803-gpio\0x-powers,axp813-gpio";
|
||
|
gpio-controller;
|
||
|
#gpio-cells = <0x02>;
|
||
|
|
||
|
gpio0-ldo {
|
||
|
pins = "GPIO0";
|
||
|
function = "ldo";
|
||
|
};
|
||
|
|
||
|
gpio1-ldo {
|
||
|
pins = "GPIO1";
|
||
|
function = "ldo";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
battery-power-supply {
|
||
|
compatible = "x-powers,axp803-battery-power-supply\0x-powers,axp813-battery-power-supply";
|
||
|
status = "okay";
|
||
|
};
|
||
|
|
||
|
regulators {
|
||
|
x-powers,dcdc-freq = <0xbb8>;
|
||
|
|
||
|
aldo1 {
|
||
|
regulator-name = "dovdd-csi";
|
||
|
regulator-min-microvolt = <0x1b7740>;
|
||
|
regulator-max-microvolt = <0x1b7740>;
|
||
|
phandle = <0x35>;
|
||
|
};
|
||
|
|
||
|
aldo2 {
|
||
|
regulator-name = "vcc-pl";
|
||
|
regulator-always-on;
|
||
|
regulator-min-microvolt = <0x1b7740>;
|
||
|
regulator-max-microvolt = <0x1b7740>;
|
||
|
};
|
||
|
|
||
|
aldo3 {
|
||
|
regulator-name = "vcc-pll-avcc";
|
||
|
regulator-always-on;
|
||
|
regulator-min-microvolt = <0x2dc6c0>;
|
||
|
regulator-max-microvolt = <0x2dc6c0>;
|
||
|
phandle = <0x38>;
|
||
|
};
|
||
|
|
||
|
dc1sw {
|
||
|
regulator-name = "dc1sw";
|
||
|
};
|
||
|
|
||
|
dcdc1 {
|
||
|
regulator-name = "vcc-3v3";
|
||
|
regulator-always-on;
|
||
|
regulator-min-microvolt = <0x325aa0>;
|
||
|
regulator-max-microvolt = <0x325aa0>;
|
||
|
phandle = <0x2a>;
|
||
|
};
|
||
|
|
||
|
dcdc2 {
|
||
|
regulator-name = "vdd-cpux";
|
||
|
regulator-always-on;
|
||
|
regulator-min-microvolt = <0xf4240>;
|
||
|
regulator-max-microvolt = <0x13d620>;
|
||
|
phandle = <0x06>;
|
||
|
};
|
||
|
|
||
|
dcdc3 {
|
||
|
regulator-name = "dcdc3";
|
||
|
};
|
||
|
|
||
|
dcdc4 {
|
||
|
regulator-name = "dcdc4";
|
||
|
};
|
||
|
|
||
|
dcdc5 {
|
||
|
regulator-name = "vcc-dram";
|
||
|
regulator-always-on;
|
||
|
regulator-min-microvolt = <0x124f80>;
|
||
|
regulator-max-microvolt = <0x124f80>;
|
||
|
};
|
||
|
|
||
|
dcdc6 {
|
||
|
regulator-name = "vdd-sys";
|
||
|
regulator-always-on;
|
||
|
regulator-min-microvolt = <0x10c8e0>;
|
||
|
regulator-max-microvolt = <0x10c8e0>;
|
||
|
};
|
||
|
|
||
|
dldo1 {
|
||
|
regulator-name = "vcc-dsi-sensor";
|
||
|
regulator-min-microvolt = <0x325aa0>;
|
||
|
regulator-max-microvolt = <0x325aa0>;
|
||
|
phandle = <0x45>;
|
||
|
};
|
||
|
|
||
|
dldo2 {
|
||
|
regulator-name = "vcc-mipi-io";
|
||
|
regulator-min-microvolt = <0x1b7740>;
|
||
|
regulator-max-microvolt = <0x1b7740>;
|
||
|
phandle = <0x55>;
|
||
|
};
|
||
|
|
||
|
dldo3 {
|
||
|
regulator-name = "avdd-csi";
|
||
|
regulator-min-microvolt = <0x2ab980>;
|
||
|
regulator-max-microvolt = <0x2ab980>;
|
||
|
phandle = <0x64>;
|
||
|
};
|
||
|
|
||
|
dldo4 {
|
||
|
regulator-name = "vcc-wifi-io";
|
||
|
regulator-min-microvolt = <0x1b7740>;
|
||
|
regulator-max-microvolt = <0x1b7740>;
|
||
|
phandle = <0x2e>;
|
||
|
};
|
||
|
|
||
|
eldo1 {
|
||
|
regulator-name = "vcc-lpddr";
|
||
|
regulator-always-on;
|
||
|
regulator-min-microvolt = <0x1b7740>;
|
||
|
regulator-max-microvolt = <0x1b7740>;
|
||
|
phandle = <0x5d>;
|
||
|
};
|
||
|
|
||
|
eldo2 {
|
||
|
regulator-name = "eldo2";
|
||
|
};
|
||
|
|
||
|
eldo3 {
|
||
|
regulator-name = "dvdd-1v8-csi";
|
||
|
regulator-min-microvolt = <0x1b7740>;
|
||
|
regulator-max-microvolt = <0x1b7740>;
|
||
|
phandle = <0x65>;
|
||
|
};
|
||
|
|
||
|
fldo1 {
|
||
|
regulator-name = "vcc-1v2-hsic";
|
||
|
regulator-min-microvolt = <0x124f80>;
|
||
|
regulator-max-microvolt = <0x124f80>;
|
||
|
};
|
||
|
|
||
|
fldo2 {
|
||
|
regulator-name = "vdd-cpus";
|
||
|
regulator-always-on;
|
||
|
regulator-min-microvolt = <0x10c8e0>;
|
||
|
regulator-max-microvolt = <0x10c8e0>;
|
||
|
};
|
||
|
|
||
|
ldo-io0 {
|
||
|
regulator-name = "vcc-lcd-ctp-stk";
|
||
|
status = "okay";
|
||
|
regulator-min-microvolt = <0x325aa0>;
|
||
|
regulator-max-microvolt = <0x325aa0>;
|
||
|
phandle = <0x48>;
|
||
|
};
|
||
|
|
||
|
ldo-io1 {
|
||
|
regulator-name = "vcc-1v8-typec";
|
||
|
status = "okay";
|
||
|
regulator-min-microvolt = <0x1b7740>;
|
||
|
regulator-max-microvolt = <0x1b7740>;
|
||
|
phandle = <0x43>;
|
||
|
};
|
||
|
|
||
|
rtc-ldo {
|
||
|
regulator-always-on;
|
||
|
regulator-min-microvolt = <0x2dc6c0>;
|
||
|
regulator-max-microvolt = <0x2dc6c0>;
|
||
|
regulator-name = "vcc-rtc";
|
||
|
};
|
||
|
|
||
|
drivevbus {
|
||
|
regulator-name = "drivevbus";
|
||
|
status = "disabled";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
usb-power-supply {
|
||
|
compatible = "x-powers,axp803-usb-power-supply\0x-powers,axp813-usb-power-supply";
|
||
|
status = "okay";
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
watchdog@1c20ca0 {
|
||
|
compatible = "allwinner,sun50i-a64-wdt\0allwinner,sun6i-a31-wdt";
|
||
|
reg = <0x1c20ca0 0x20>;
|
||
|
interrupts = <0x00 0x19 0x04>;
|
||
|
clocks = <0x33>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
opp_table0 {
|
||
|
compatible = "operating-points-v2";
|
||
|
opp-shared;
|
||
|
phandle = <0x05>;
|
||
|
|
||
|
opp-480000000 {
|
||
|
opp-hz = <0x00 0x1c9c3800>;
|
||
|
opp-microvolt = <0xfde80>;
|
||
|
clock-latency-ns = <0x3b9b0>;
|
||
|
};
|
||
|
|
||
|
opp-648000000 {
|
||
|
opp-hz = <0x00 0x269fb200>;
|
||
|
opp-microvolt = <0xfde80>;
|
||
|
clock-latency-ns = <0x3b9b0>;
|
||
|
};
|
||
|
|
||
|
opp-816000000 {
|
||
|
opp-hz = <0x00 0x30a32c00>;
|
||
|
opp-microvolt = <0x10c8e0>;
|
||
|
clock-latency-ns = <0x3b9b0>;
|
||
|
};
|
||
|
|
||
|
opp-912000000 {
|
||
|
opp-hz = <0x00 0x365c0400>;
|
||
|
opp-microvolt = <0x111700>;
|
||
|
clock-latency-ns = <0x3b9b0>;
|
||
|
};
|
||
|
|
||
|
opp-960000000 {
|
||
|
opp-hz = <0x00 0x39387000>;
|
||
|
opp-microvolt = <0x11b340>;
|
||
|
clock-latency-ns = <0x3b9b0>;
|
||
|
};
|
||
|
|
||
|
opp-1008000000 {
|
||
|
opp-hz = <0x00 0x3c14dc00>;
|
||
|
opp-microvolt = <0x124f80>;
|
||
|
clock-latency-ns = <0x3b9b0>;
|
||
|
};
|
||
|
|
||
|
opp-1056000000 {
|
||
|
opp-hz = <0x00 0x3ef14800>;
|
||
|
opp-microvolt = <0x12ebc0>;
|
||
|
clock-latency-ns = <0x3b9b0>;
|
||
|
};
|
||
|
|
||
|
opp-1104000000 {
|
||
|
opp-hz = <0x00 0x41cdb400>;
|
||
|
opp-microvolt = <0x1339e0>;
|
||
|
clock-latency-ns = <0x3b9b0>;
|
||
|
};
|
||
|
|
||
|
opp-1152000000 {
|
||
|
opp-hz = <0x00 0x44aa2000>;
|
||
|
opp-microvolt = <0x13d620>;
|
||
|
clock-latency-ns = <0x3b9b0>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
aliases {
|
||
|
ethernet0 = "/soc/mmc@1c10000/wifi@1";
|
||
|
serial0 = "/soc/serial@1c28000";
|
||
|
};
|
||
|
|
||
|
backlight {
|
||
|
compatible = "pwm-backlight";
|
||
|
pwms = <0x62 0x00 0xc350 0x01>;
|
||
|
enable-gpios = <0x2b 0x07 0x0a 0x00>;
|
||
|
power-supply = <0x48>;
|
||
|
brightness-levels = <0x1388 0x1480 0x1582 0x16e2 0x18c9 0x1b4b 0x1e7d 0x2277 0x274e 0x2d17 0x33e7 0x3bd5 0x44f6 0x4f5f 0x5b28 0x6864 0x7729 0x878e 0x99a7 0xad8b 0xc350>;
|
||
|
num-interpolated-steps = <0x32>;
|
||
|
default-brightness-level = <0x1f4>;
|
||
|
phandle = <0x56>;
|
||
|
};
|
||
|
|
||
|
bt-sco-codec {
|
||
|
#sound-dai-cells = <0x01>;
|
||
|
compatible = "linux,bt-sco";
|
||
|
phandle = <0x19>;
|
||
|
};
|
||
|
|
||
|
ec25-codec {
|
||
|
#sound-dai-cells = <0x01>;
|
||
|
compatible = "quectel,ec25";
|
||
|
phandle = <0x17>;
|
||
|
};
|
||
|
|
||
|
gpio-keys {
|
||
|
compatible = "gpio-keys";
|
||
|
|
||
|
ring-indicator {
|
||
|
label = "Ring Indicator";
|
||
|
linux,can-disable;
|
||
|
linux,code = <0x8f>;
|
||
|
wakeup-event-action = <0x01>;
|
||
|
wakeup-source;
|
||
|
gpios = <0x3f 0x00 0x06 0x01>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
hdmi-connector {
|
||
|
compatible = "hdmi-connector";
|
||
|
type = "a";
|
||
|
|
||
|
port {
|
||
|
|
||
|
endpoint {
|
||
|
remote-endpoint = <0x63>;
|
||
|
phandle = <0x5a>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
i2c-csi {
|
||
|
compatible = "i2c-gpio";
|
||
|
sda-gpios = <0x2b 0x04 0x0d 0x06>;
|
||
|
scl-gpios = <0x2b 0x04 0x0c 0x06>;
|
||
|
i2c-gpio,delay-us = <0x03>;
|
||
|
#address-cells = <0x01>;
|
||
|
#size-cells = <0x00>;
|
||
|
|
||
|
front-camera@3c {
|
||
|
compatible = "galaxycore,gc2145";
|
||
|
reg = <0x3c>;
|
||
|
clocks = <0x02 0x69>;
|
||
|
clock-names = "xclk";
|
||
|
AVDD-supply = <0x64>;
|
||
|
DVDD-supply = <0x35>;
|
||
|
IOVDD-supply = <0x65>;
|
||
|
reset-gpios = <0x2b 0x04 0x10 0x07>;
|
||
|
enable-gpios = <0x2b 0x04 0x11 0x07>;
|
||
|
|
||
|
port {
|
||
|
|
||
|
endpoint {
|
||
|
remote-endpoint = <0x66>;
|
||
|
bus-width = <0x08>;
|
||
|
hsync-active = <0x01>;
|
||
|
vsync-active = <0x01>;
|
||
|
data-active = <0x01>;
|
||
|
pclk-sample = <0x01>;
|
||
|
phandle = <0x52>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
rear-camera@4c {
|
||
|
compatible = "ovti,ov5640";
|
||
|
reg = <0x4c>;
|
||
|
clocks = <0x02 0x69>;
|
||
|
clock-names = "xclk";
|
||
|
AVDD-supply = <0x64>;
|
||
|
DOVDD-supply = <0x35>;
|
||
|
DVDD-supply = <0x65>;
|
||
|
reset-gpios = <0x2b 0x03 0x03 0x07>;
|
||
|
powerdown-gpios = <0x2b 0x02 0x00 0x06>;
|
||
|
|
||
|
port {
|
||
|
|
||
|
endpoint {
|
||
|
remote-endpoint = <0x67>;
|
||
|
bus-width = <0x08>;
|
||
|
hsync-active = <0x01>;
|
||
|
vsync-active = <0x00>;
|
||
|
data-active = <0x01>;
|
||
|
pclk-sample = <0x01>;
|
||
|
phandle = <0x51>;
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
|
||
|
leds {
|
||
|
compatible = "gpio-leds";
|
||
|
|
||
|
blue {
|
||
|
function = "indicator";
|
||
|
color = <0x03>;
|
||
|
gpios = <0x2b 0x03 0x14 0x00>;
|
||
|
retain-state-suspended;
|
||
|
};
|
||
|
|
||
|
green {
|
||
|
function = "indicator";
|
||
|
color = <0x02>;
|
||
|
gpios = <0x2b 0x03 0x12 0x00>;
|
||
|
retain-state-suspended;
|
||
|
};
|
||
|
|
||
|
red {
|
||
|
function = "indicator";
|
||
|
color = <0x01>;
|
||
|
gpios = <0x2b 0x03 0x13 0x00>;
|
||
|
retain-state-suspended;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
anx-vdd1v0 {
|
||
|
compatible = "regulator-fixed";
|
||
|
regulator-name = "anx-vdd1v0";
|
||
|
regulator-min-microvolt = <0xf4240>;
|
||
|
regulator-max-microvolt = <0xf4240>;
|
||
|
gpio = <0x2b 0x03 0x0b 0x00>;
|
||
|
enable-active-high;
|
||
|
phandle = <0x42>;
|
||
|
};
|
||
|
|
||
|
usb0-vbus {
|
||
|
compatible = "regulator-fixed";
|
||
|
regulator-name = "usb0-vbus";
|
||
|
regulator-min-microvolt = <0x4c4b40>;
|
||
|
regulator-max-microvolt = <0x4c4b40>;
|
||
|
vin-supply = <0x68>;
|
||
|
phandle = <0x46>;
|
||
|
};
|
||
|
|
||
|
vbat-bb {
|
||
|
compatible = "regulator-fixed";
|
||
|
regulator-always-on;
|
||
|
regulator-name = "vbat-bb";
|
||
|
regulator-min-microvolt = <0x3567e0>;
|
||
|
regulator-max-microvolt = <0x3567e0>;
|
||
|
gpio = <0x3f 0x00 0x07 0x00>;
|
||
|
enable-active-high;
|
||
|
};
|
||
|
|
||
|
vbat-wifi {
|
||
|
compatible = "regulator-fixed";
|
||
|
regulator-min-microvolt = <0x325aa0>;
|
||
|
regulator-max-microvolt = <0x325aa0>;
|
||
|
regulator-name = "vbat-wifi";
|
||
|
phandle = <0x2d>;
|
||
|
};
|
||
|
|
||
|
vcc5v0 {
|
||
|
compatible = "regulator-fixed";
|
||
|
regulator-name = "vcc5v0";
|
||
|
regulator-min-microvolt = <0x4c4b40>;
|
||
|
regulator-max-microvolt = <0x4c4b40>;
|
||
|
gpio = <0x2b 0x03 0x08 0x00>;
|
||
|
enable-active-high;
|
||
|
phandle = <0x68>;
|
||
|
};
|
||
|
|
||
|
vconn5v0 {
|
||
|
compatible = "regulator-fixed";
|
||
|
regulator-name = "vconn5v0";
|
||
|
regulator-min-microvolt = <0x4c4b40>;
|
||
|
regulator-max-microvolt = <0x4c4b40>;
|
||
|
gpio = <0x2b 0x03 0x09 0x00>;
|
||
|
enable-active-high;
|
||
|
phandle = <0x44>;
|
||
|
};
|
||
|
|
||
|
led-controller {
|
||
|
compatible = "sgmicro,sgm3140";
|
||
|
vin-supply = <0x2a>;
|
||
|
enable-gpios = <0x2b 0x03 0x18 0x00>;
|
||
|
flash-gpios = <0x2b 0x02 0x03 0x00>;
|
||
|
|
||
|
led {
|
||
|
function = "flash";
|
||
|
color = <0x00>;
|
||
|
flash-max-timeout-us = <0x3d090>;
|
||
|
};
|
||
|
};
|
||
|
|
||
|
audio-amplifier {
|
||
|
compatible = "simple-audio-amplifier";
|
||
|
enable-gpios = <0x2b 0x02 0x07 0x00>;
|
||
|
sound-name-prefix = "Speaker Amp";
|
||
|
phandle = <0x12>;
|
||
|
};
|
||
|
|
||
|
vibrator {
|
||
|
compatible = "gpio-vibrator";
|
||
|
enable-gpios = <0x2b 0x03 0x02 0x00>;
|
||
|
vcc-supply = <0x2a>;
|
||
|
};
|
||
|
|
||
|
wifi_pwrseq {
|
||
|
compatible = "mmc-pwrseq-simple";
|
||
|
reset-gpios = <0x3f 0x00 0x02 0x01>;
|
||
|
phandle = <0x2f>;
|
||
|
};
|
||
|
};
|