mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-14 08:57:58 +00:00
arm: dts: apple: Update Apple M1 device trees
This synchronizes the device trees with those that are in the process of being upstreamed into Linux. These now match the current state of the device trees on the asahi branch of the Asahi Linux github repository. Signed-off-by: Mark Kettenis <kettenis@openbsd.org>
This commit is contained in:
parent
e092e32502
commit
00342236e1
9 changed files with 517 additions and 159 deletions
|
@ -57,21 +57,17 @@
|
|||
};
|
||||
|
||||
&i2c1 {
|
||||
clock-frequency = <50000>;
|
||||
|
||||
speaker_amp: codec@31 {
|
||||
compatible = "ti,tas5770l", "ti,tas2770";
|
||||
reg = <0x31>;
|
||||
reset-gpios = <&pinctrl_ap 181 GPIO_ACTIVE_HIGH>;
|
||||
shutdown-gpios = <&pinctrl_ap 181 GPIO_ACTIVE_HIGH>;
|
||||
#sound-dai-cells = <0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
status = "okay";
|
||||
|
||||
clock-frequency = <50000>;
|
||||
|
||||
jack_codec: codec@48 {
|
||||
compatible = "cirrus,cs42l83", "cirrus,cs42l42";
|
||||
reg = <0x48>;
|
||||
|
@ -80,50 +76,38 @@
|
|||
interrupts = <183 IRQ_TYPE_LEVEL_LOW>;
|
||||
#sound-dai-cells = <0>;
|
||||
cirrus,ts-inv = <1>;
|
||||
sound-name-prefix = "Jack";
|
||||
};
|
||||
};
|
||||
|
||||
/ {
|
||||
sound {
|
||||
compatible = "simple-audio-card";
|
||||
simple-audio-card,name = "Mac mini integrated audio";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "apple,j274-macaudio", "apple,macaudio";
|
||||
model = "Mac mini J274 integrated audio";
|
||||
|
||||
simple-audio-card,dai-link@0 {
|
||||
reg = <0>;
|
||||
format = "left_j";
|
||||
tdm-slot-width = <32>;
|
||||
dai-link@0 {
|
||||
link-name = "Speaker";
|
||||
mclk-fs = <64>;
|
||||
|
||||
link0_cpu: cpu {
|
||||
cpu {
|
||||
sound-dai = <&mca 0>;
|
||||
bitclock-master;
|
||||
frame-master;
|
||||
};
|
||||
|
||||
link0_codec: codec {
|
||||
codec {
|
||||
sound-dai = <&speaker_amp>;
|
||||
};
|
||||
};
|
||||
|
||||
simple-audio-card,dai-link@1 {
|
||||
bitclock-inversion;
|
||||
frame-inversion;
|
||||
reg = <1>;
|
||||
format = "i2s";
|
||||
dai-link@1 {
|
||||
link-name = "Headphone Jack";
|
||||
mclk-fs = <64>;
|
||||
tdm-slot-width = <32>;
|
||||
|
||||
link1_cpu: cpu {
|
||||
cpu {
|
||||
sound-dai = <&mca 2>;
|
||||
bitclock-master;
|
||||
frame-master;
|
||||
};
|
||||
|
||||
link1_codec: codec {
|
||||
codec {
|
||||
sound-dai = <&jack_codec>;
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
|
|
|
@ -68,9 +68,26 @@
|
|||
/delete-node/ &port01;
|
||||
/delete-node/ &port02;
|
||||
|
||||
&i2c1 {
|
||||
speaker_left_rear: codec@31 {
|
||||
compatible = "ti,tas5770l", "ti,tas2770";
|
||||
reg = <0x31>;
|
||||
shutdown-gpios = <&pinctrl_ap 181 GPIO_ACTIVE_HIGH>;
|
||||
#sound-dai-cells = <0>;
|
||||
sound-name-prefix = "Left Rear";
|
||||
};
|
||||
|
||||
speaker_left_front: codec@32 {
|
||||
compatible = "ti,tas5770l", "ti,tas2770";
|
||||
reg = <0x32>;
|
||||
shutdown-gpios = <&pinctrl_ap 181 GPIO_ACTIVE_HIGH>;
|
||||
#sound-dai-cells = <0>;
|
||||
sound-name-prefix = "Left Front";
|
||||
};
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
status = "okay";
|
||||
clock-frequency = <50000>;
|
||||
|
||||
jack_codec: codec@48 {
|
||||
compatible = "cirrus,cs42l83", "cirrus,cs42l42";
|
||||
|
@ -83,34 +100,75 @@
|
|||
};
|
||||
};
|
||||
|
||||
&i2c3 {
|
||||
speaker_right_rear: codec@34 {
|
||||
compatible = "ti,tas5770l", "ti,tas2770";
|
||||
reg = <0x34>;
|
||||
shutdown-gpios = <&pinctrl_ap 181 GPIO_ACTIVE_HIGH>;
|
||||
#sound-dai-cells = <0>;
|
||||
sound-name-prefix = "Right Rear";
|
||||
};
|
||||
|
||||
speaker_right_front: codec@35 {
|
||||
compatible = "ti,tas5770l", "ti,tas2770";
|
||||
reg = <0x35>;
|
||||
shutdown-gpios = <&pinctrl_ap 181 GPIO_ACTIVE_HIGH>;
|
||||
#sound-dai-cells = <0>;
|
||||
sound-name-prefix = "Right Front";
|
||||
};
|
||||
};
|
||||
|
||||
&i2c4 {
|
||||
status = "okay";
|
||||
};
|
||||
|
||||
/ {
|
||||
backlight: gpio-bl {
|
||||
compatible = "gpio-backlight";
|
||||
gpios = <&smc_gpio 18 GPIO_ACTIVE_HIGH>;
|
||||
default-on;
|
||||
};
|
||||
|
||||
sound {
|
||||
compatible = "simple-audio-card";
|
||||
simple-audio-card,name = "MacBook integrated audio";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "apple,j293-macaudio", "apple,macaudio";
|
||||
model = "MacBook Pro J293 integrated audio";
|
||||
|
||||
simple-audio-card,dai-link@0 {
|
||||
bitclock-inversion;
|
||||
frame-inversion;
|
||||
reg = <0>;
|
||||
format = "i2s";
|
||||
dai-link@0 {
|
||||
/*
|
||||
* DANGER ZONE: You can blow your speakers!
|
||||
*
|
||||
* The drivers are not ready, and unless you are careful
|
||||
* to attenuate the audio stream, you run the risk of
|
||||
* blowing your speakers.
|
||||
*/
|
||||
status = "disabled";
|
||||
|
||||
link-name = "Speakers";
|
||||
mclk-fs = <64>;
|
||||
tdm-slot-width = <32>;
|
||||
|
||||
link0_cpu: cpu {
|
||||
sound-dai = <&mca 2>;
|
||||
bitclock-master;
|
||||
frame-master;
|
||||
cpu {
|
||||
sound-dai = <&mca 0>, <&mca 1>;
|
||||
};
|
||||
codec {
|
||||
sound-dai = <&speaker_left_front>, <&speaker_right_front>,
|
||||
<&speaker_left_rear>, <&speaker_right_rear>;
|
||||
};
|
||||
};
|
||||
|
||||
link0_codec: codec {
|
||||
dai-link@1 {
|
||||
link-name = "Headphone Jack";
|
||||
mclk-fs = <64>;
|
||||
|
||||
cpu {
|
||||
sound-dai = <&mca 2>;
|
||||
};
|
||||
codec {
|
||||
sound-dai = <&jack_codec>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&framebuffer0 {
|
||||
backlight = <&backlight>;
|
||||
};
|
||||
|
|
|
@ -68,8 +68,25 @@
|
|||
/delete-node/ &port01;
|
||||
/delete-node/ &port02;
|
||||
|
||||
&i2c1 {
|
||||
speaker_left: codec@31 {
|
||||
compatible = "ti,tas5770l", "ti,tas2770";
|
||||
reg = <0x31>;
|
||||
shutdown-gpios = <&pinctrl_ap 181 GPIO_ACTIVE_HIGH>;
|
||||
#sound-dai-cells = <0>;
|
||||
sound-name-prefix = "Left";
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
&i2c3 {
|
||||
clock-frequency = <50000>;
|
||||
speaker_right: codec@34 {
|
||||
compatible = "ti,tas5770l", "ti,tas2770";
|
||||
reg = <0x34>;
|
||||
shutdown-gpios = <&pinctrl_ap 181 GPIO_ACTIVE_HIGH>;
|
||||
#sound-dai-cells = <0>;
|
||||
sound-name-prefix = "Right";
|
||||
};
|
||||
|
||||
jack_codec: codec@48 {
|
||||
compatible = "cirrus,cs42l83", "cirrus,cs42l42";
|
||||
|
@ -79,33 +96,56 @@
|
|||
interrupts = <183 IRQ_TYPE_LEVEL_LOW>;
|
||||
#sound-dai-cells = <0>;
|
||||
cirrus,ts-inv = <1>;
|
||||
sound-name-prefix = "Jack";
|
||||
};
|
||||
};
|
||||
|
||||
/ {
|
||||
backlight: gpio-bl {
|
||||
compatible = "gpio-backlight";
|
||||
gpios = <&smc_gpio 18 GPIO_ACTIVE_HIGH>;
|
||||
default-on;
|
||||
};
|
||||
|
||||
sound {
|
||||
compatible = "simple-audio-card";
|
||||
simple-audio-card,name = "MacBook integrated audio";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "apple,j313-macaudio", "apple,macaudio";
|
||||
model = "MacBook Air J313 integrated audio";
|
||||
|
||||
simple-audio-card,dai-link@0 {
|
||||
bitclock-inversion;
|
||||
frame-inversion;
|
||||
reg = <0>;
|
||||
format = "i2s";
|
||||
dai-link@0 {
|
||||
/*
|
||||
* DANGER ZONE: You can blow your speakers!
|
||||
*
|
||||
* The drivers are not ready, and unless you are careful
|
||||
* to attenuate the audio stream, you run the risk of
|
||||
* blowing your speakers.
|
||||
*/
|
||||
status = "disabled";
|
||||
|
||||
link-name = "Speakers";
|
||||
mclk-fs = <64>;
|
||||
tdm-slot-width = <32>;
|
||||
|
||||
link0_cpu: cpu {
|
||||
sound-dai = <&mca 2>;
|
||||
bitclock-master;
|
||||
frame-master;
|
||||
cpu {
|
||||
sound-dai = <&mca 0>, <&mca 1>;
|
||||
};
|
||||
codec {
|
||||
sound-dai = <&speaker_left>, <&speaker_right>;
|
||||
};
|
||||
};
|
||||
|
||||
link0_codec: codec {
|
||||
dai-link@1 {
|
||||
link-name = "Headphone Jack";
|
||||
mclk-fs = <64>;
|
||||
|
||||
cpu {
|
||||
sound-dai = <&mca 2>;
|
||||
};
|
||||
codec {
|
||||
sound-dai = <&jack_codec>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&framebuffer0 {
|
||||
backlight = <&backlight>;
|
||||
};
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
|
||||
/ {
|
||||
compatible = "apple,j456", "apple,t8103", "apple,arm-platform";
|
||||
model = "Apple iMac (24-inch, 4x USB-C, M1, 2020)";
|
||||
model = "Apple iMac (24-inch, 4x USB-C, M1, 2021)";
|
||||
|
||||
aliases {
|
||||
ethernet0 = ðernet0;
|
||||
|
@ -75,8 +75,6 @@
|
|||
};
|
||||
|
||||
&i2c1 {
|
||||
clock-frequency = <50000>;
|
||||
|
||||
jack_codec: codec@48 {
|
||||
compatible = "cirrus,cs42l83", "cirrus,cs42l42";
|
||||
reg = <0x48>;
|
||||
|
@ -90,26 +88,17 @@
|
|||
|
||||
/ {
|
||||
sound {
|
||||
compatible = "simple-audio-card";
|
||||
simple-audio-card,name = "iMac integrated audio";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "apple,j456-macaudio", "apple,macaudio";
|
||||
model = "iMac J456 integrated audio";
|
||||
|
||||
simple-audio-card,dai-link@0 {
|
||||
bitclock-inversion;
|
||||
frame-inversion;
|
||||
reg = <0>;
|
||||
format = "i2s";
|
||||
dai-link@0 {
|
||||
link-name = "Headphone Jack";
|
||||
mclk-fs = <64>;
|
||||
tdm-slot-width = <32>;
|
||||
|
||||
link0_cpu: cpu {
|
||||
cpu {
|
||||
sound-dai = <&mca 2>;
|
||||
bitclock-master;
|
||||
frame-master;
|
||||
};
|
||||
|
||||
link0_codec: codec {
|
||||
codec {
|
||||
sound-dai = <&jack_codec>;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
|
||||
/ {
|
||||
compatible = "apple,j457", "apple,t8103", "apple,arm-platform";
|
||||
model = "Apple iMac (24-inch, 2x USB-C, M1, 2020)";
|
||||
model = "Apple iMac (24-inch, 2x USB-C, M1, 2021)";
|
||||
|
||||
aliases {
|
||||
ethernet0 = ðernet0;
|
||||
|
@ -63,8 +63,6 @@
|
|||
/delete-node/ &port01;
|
||||
|
||||
&i2c1 {
|
||||
clock-frequency = <50000>;
|
||||
|
||||
jack_codec: codec@48 {
|
||||
compatible = "cirrus,cs42l83", "cirrus,cs42l42";
|
||||
reg = <0x48>;
|
||||
|
|
|
@ -9,8 +9,6 @@
|
|||
* Copyright The Asahi Linux Contributors
|
||||
*/
|
||||
|
||||
#include <dt-bindings/spmi/spmi.h>
|
||||
|
||||
/ {
|
||||
aliases {
|
||||
serial0 = &serial0;
|
||||
|
@ -123,7 +121,7 @@
|
|||
*/
|
||||
&port00 {
|
||||
bus-range = <1 1>;
|
||||
pwren-gpios = <&smc 13 0>;
|
||||
pwren-gpios = <&smc_gpio 13 GPIO_ACTIVE_HIGH>;
|
||||
wifi0: network@0,0 {
|
||||
compatible = "pci14e4,4425";
|
||||
reg = <0x10000 0x0 0x0 0x0 0x0>;
|
||||
|
@ -132,12 +130,3 @@
|
|||
apple,antenna-sku = "XX";
|
||||
};
|
||||
};
|
||||
|
||||
&spmi {
|
||||
status = "okay";
|
||||
|
||||
pmu@f {
|
||||
compatible = "apple,sera-pmu";
|
||||
reg = <0xf SPMI_USID>;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -483,7 +483,7 @@
|
|||
#power-domain-cells = <0>;
|
||||
#reset-cells = <0>;
|
||||
label = "mca0";
|
||||
power-domains = <&ps_audio_p>, <&ps_sio_adma>, <&ps_mca1>, <&ps_mca2>, <&ps_mca3>, <&ps_mca4>, <&ps_mca5>;
|
||||
power-domains = <&ps_audio_p>, <&ps_sio_adma>;
|
||||
};
|
||||
|
||||
ps_mca1: power-controller@2c0 {
|
||||
|
@ -717,6 +717,7 @@
|
|||
#reset-cells = <0>;
|
||||
label = "apcie_gp";
|
||||
power-domains = <&ps_apcie>;
|
||||
apple,always-on; /* Breaks things if shut down */
|
||||
};
|
||||
|
||||
ps_ans2: power-controller@3f0 {
|
||||
|
@ -725,11 +726,6 @@
|
|||
#power-domain-cells = <0>;
|
||||
#reset-cells = <0>;
|
||||
label = "ans2";
|
||||
/*
|
||||
* The ADT makes ps_apcie_st depend on ps_ans2 instead, but this
|
||||
* doesn't make much sense since ANS2 uses APCIE_ST.
|
||||
*/
|
||||
power-domains = <&ps_apcie_st>;
|
||||
};
|
||||
|
||||
ps_gfx: power-controller@3f8 {
|
||||
|
@ -836,7 +832,7 @@
|
|||
#power-domain-cells = <0>;
|
||||
#reset-cells = <0>;
|
||||
label = "apcie_st";
|
||||
power-domains = <&ps_apcie>;
|
||||
power-domains = <&ps_apcie>, <&ps_ans2>;
|
||||
};
|
||||
|
||||
ps_ane_sys: power-controller@470 {
|
||||
|
@ -1108,6 +1104,7 @@
|
|||
#power-domain-cells = <0>;
|
||||
#reset-cells = <0>;
|
||||
label = "atc0_usb_aon";
|
||||
apple,always-on; /* Needs to stay on for dwc3 to work */
|
||||
};
|
||||
|
||||
ps_atc1_usb_aon: power-controller@90 {
|
||||
|
@ -1116,6 +1113,7 @@
|
|||
#power-domain-cells = <0>;
|
||||
#reset-cells = <0>;
|
||||
label = "atc1_usb_aon";
|
||||
apple,always-on; /* Needs to stay on for dwc3 to work */
|
||||
};
|
||||
|
||||
ps_atc0_usb: power-controller@98 {
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
#include <dt-bindings/interrupt-controller/apple-aic.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
#include <dt-bindings/pinctrl/apple.h>
|
||||
#include <dt-bindings/spmi/spmi.h>
|
||||
|
||||
/ {
|
||||
compatible = "apple,t8103", "apple,arm-platform";
|
||||
|
@ -22,71 +23,245 @@
|
|||
#address-cells = <2>;
|
||||
#size-cells = <0>;
|
||||
|
||||
cpu0: cpu@0 {
|
||||
cpu-map {
|
||||
cluster0 {
|
||||
core0 {
|
||||
cpu = <&cpu_e0>;
|
||||
};
|
||||
core1 {
|
||||
cpu = <&cpu_e1>;
|
||||
};
|
||||
core2 {
|
||||
cpu = <&cpu_e2>;
|
||||
};
|
||||
core3 {
|
||||
cpu = <&cpu_e3>;
|
||||
};
|
||||
};
|
||||
|
||||
cluster1 {
|
||||
core0 {
|
||||
cpu = <&cpu_p0>;
|
||||
};
|
||||
core1 {
|
||||
cpu = <&cpu_p1>;
|
||||
};
|
||||
core2 {
|
||||
cpu = <&cpu_p2>;
|
||||
};
|
||||
core3 {
|
||||
cpu = <&cpu_p3>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
cpu_e0: cpu@0 {
|
||||
compatible = "apple,icestorm";
|
||||
device_type = "cpu";
|
||||
reg = <0x0 0x0>;
|
||||
enable-method = "spin-table";
|
||||
cpu-release-addr = <0 0>; /* To be filled by loader */
|
||||
operating-points-v2 = <&ecluster_opp>;
|
||||
capacity-dmips-mhz = <714>;
|
||||
apple,freq-domain = <&cpufreq_hw 0>;
|
||||
};
|
||||
|
||||
cpu1: cpu@1 {
|
||||
cpu_e1: cpu@1 {
|
||||
compatible = "apple,icestorm";
|
||||
device_type = "cpu";
|
||||
reg = <0x0 0x1>;
|
||||
enable-method = "spin-table";
|
||||
cpu-release-addr = <0 0>; /* To be filled by loader */
|
||||
operating-points-v2 = <&ecluster_opp>;
|
||||
capacity-dmips-mhz = <714>;
|
||||
apple,freq-domain = <&cpufreq_hw 0>;
|
||||
};
|
||||
|
||||
cpu2: cpu@2 {
|
||||
cpu_e2: cpu@2 {
|
||||
compatible = "apple,icestorm";
|
||||
device_type = "cpu";
|
||||
reg = <0x0 0x2>;
|
||||
enable-method = "spin-table";
|
||||
cpu-release-addr = <0 0>; /* To be filled by loader */
|
||||
operating-points-v2 = <&ecluster_opp>;
|
||||
capacity-dmips-mhz = <714>;
|
||||
apple,freq-domain = <&cpufreq_hw 0>;
|
||||
};
|
||||
|
||||
cpu3: cpu@3 {
|
||||
cpu_e3: cpu@3 {
|
||||
compatible = "apple,icestorm";
|
||||
device_type = "cpu";
|
||||
reg = <0x0 0x3>;
|
||||
enable-method = "spin-table";
|
||||
cpu-release-addr = <0 0>; /* To be filled by loader */
|
||||
operating-points-v2 = <&ecluster_opp>;
|
||||
capacity-dmips-mhz = <714>;
|
||||
apple,freq-domain = <&cpufreq_hw 0>;
|
||||
};
|
||||
|
||||
cpu4: cpu@10100 {
|
||||
cpu_p0: cpu@10100 {
|
||||
compatible = "apple,firestorm";
|
||||
device_type = "cpu";
|
||||
reg = <0x0 0x10100>;
|
||||
enable-method = "spin-table";
|
||||
cpu-release-addr = <0 0>; /* To be filled by loader */
|
||||
operating-points-v2 = <&pcluster_opp>;
|
||||
capacity-dmips-mhz = <1024>;
|
||||
apple,freq-domain = <&cpufreq_hw 1>;
|
||||
};
|
||||
|
||||
cpu5: cpu@10101 {
|
||||
cpu_p1: cpu@10101 {
|
||||
compatible = "apple,firestorm";
|
||||
device_type = "cpu";
|
||||
reg = <0x0 0x10101>;
|
||||
enable-method = "spin-table";
|
||||
cpu-release-addr = <0 0>; /* To be filled by loader */
|
||||
operating-points-v2 = <&pcluster_opp>;
|
||||
capacity-dmips-mhz = <1024>;
|
||||
apple,freq-domain = <&cpufreq_hw 1>;
|
||||
};
|
||||
|
||||
cpu6: cpu@10102 {
|
||||
cpu_p2: cpu@10102 {
|
||||
compatible = "apple,firestorm";
|
||||
device_type = "cpu";
|
||||
reg = <0x0 0x10102>;
|
||||
enable-method = "spin-table";
|
||||
cpu-release-addr = <0 0>; /* To be filled by loader */
|
||||
operating-points-v2 = <&pcluster_opp>;
|
||||
capacity-dmips-mhz = <1024>;
|
||||
apple,freq-domain = <&cpufreq_hw 1>;
|
||||
};
|
||||
|
||||
cpu7: cpu@10103 {
|
||||
cpu_p3: cpu@10103 {
|
||||
compatible = "apple,firestorm";
|
||||
device_type = "cpu";
|
||||
reg = <0x0 0x10103>;
|
||||
enable-method = "spin-table";
|
||||
cpu-release-addr = <0 0>; /* To be filled by loader */
|
||||
operating-points-v2 = <&pcluster_opp>;
|
||||
capacity-dmips-mhz = <1024>;
|
||||
apple,freq-domain = <&cpufreq_hw 1>;
|
||||
};
|
||||
};
|
||||
|
||||
ecluster_opp: opp-table-0 {
|
||||
compatible = "operating-points-v2";
|
||||
opp-shared;
|
||||
|
||||
opp01 {
|
||||
opp-hz = /bits/ 64 <600000000>;
|
||||
opp-level = <1>;
|
||||
clock-latency-ns = <7500>;
|
||||
};
|
||||
opp02 {
|
||||
opp-hz = /bits/ 64 <972000000>;
|
||||
opp-level = <2>;
|
||||
clock-latency-ns = <22000>;
|
||||
};
|
||||
opp03 {
|
||||
opp-hz = /bits/ 64 <1332000000>;
|
||||
opp-level = <3>;
|
||||
clock-latency-ns = <27000>;
|
||||
};
|
||||
opp04 {
|
||||
opp-hz = /bits/ 64 <1704000000>;
|
||||
opp-level = <4>;
|
||||
clock-latency-ns = <33000>;
|
||||
};
|
||||
opp05 {
|
||||
opp-hz = /bits/ 64 <2064000000>;
|
||||
opp-level = <5>;
|
||||
clock-latency-ns = <50000>;
|
||||
};
|
||||
};
|
||||
|
||||
pcluster_opp: opp-table-1 {
|
||||
compatible = "operating-points-v2";
|
||||
opp-shared;
|
||||
|
||||
opp01 {
|
||||
opp-hz = /bits/ 64 <600000000>;
|
||||
opp-level = <1>;
|
||||
clock-latency-ns = <8000>;
|
||||
};
|
||||
opp02 {
|
||||
opp-hz = /bits/ 64 <828000000>;
|
||||
opp-level = <2>;
|
||||
clock-latency-ns = <19000>;
|
||||
};
|
||||
opp03 {
|
||||
opp-hz = /bits/ 64 <1056000000>;
|
||||
opp-level = <3>;
|
||||
clock-latency-ns = <21000>;
|
||||
};
|
||||
opp04 {
|
||||
opp-hz = /bits/ 64 <1284000000>;
|
||||
opp-level = <4>;
|
||||
clock-latency-ns = <23000>;
|
||||
};
|
||||
opp05 {
|
||||
opp-hz = /bits/ 64 <1500000000>;
|
||||
opp-level = <5>;
|
||||
clock-latency-ns = <24000>;
|
||||
};
|
||||
opp06 {
|
||||
opp-hz = /bits/ 64 <1728000000>;
|
||||
opp-level = <6>;
|
||||
clock-latency-ns = <29000>;
|
||||
};
|
||||
opp07 {
|
||||
opp-hz = /bits/ 64 <1956000000>;
|
||||
opp-level = <7>;
|
||||
clock-latency-ns = <31000>;
|
||||
};
|
||||
opp08 {
|
||||
opp-hz = /bits/ 64 <2184000000>;
|
||||
opp-level = <8>;
|
||||
clock-latency-ns = <34000>;
|
||||
};
|
||||
opp09 {
|
||||
opp-hz = /bits/ 64 <2388000000>;
|
||||
opp-level = <9>;
|
||||
clock-latency-ns = <36000>;
|
||||
};
|
||||
opp10 {
|
||||
opp-hz = /bits/ 64 <2592000000>;
|
||||
opp-level = <10>;
|
||||
clock-latency-ns = <51000>;
|
||||
};
|
||||
opp11 {
|
||||
opp-hz = /bits/ 64 <2772000000>;
|
||||
opp-level = <11>;
|
||||
clock-latency-ns = <54000>;
|
||||
};
|
||||
opp12 {
|
||||
opp-hz = /bits/ 64 <2988000000>;
|
||||
opp-level = <12>;
|
||||
clock-latency-ns = <55000>;
|
||||
};
|
||||
#if 0
|
||||
/* Not available until CPU deep sleep is implemented */
|
||||
opp13 {
|
||||
opp-hz = /bits/ 64 <3096000000>;
|
||||
opp-level = <13>;
|
||||
clock-latency-ns = <55000>;
|
||||
turbo-mode;
|
||||
};
|
||||
opp14 {
|
||||
opp-hz = /bits/ 64 <3144000000>;
|
||||
opp-level = <14>;
|
||||
clock-latency-ns = <56000>;
|
||||
turbo-mode;
|
||||
};
|
||||
opp15 {
|
||||
opp-hz = /bits/ 64 <3204000000>;
|
||||
opp-level = <15>;
|
||||
clock-latency-ns = <56000>;
|
||||
turbo-mode;
|
||||
};
|
||||
#endif
|
||||
};
|
||||
|
||||
timer {
|
||||
compatible = "arm,armv8-timer";
|
||||
interrupt-parent = <&aic>;
|
||||
|
@ -97,6 +272,18 @@
|
|||
<AIC_FIQ AIC_TMR_HV_VIRT IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
pmu-e {
|
||||
compatible = "apple,icestorm-pmu";
|
||||
interrupt-parent = <&aic>;
|
||||
interrupts = <AIC_FIQ AIC_CPU_PMU_E IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
pmu-p {
|
||||
compatible = "apple,firestorm-pmu";
|
||||
interrupt-parent = <&aic>;
|
||||
interrupts = <AIC_FIQ AIC_CPU_PMU_P IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
clkref: clock-ref {
|
||||
compatible = "fixed-clock";
|
||||
#clock-cells = <0>;
|
||||
|
@ -119,6 +306,15 @@
|
|||
ranges;
|
||||
nonposted-mmio;
|
||||
|
||||
cpufreq_hw: cpufreq@210e20000 {
|
||||
compatible = "apple,t8103-soc-cpufreq", "apple,soc-cpufreq";
|
||||
reg = <0x2 0x10e20000 0 0x1000>,
|
||||
<0x2 0x11e20000 0 0x1000>;
|
||||
reg-names = "cluster0", "cluster1";
|
||||
|
||||
#freq-domain-cells = <1>;
|
||||
};
|
||||
|
||||
i2c0: i2c@235010000 {
|
||||
compatible = "apple,t8103-i2c", "apple,i2c";
|
||||
reg = <0x2 0x35010000 0x0 0x4000>;
|
||||
|
@ -155,8 +351,8 @@
|
|||
pinctrl-names = "default";
|
||||
#address-cells = <0x1>;
|
||||
#size-cells = <0x0>;
|
||||
power-domains = <&ps_i2c2>;
|
||||
status = "disabled"; /* not used in all devices */
|
||||
power-domains = <&ps_i2c2>;
|
||||
};
|
||||
|
||||
i2c3: i2c@23501c000 {
|
||||
|
@ -234,6 +430,18 @@
|
|||
interrupt-controller;
|
||||
reg = <0x2 0x3b100000 0x0 0x8000>;
|
||||
power-domains = <&ps_aic>;
|
||||
|
||||
affinities {
|
||||
e-core-pmu-affinity {
|
||||
apple,fiq-index = <AIC_CPU_PMU_E>;
|
||||
cpus = <&cpu_e0 &cpu_e1 &cpu_e2 &cpu_e3>;
|
||||
};
|
||||
|
||||
p-core-pmu-affinity {
|
||||
apple,fiq-index = <AIC_CPU_PMU_P>;
|
||||
cpus = <&cpu_p0 &cpu_p1 &cpu_p2 &cpu_p3>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
pmgr: power-management@23b700000 {
|
||||
|
@ -303,14 +511,79 @@
|
|||
};
|
||||
};
|
||||
|
||||
spmi: spmi@23d0d9300 {
|
||||
nub_spmi: spmi@23d0d9300 {
|
||||
compatible = "apple,t8103-spmi", "apple,spmi";
|
||||
reg = <0x2 0x3d0d9300 0x0 0x100>;
|
||||
interrupt-parent = <&aic>;
|
||||
interrupts = <AIC_IRQ 343 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#address-cells = <2>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
|
||||
pmu1: pmu@f {
|
||||
compatible = "apple,sera-pmu", "apple,spmi-pmu";
|
||||
reg = <0xf SPMI_USID>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
rtc_nvmem@d000 {
|
||||
compatible = "apple,spmi-pmu-nvmem";
|
||||
reg = <0xd000 0x300>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
pm_setting: pm-setting@1 {
|
||||
reg = <0x1 0x1>;
|
||||
};
|
||||
|
||||
rtc_offset: rtc-offset@100 {
|
||||
reg = <0x100 0x6>;
|
||||
};
|
||||
};
|
||||
|
||||
legacy_nvmem@9f00 {
|
||||
compatible = "apple,spmi-pmu-nvmem";
|
||||
reg = <0x9f00 0x20>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
boot_stage: boot-stage@1 {
|
||||
reg = <0x1 0x1>;
|
||||
};
|
||||
|
||||
boot_error_count: boot-error-count@2 {
|
||||
reg = <0x2 0x1>;
|
||||
bits = <0 4>;
|
||||
};
|
||||
|
||||
panic_count: panic-count@2 {
|
||||
reg = <0x2 0x1>;
|
||||
bits = <4 4>;
|
||||
};
|
||||
|
||||
boot_error_stage: boot-error-stage@3 {
|
||||
reg = <0x3 0x1>;
|
||||
};
|
||||
|
||||
shutdown_flag: shutdown-flag@f {
|
||||
reg = <0xf 0x1>;
|
||||
bits = <3 1>;
|
||||
};
|
||||
};
|
||||
|
||||
scrpad_nvmem@a000 {
|
||||
compatible = "apple,spmi-pmu-nvmem";
|
||||
reg = <0xa000 0x1000>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
fault_shadow: fault-shadow@67b {
|
||||
reg = <0x67b 0x10>;
|
||||
};
|
||||
|
||||
socd: socd@b00 {
|
||||
reg = <0xb00 0x400>;
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
pinctrl_nub: pinctrl@23d1f0000 {
|
||||
|
@ -350,6 +623,44 @@
|
|||
interrupts = <AIC_IRQ 338 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
smc_mbox: mbox@23e408000 {
|
||||
compatible = "apple,t8103-asc-mailbox", "apple,asc-mailbox-v4";
|
||||
reg = <0x2 0x3e408000 0x0 0x4000>;
|
||||
interrupt-parent = <&aic>;
|
||||
interrupts = <AIC_IRQ 400 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<AIC_IRQ 401 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<AIC_IRQ 402 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<AIC_IRQ 403 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "send-empty", "send-not-empty",
|
||||
"recv-empty", "recv-not-empty";
|
||||
#mbox-cells = <0>;
|
||||
};
|
||||
|
||||
smc: smc@23e400000 {
|
||||
compatible = "apple,t8103-smc", "apple,smc";
|
||||
reg = <0x2 0x3e400000 0x0 0x4000>,
|
||||
<0x2 0x3fe00000 0x0 0x100000>;
|
||||
reg-names = "smc", "sram";
|
||||
mboxes = <&smc_mbox>;
|
||||
|
||||
smc_gpio: gpio {
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
};
|
||||
|
||||
smc_rtc: rtc {
|
||||
nvmem-cells = <&rtc_offset>;
|
||||
nvmem-cell-names = "rtc_offset";
|
||||
};
|
||||
|
||||
smc_reboot: reboot {
|
||||
nvmem-cells = <&shutdown_flag>, <&boot_stage>,
|
||||
<&boot_error_count>, <&panic_count>, <&pm_setting>;
|
||||
nvmem-cell-names = "shutdown_flag", "boot_stage",
|
||||
"boot_error_count", "panic_count", "pm_setting";
|
||||
};
|
||||
};
|
||||
|
||||
pinctrl_smc: pinctrl@23e820000 {
|
||||
compatible = "apple,t8103-pinctrl", "apple,pinctrl";
|
||||
reg = <0x2 0x3e820000 0x0 0x4000>;
|
||||
|
@ -371,28 +682,6 @@
|
|||
<AIC_IRQ 397 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
|
||||
smc_mbox: mbox@23e408000 {
|
||||
compatible = "apple,t8103-asc-mailbox", "apple,asc-mailbox-v4";
|
||||
reg = <0x2 0x3e408000 0x0 0x4000>;
|
||||
interrupt-parent = <&aic>;
|
||||
interrupts = <AIC_IRQ 400 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<AIC_IRQ 401 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<AIC_IRQ 402 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<AIC_IRQ 403 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "send-empty", "send-not-empty",
|
||||
"recv-empty", "recv-not-empty";
|
||||
#mbox-cells = <0>;
|
||||
};
|
||||
|
||||
smc: smc@23e050000 {
|
||||
compatible = "apple,smc";
|
||||
reg = <0x2 0x3e050000 0x0 0x4000>;
|
||||
mboxes = <&smc_mbox>;
|
||||
gpio-controller;
|
||||
#gpio-cells = <2>;
|
||||
gpio-13 = <0x00800000>;
|
||||
};
|
||||
|
||||
pinctrl_aop: pinctrl@24a820000 {
|
||||
compatible = "apple,t8103-pinctrl", "apple,pinctrl";
|
||||
reg = <0x2 0x4a820000 0x0 0x4000>;
|
||||
|
@ -443,7 +732,8 @@
|
|||
interrupts = <AIC_IRQ 590 IRQ_TYPE_LEVEL_HIGH>;
|
||||
mboxes = <&ans_mbox>;
|
||||
apple,sart = <&sart>;
|
||||
power-domains = <&ps_ans2>;
|
||||
power-domains = <&ps_ans2>, <&ps_apcie_st>;
|
||||
power-domain-names = "ans", "apcie0";
|
||||
resets = <&ps_ans2>;
|
||||
};
|
||||
|
||||
|
@ -452,6 +742,7 @@
|
|||
reg = <0x3 0x82280000 0x0 0x100000>;
|
||||
interrupt-parent = <&aic>;
|
||||
interrupts = <AIC_IRQ 777 IRQ_TYPE_LEVEL_HIGH>;
|
||||
dr_mode = "otg";
|
||||
usb-role-switch;
|
||||
role-switch-default-mode = "host";
|
||||
iommus = <&dwc3_0_dart_0 0>, <&dwc3_0_dart_1 1>;
|
||||
|
@ -481,6 +772,7 @@
|
|||
reg = <0x5 0x02280000 0x0 0x100000>;
|
||||
interrupt-parent = <&aic>;
|
||||
interrupts = <AIC_IRQ 857 IRQ_TYPE_LEVEL_HIGH>;
|
||||
dr_mode = "otg";
|
||||
usb-role-switch;
|
||||
role-switch-default-mode = "host";
|
||||
iommus = <&dwc3_1_dart_0 0>, <&dwc3_1_dart_1 1>;
|
||||
|
@ -655,40 +947,48 @@
|
|||
admac: dma-controller@238200000 {
|
||||
compatible = "apple,t8103-admac", "apple,admac";
|
||||
reg = <0x2 0x38200000 0x0 0x34000>;
|
||||
dma-channels = <12>;
|
||||
dma-channels = <24>;
|
||||
interrupt-parent = <&aic>;
|
||||
interrupts = <AIC_IRQ 626 IRQ_TYPE_LEVEL_HIGH>;
|
||||
#dma-cells = <1>;
|
||||
iommus = <&dart_sio 2>;
|
||||
power-domains = <&ps_sio_adma>;
|
||||
apple,internal-irq-destination = <1>;
|
||||
};
|
||||
|
||||
mca: mca {
|
||||
mca: mca@38400000 {
|
||||
compatible = "apple,t8103-mca", "apple,mca";
|
||||
reg = <0x2 0x38400000 0x0 0x18000>,
|
||||
<0x2 0x38300000 0x0 0x30000>;
|
||||
reg-names = "clusters", "switch";
|
||||
clocks = <&nco 0>, <&nco 1>, <&nco 2>, <&nco 3>;
|
||||
power-domains = <&ps_mca0>; //, <&ps_mca1>, <&ps_mca2>, <&ps_mca3>, <&ps_mca4>, <&ps_mca5>;
|
||||
resets = <&ps_mca0>, <&ps_mca1>, <&ps_mca2>, <&ps_mca3>, <&ps_mca4>, <&ps_mca5>;
|
||||
|
||||
interrupt-parent = <&aic>;
|
||||
interrupts = <AIC_IRQ 619 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<AIC_IRQ 620 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<AIC_IRQ 621 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<AIC_IRQ 622 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<AIC_IRQ 623 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<AIC_IRQ 624 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
||||
clocks = <&nco 0>, <&nco 1>, <&nco 2>,
|
||||
<&nco 3>, <&nco 4>, <&nco 4>;
|
||||
power-domains = <&ps_audio_p>, <&ps_mca0>, <&ps_mca1>,
|
||||
<&ps_mca2>, <&ps_mca3>, <&ps_mca4>, <&ps_mca5>;
|
||||
dmas = <&admac 0>, <&admac 1>, <&admac 2>, <&admac 3>,
|
||||
<&admac 4>, <&admac 5>, <&admac 6>, <&admac 7>,
|
||||
<&admac 8>, <&admac 9>, <&admac 10>, <&admac 11>,
|
||||
<&admac 12>, <&admac 13>, <&admac 14>, <&admac 15>,
|
||||
<&admac 16>, <&admac 17>, <&admac 18>, <&admac 19>,
|
||||
<&admac 20>, <&admac 21>, <&admac 22>, <&admac 23>;
|
||||
dma-names = "tx0a", "rx0a", "tx0b", "rx0b",
|
||||
"tx1a", "rx1a", "tx1b", "rx1b",
|
||||
"tx2a", "rx2a", "tx2b", "rx2b",
|
||||
"tx3a", "rx3a", "tx3b", "rx3b",
|
||||
"tx4a", "rx4a", "tx4b", "rx4b",
|
||||
"tx5a", "rx5a", "tx5b", "rx5b";
|
||||
|
||||
#sound-dai-cells = <1>;
|
||||
apple,nclusters = <6>;
|
||||
apple,mclk-range = <2600000 25000000>;
|
||||
|
||||
route {
|
||||
dmas = <&admac 2>;
|
||||
dma-names = "tx";
|
||||
apple,serdes = <1>;
|
||||
sound-dai = <&mca 0>;
|
||||
};
|
||||
|
||||
route2 {
|
||||
dmas = <&admac 6>;
|
||||
dma-names = "tx";
|
||||
apple,serdes = <3>;
|
||||
sound-dai = <&mca 2>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause */
|
||||
/* SPDX-License-Identifier: GPL-2.0+ OR MIT */
|
||||
#ifndef _DT_BINDINGS_INTERRUPT_CONTROLLER_APPLE_AIC_H
|
||||
#define _DT_BINDINGS_INTERRUPT_CONTROLLER_APPLE_AIC_H
|
||||
|
||||
|
@ -11,5 +11,7 @@
|
|||
#define AIC_TMR_HV_VIRT 1
|
||||
#define AIC_TMR_GUEST_PHYS 2
|
||||
#define AIC_TMR_GUEST_VIRT 3
|
||||
#define AIC_CPU_PMU_E 4
|
||||
#define AIC_CPU_PMU_P 5
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue