414 lines
6.7 KiB
Devicetree
414 lines
6.7 KiB
Devicetree
// SPDX-License-Identifier: GPL-2.0+ OR MIT
|
|
/*
|
|
* Mac Studio (2022)
|
|
*
|
|
* This file contains the parts common to J375 devices with both t6001 and t6002.
|
|
*
|
|
* target-type: J375c / J375d
|
|
*
|
|
* Copyright The Asahi Linux Contributors
|
|
*/
|
|
|
|
/ {
|
|
chassis-type = "desktop";
|
|
|
|
aliases {
|
|
atcphy0 = &atcphy0;
|
|
atcphy1 = &atcphy1;
|
|
atcphy2 = &atcphy2;
|
|
atcphy3 = &atcphy3;
|
|
bluetooth0 = &bluetooth0;
|
|
ethernet0 = ðernet0;
|
|
serial0 = &serial0;
|
|
wifi0 = &wifi0;
|
|
};
|
|
|
|
chosen {
|
|
#address-cells = <2>;
|
|
#size-cells = <2>;
|
|
ranges;
|
|
|
|
stdout-path = "serial0";
|
|
|
|
framebuffer0: framebuffer@0 {
|
|
compatible = "apple,simple-framebuffer", "simple-framebuffer";
|
|
reg = <0 0 0 0>; /* To be filled by loader */
|
|
/* Format properties will be added by loader */
|
|
status = "disabled";
|
|
};
|
|
};
|
|
|
|
memory@10000000000 {
|
|
device_type = "memory";
|
|
reg = <0x100 0 0x2 0>; /* To be filled by loader */
|
|
};
|
|
};
|
|
|
|
&serial0 {
|
|
status = "okay";
|
|
};
|
|
|
|
/* USB Type C */
|
|
&i2c0 {
|
|
hpm0: usb-pd@38 {
|
|
compatible = "apple,cd321x";
|
|
reg = <0x38>;
|
|
interrupt-parent = <&pinctrl_ap>;
|
|
interrupts = <174 IRQ_TYPE_LEVEL_LOW>;
|
|
interrupt-names = "irq";
|
|
|
|
typec0: connector {
|
|
compatible = "usb-c-connector";
|
|
label = "USB-C Back Left";
|
|
power-role = "dual";
|
|
data-role = "dual";
|
|
|
|
ports {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
port@0 {
|
|
reg = <0>;
|
|
typec0_connector_hs: endpoint {
|
|
remote-endpoint = <&dwc3_0_hs>;
|
|
};
|
|
};
|
|
port@1 {
|
|
reg = <1>;
|
|
typec0_connector_ss: endpoint {
|
|
remote-endpoint = <&atcphy0_typec_lanes>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
hpm1: usb-pd@3f {
|
|
compatible = "apple,cd321x";
|
|
reg = <0x3f>;
|
|
interrupt-parent = <&pinctrl_ap>;
|
|
interrupts = <174 IRQ_TYPE_LEVEL_LOW>;
|
|
interrupt-names = "irq";
|
|
|
|
typec1: connector {
|
|
compatible = "usb-c-connector";
|
|
label = "USB-C Back Left Middle";
|
|
power-role = "dual";
|
|
data-role = "dual";
|
|
|
|
ports {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
port@0 {
|
|
reg = <0>;
|
|
typec1_connector_hs: endpoint {
|
|
remote-endpoint = <&dwc3_1_hs>;
|
|
};
|
|
};
|
|
port@1 {
|
|
reg = <1>;
|
|
typec1_connector_ss: endpoint {
|
|
remote-endpoint = <&atcphy1_typec_lanes>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
hpm2: usb-pd@3b {
|
|
compatible = "apple,cd321x";
|
|
reg = <0x3b>;
|
|
interrupt-parent = <&pinctrl_ap>;
|
|
interrupts = <174 IRQ_TYPE_LEVEL_LOW>;
|
|
interrupt-names = "irq";
|
|
|
|
typec2: connector {
|
|
compatible = "usb-c-connector";
|
|
label = "USB-C Back Right Middle";
|
|
power-role = "dual";
|
|
data-role = "dual";
|
|
|
|
ports {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
port@0 {
|
|
reg = <0>;
|
|
typec2_connector_hs: endpoint {
|
|
remote-endpoint = <&dwc3_2_hs>;
|
|
};
|
|
};
|
|
port@1 {
|
|
reg = <1>;
|
|
typec2_connector_ss: endpoint {
|
|
remote-endpoint = <&atcphy2_typec_lanes>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
hpm3: usb-pd@3c {
|
|
compatible = "apple,cd321x";
|
|
reg = <0x3c>;
|
|
interrupt-parent = <&pinctrl_ap>;
|
|
interrupts = <174 IRQ_TYPE_LEVEL_LOW>;
|
|
interrupt-names = "irq";
|
|
|
|
typec3: connector {
|
|
compatible = "usb-c-connector";
|
|
label = "USB-C Back Right";
|
|
power-role = "dual";
|
|
data-role = "dual";
|
|
|
|
ports {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
port@0 {
|
|
reg = <0>;
|
|
typec3_connector_hs: endpoint {
|
|
remote-endpoint = <&dwc3_3_hs>;
|
|
};
|
|
};
|
|
port@1 {
|
|
reg = <1>;
|
|
typec3_connector_ss: endpoint {
|
|
remote-endpoint = <&atcphy3_typec_lanes>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
/* USB controllers */
|
|
&dwc3_0 {
|
|
ports {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
port@0 {
|
|
reg = <0>;
|
|
dwc3_0_hs: endpoint {
|
|
remote-endpoint = <&typec0_connector_hs>;
|
|
};
|
|
};
|
|
|
|
port@1 {
|
|
reg = <1>;
|
|
dwc3_0_ss: endpoint {
|
|
remote-endpoint = <&atcphy0_usb3>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&dwc3_1 {
|
|
ports {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
port@0 {
|
|
reg = <0>;
|
|
dwc3_1_hs: endpoint {
|
|
remote-endpoint = <&typec1_connector_hs>;
|
|
};
|
|
};
|
|
|
|
port@1 {
|
|
reg = <1>;
|
|
dwc3_1_ss: endpoint {
|
|
remote-endpoint = <&atcphy1_usb3>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&dwc3_2 {
|
|
ports {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
port@0 {
|
|
reg = <0>;
|
|
dwc3_2_hs: endpoint {
|
|
remote-endpoint = <&typec2_connector_hs>;
|
|
};
|
|
};
|
|
|
|
port@1 {
|
|
reg = <1>;
|
|
dwc3_2_ss: endpoint {
|
|
remote-endpoint = <&atcphy2_usb3>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&dwc3_3 {
|
|
ports {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
port@0 {
|
|
reg = <0>;
|
|
dwc3_3_hs: endpoint {
|
|
remote-endpoint = <&typec3_connector_hs>;
|
|
};
|
|
};
|
|
|
|
port@1 {
|
|
reg = <1>;
|
|
dwc3_3_ss: endpoint {
|
|
remote-endpoint = <&atcphy3_usb3>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
/* Type-C PHYs */
|
|
&atcphy0 {
|
|
ports {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
port@0 {
|
|
reg = <0>;
|
|
atcphy0_typec_lanes: endpoint {
|
|
remote-endpoint = <&typec0_connector_ss>;
|
|
};
|
|
};
|
|
|
|
port@1 {
|
|
reg = <1>;
|
|
atcphy0_usb3: endpoint {
|
|
remote-endpoint = <&dwc3_0_ss>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&atcphy1 {
|
|
ports {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
port@0 {
|
|
reg = <0>;
|
|
atcphy1_typec_lanes: endpoint {
|
|
remote-endpoint = <&typec1_connector_ss>;
|
|
};
|
|
};
|
|
|
|
port@1 {
|
|
reg = <1>;
|
|
atcphy1_usb3: endpoint {
|
|
remote-endpoint = <&dwc3_1_ss>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&atcphy2 {
|
|
ports {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
port@0 {
|
|
reg = <0>;
|
|
atcphy2_typec_lanes: endpoint {
|
|
remote-endpoint = <&typec2_connector_ss>;
|
|
};
|
|
};
|
|
|
|
port@1 {
|
|
reg = <1>;
|
|
atcphy2_usb3: endpoint {
|
|
remote-endpoint = <&dwc3_2_ss>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&atcphy3 {
|
|
ports {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
port@0 {
|
|
reg = <0>;
|
|
atcphy3_typec_lanes: endpoint {
|
|
remote-endpoint = <&typec3_connector_ss>;
|
|
};
|
|
};
|
|
|
|
port@1 {
|
|
reg = <1>;
|
|
atcphy3_usb3: endpoint {
|
|
remote-endpoint = <&dwc3_3_ss>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&nco_clkref {
|
|
clock-frequency = <1068000000>;
|
|
};
|
|
|
|
/* PCIe devices */
|
|
&port00 {
|
|
/* WLAN */
|
|
bus-range = <1 1>;
|
|
wifi0: wifi@0,0 {
|
|
compatible = "pci14e4,4433";
|
|
reg = <0x10000 0x0 0x0 0x0 0x0>;
|
|
/* To be filled by the loader */
|
|
local-mac-address = [00 10 18 00 00 10];
|
|
apple,antenna-sku = "XX";
|
|
};
|
|
|
|
bluetooth0: bluetooth@0,1 {
|
|
compatible = "pci14e4,5f71";
|
|
reg = <0x10100 0x0 0x0 0x0 0x0>;
|
|
/* To be filled by the loader */
|
|
local-bd-address = [00 00 00 00 00 00];
|
|
};
|
|
};
|
|
|
|
&port01 {
|
|
/* SD card reader */
|
|
bus-range = <2 2>;
|
|
sdhci0: mmc@0,0 {
|
|
compatible = "pci17a0,9755";
|
|
reg = <0x20000 0x0 0x0 0x0 0x0>;
|
|
cd-inverted;
|
|
wp-inverted;
|
|
};
|
|
};
|
|
|
|
&port02 {
|
|
/* 10 Gbit Ethernet */
|
|
bus-range = <3 3>;
|
|
status = "okay";
|
|
ethernet0: ethernet@0,0 {
|
|
reg = <0x30000 0x0 0x0 0x0 0x0>;
|
|
/* To be filled by the loader */
|
|
local-mac-address = [00 10 18 00 00 00];
|
|
};
|
|
};
|
|
|
|
&port03 {
|
|
/* USB xHCI */
|
|
bus-range = <4 4>;
|
|
status = "okay";
|
|
};
|
|
|
|
|
|
&pcie0_dart_2 {
|
|
status = "okay";
|
|
};
|
|
|
|
&pcie0_dart_3 {
|
|
status = "okay";
|
|
};
|
|
|
|
#include "spi1-nvram.dtsi"
|