// 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"