218 lines
3.3 KiB
Devicetree
218 lines
3.3 KiB
Devicetree
// SPDX-License-Identifier: GPL-2.0+ OR MIT
|
|
/*
|
|
* Apple M2 MacBook Air/Pro (M2, 2022)
|
|
*
|
|
* This file contains parts common to all Apple M2 devices using the t8112.
|
|
*
|
|
* target-type: J493, J413
|
|
*
|
|
* Copyright The Asahi Linux Contributors
|
|
*/
|
|
|
|
/ {
|
|
aliases {
|
|
atcphy0 = &atcphy0;
|
|
atcphy1 = &atcphy1;
|
|
serial0 = &serial0;
|
|
serial2 = &serial2;
|
|
};
|
|
|
|
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@800000000 {
|
|
device_type = "memory";
|
|
reg = <0x8 0 0x2 0>; /* To be filled by loader */
|
|
};
|
|
};
|
|
|
|
&serial0 {
|
|
status = "okay";
|
|
};
|
|
|
|
&serial2 {
|
|
status = "okay";
|
|
};
|
|
|
|
&i2c0 {
|
|
status = "okay";
|
|
|
|
hpm0: usb-pd@38 {
|
|
compatible = "apple,cd321x";
|
|
reg = <0x38>;
|
|
interrupt-parent = <&pinctrl_ap>;
|
|
interrupts = <8 IRQ_TYPE_LEVEL_LOW>;
|
|
interrupt-names = "irq";
|
|
|
|
typec0: connector {
|
|
compatible = "usb-c-connector";
|
|
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 = <8 IRQ_TYPE_LEVEL_LOW>;
|
|
interrupt-names = "irq";
|
|
|
|
typec1: connector {
|
|
compatible = "usb-c-connector";
|
|
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>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
/* 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>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
/* 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>;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&i2c1 {
|
|
status = "okay";
|
|
};
|
|
|
|
&i2c2 {
|
|
status = "okay";
|
|
};
|
|
|
|
&i2c3 {
|
|
status = "okay";
|
|
};
|
|
|
|
&nco_clkref {
|
|
clock-frequency = <900000000>;
|
|
};
|
|
|
|
#include "spi1-nvram.dtsi"
|