All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mika Westerberg <mika.westerberg@linux.intel.com>
To: Sven Peter <sven@kernel.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Rob Herring <robh@kernel.org>,
	Krzysztof Kozlowski <krzk+dt@kernel.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Heikki Krogerus <heikki.krogerus@linux.intel.com>,
	Janne Grunau <j@jannau.net>, Neal Gompa <neal@gompa.dev>,
	Andreas Noever <andreas.noever@gmail.com>,
	Mika Westerberg <westeri@kernel.org>,
	Yehezkel Bernat <YehezkelShB@gmail.com>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	Konrad Dybcio <konradybcio@kernel.org>,
	linux-usb@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, asahi@lists.linux.dev,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 17/19] arm64: dts: apple: t8103: Add USB4 ACIO and NHI
Date: Tue, 1 Sep 2026 12:20:41 +0200	[thread overview]
Message-ID: <20260901102041.GG106095@black.igk.intel.com> (raw)
In-Reply-To: <20260830-b4-apple-soc-tbt-v1-17-44bc9348683c@kernel.org>

On Sun, Aug 30, 2026 at 10:19:35PM +0200, Sven Peter wrote:
> Add the ACIO host router, NHI, DART and M3 mailbox nodes for both
> Type-C ports on t8103 and connect the host routers to the Type-C
> connectors.
> 
> Signed-off-by: Sven Peter <sven@kernel.org>
> ---
>  arch/arm64/boot/dts/apple/t8103-jxxx.dtsi |  61 ++++++++++
>  arch/arm64/boot/dts/apple/t8103.dtsi      | 188 ++++++++++++++++++++++++++++++
>  2 files changed, 249 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/apple/t8103-jxxx.dtsi b/arch/arm64/boot/dts/apple/t8103-jxxx.dtsi
> index 686fb1dd215d..acdefa2a0084 100644
> --- a/arch/arm64/boot/dts/apple/t8103-jxxx.dtsi
> +++ b/arch/arm64/boot/dts/apple/t8103-jxxx.dtsi
> @@ -17,6 +17,10 @@ aliases {
>  		wifi0 = &wifi0;
>  		atcphy0 = &atcphy0;
>  		atcphy1 = &atcphy1;
> +		usb4-0-acio = &usb4_0_acio;
> +		usb4-0-nhi = &usb4_0_nhi;
> +		usb4-1-acio = &usb4_1_acio;
> +		usb4-1-nhi = &usb4_1_nhi;
>  	};
>  
>  	chosen {
> @@ -76,6 +80,13 @@ typec0_connector_ss: endpoint {
>  						remote-endpoint = <&atcphy0_typec_lanes>;
>  					};
>  				};
> +
> +				port@2 {
> +					reg = <2>;
> +					typec0_con_tbt: endpoint {
> +						remote-endpoint = <&usb4_0_acio_tbt>;
> +					};
> +				};
>  			};
>  		};
>  	};
> @@ -107,6 +118,13 @@ typec1_connector_ss: endpoint {
>  						remote-endpoint = <&atcphy1_typec_lanes>;
>  					};
>  				};
> +
> +				port@2 {
> +					reg = <2>;
> +					typec1_con_tbt: endpoint {
> +						remote-endpoint = <&usb4_1_acio_tbt>;
> +					};
> +				};
>  			};
>  		};
>  	};
> @@ -198,6 +216,49 @@ atcphy1_usb3: endpoint {
>  	};
>  };
>  
> +/* USB4 */
> +&usb4_0_acio {
> +	ports {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +
> +		/* 1: USB4 port */
> +		port@1 {
> +			reg = <1>;
> +			usb4_0_acio_tbt: endpoint {
> +				remote-endpoint = <&typec0_con_tbt>;
> +			};
> +		};
> +
> +		/* 2: unused(?) USB4 port */

I'm assuming these are all adapters in a router so the 2 here is the lane 1
adapter. One USB4 port has always 2 lane adapters: lane 0 and lane 1.


> +		/* 3: PCIe */
> +		/* 4: USB3 */
> +		/* 5: DP0 */
> +		/* 6: DP1 */
> +	};
> +};
> +
> +&usb4_1_acio {
> +	ports {
> +		#address-cells = <1>;
> +		#size-cells = <0>;
> +
> +		/* 1: USB4 port */
> +		port@1 {
> +			reg = <1>;
> +			usb4_1_acio_tbt: endpoint {
> +				remote-endpoint = <&typec1_con_tbt>;
> +			};
> +		};
> +
> +		/* 2: unused(?) USB4 port */

Same here.

> +		/* 3: PCIe */
> +		/* 4: USB3 */
> +		/* 5: DP0 */
> +		/* 6: DP1 */
> +	};
> +};
> +
>  /*
>   * Force the bus number assignments so that we can declare some of the
>   * on-board devices and properties that are populated by the bootloader
> diff --git a/arch/arm64/boot/dts/apple/t8103.dtsi b/arch/arm64/boot/dts/apple/t8103.dtsi
> index 5b68bf0df4e6..f83ed8da9a42 100644
> --- a/arch/arm64/boot/dts/apple/t8103.dtsi
> +++ b/arch/arm64/boot/dts/apple/t8103.dtsi
> @@ -982,6 +982,14 @@ pinctrl_aop: pinctrl@24a820000 {
>  				     <AIC_IRQ 272 IRQ_TYPE_LEVEL_HIGH>,
>  				     <AIC_IRQ 273 IRQ_TYPE_LEVEL_HIGH>,
>  				     <AIC_IRQ 274 IRQ_TYPE_LEVEL_HIGH>;
> +
> +			acio0_pins: acio0-pins {
> +				pinmux = <APPLE_PINMUX(39, 1)>;
> +			};
> +
> +			acio1_pins: acio1-pins {
> +				pinmux = <APPLE_PINMUX(41, 1)>;
> +			};
>  		};
>  
>  		ans_mbox: mbox@277408000 {
> @@ -1018,6 +1026,96 @@ nvme@27bcc0000 {
>  			resets = <&ps_ans2>;
>  		};
>  
> +		usb4_0_mbox: mailbox@381100000 {
> +			compatible = "apple,t8103-m3-mailbox",
> +				"apple,m3-mailbox-v2";
> +			reg = <0x3 0x81100000 0x0 0x4000>;
> +			interrupt-parent = <&aic>;
> +			interrupts = <AIC_IRQ 812 IRQ_TYPE_LEVEL_HIGH>,
> +				<AIC_IRQ 813 IRQ_TYPE_LEVEL_HIGH>,
> +				<AIC_IRQ 814 IRQ_TYPE_LEVEL_HIGH>,
> +				<AIC_IRQ 815 IRQ_TYPE_LEVEL_HIGH>;
> +			interrupt-names = "send-empty", "send-not-empty",
> +				"recv-empty", "recv-not-empty";
> +			#mbox-cells = <0>;
> +		};
> +
> +		usb4_0_acio: cio@381ac0000 {
> +			compatible = "apple,t8103-usb4-acio";
> +			reg = <0x3 0x81ac0000 0x0 0xc000>,
> +				<0x3 0x81080000 0x0 0x20000>;
> +			reg-names = "rc", "sram";
> +
> +			mboxes = <&usb4_0_mbox>;
> +			resets = <&cio_reset 0>;
> +
> +			power-domains = <&ps_atc0_cio>,
> +					<&ps_atc0_cio_pcie>,
> +					<&ps_atc0_cio_usb>;
> +
> +			thunderbolt-switch;
> +
> +			pinctrl-0 = <&acio0_pins>;
> +			pinctrl-names = "default";
> +
> +			#address-cells = <1>;
> +			#size-cells = <1>;
> +			ranges = <0x0 0x3 0x81000000 0x1000000>;
> +			nonposted-mmio;
> +
> +			usb4_0_dart: iommu@a80000 {
> +				compatible = "apple,t8103-dart";
> +				reg = <0xa80000 0x4000>;
> +				interrupt-parent = <&aic>;
> +				interrupts = <AIC_IRQ 810 IRQ_TYPE_LEVEL_HIGH>;
> +				#iommu-cells = <1>;
> +			};
> +
> +			usb4_0_nhi: nhi@f00000 {
> +				reg = <0xf00000 0x100000>,
> +					<0xdb0000 0x30004>;
> +				reg-names = "nhi", "pdf";
> +				compatible = "apple,t8103-usb4-nhi";
> +				interrupt-parent = <&aic>;
> +				interrupts = <AIC_IRQ 783 IRQ_TYPE_LEVEL_HIGH>,
> +					<AIC_IRQ 784 IRQ_TYPE_LEVEL_HIGH>,
> +					<AIC_IRQ 785 IRQ_TYPE_LEVEL_HIGH>,
> +					<AIC_IRQ 786 IRQ_TYPE_LEVEL_HIGH>,
> +					<AIC_IRQ 787 IRQ_TYPE_LEVEL_HIGH>,
> +					<AIC_IRQ 788 IRQ_TYPE_LEVEL_HIGH>,
> +					<AIC_IRQ 789 IRQ_TYPE_LEVEL_HIGH>,
> +					<AIC_IRQ 790 IRQ_TYPE_LEVEL_HIGH>,
> +					<AIC_IRQ 791 IRQ_TYPE_LEVEL_HIGH>,
> +					<AIC_IRQ 792 IRQ_TYPE_LEVEL_HIGH>,
> +					<AIC_IRQ 793 IRQ_TYPE_LEVEL_HIGH>,
> +					<AIC_IRQ 794 IRQ_TYPE_LEVEL_HIGH>,
> +					<AIC_IRQ 795 IRQ_TYPE_LEVEL_HIGH>,
> +					<AIC_IRQ 796 IRQ_TYPE_LEVEL_HIGH>,
> +					<AIC_IRQ 797 IRQ_TYPE_LEVEL_HIGH>,
> +					<AIC_IRQ 798 IRQ_TYPE_LEVEL_HIGH>,
> +					<AIC_IRQ 799 IRQ_TYPE_LEVEL_HIGH>,
> +					<AIC_IRQ 800 IRQ_TYPE_LEVEL_HIGH>,
> +					<AIC_IRQ 801 IRQ_TYPE_LEVEL_HIGH>,
> +					<AIC_IRQ 802 IRQ_TYPE_LEVEL_HIGH>,
> +					<AIC_IRQ 803 IRQ_TYPE_LEVEL_HIGH>,
> +					<AIC_IRQ 804 IRQ_TYPE_LEVEL_HIGH>,
> +					<AIC_IRQ 805 IRQ_TYPE_LEVEL_HIGH>,
> +					<AIC_IRQ 806 IRQ_TYPE_LEVEL_HIGH>;
> +				interrupt-names =
> +					"txring0", "txring1", "txring2",
> +					"txring3", "txring4", "txring5",
> +					"txring6", "txring7", "txring8",
> +					"txring9", "txring10", "txring11",
> +					"rxring0", "rxring1", "rxring2",
> +					"rxring3", "rxring4", "rxring5",
> +					"rxring6", "rxring7", "rxring8",
> +					"rxring9", "rxring10", "rxring11";
> +				iommus = <&usb4_0_dart 1>;
> +				/* To be filled by the loader */
> +				apple,thunderbolt-drom = [00];
> +			};
> +		};
> +
>  		dwc3_0: usb@382280000 {
>  			compatible = "apple,t8103-dwc3";
>  			reg = <0x3 0x82280000 0x0 0xcd00>, <0x3 0x8228cd00 0x0 0x3200>;
> @@ -1070,6 +1168,96 @@ atcphy0: phy@383000000 {
>  			power-domains = <&ps_atc0_usb>;
>  		};
>  
> +		usb4_1_mbox: mailbox@501100000 {
> +			compatible = "apple,t8103-m3-mailbox",
> +				"apple,m3-mailbox-v2";
> +			reg = <0x5 0x01100000 0x0 0x4000>;
> +			interrupt-parent = <&aic>;
> +			interrupts = <AIC_IRQ 892 IRQ_TYPE_LEVEL_HIGH>,
> +				<AIC_IRQ 893 IRQ_TYPE_LEVEL_HIGH>,
> +				<AIC_IRQ 894 IRQ_TYPE_LEVEL_HIGH>,
> +				<AIC_IRQ 895 IRQ_TYPE_LEVEL_HIGH>;
> +			interrupt-names = "send-empty", "send-not-empty",
> +				"recv-empty", "recv-not-empty";
> +			#mbox-cells = <0>;
> +		};
> +
> +		usb4_1_acio: cio@501ac0000 {
> +			compatible = "apple,t8103-usb4-acio";
> +			reg = <0x5 0x01ac0000 0x0 0xc000>,
> +				<0x5 0x01080000 0x0 0x20000>;
> +			reg-names = "rc", "sram";
> +
> +			mboxes = <&usb4_1_mbox>;
> +			resets = <&cio_reset 1>;
> +
> +			power-domains = <&ps_atc1_cio>,
> +					<&ps_atc1_cio_pcie>,
> +					<&ps_atc1_cio_usb>;
> +
> +			thunderbolt-switch;
> +
> +			pinctrl-0 = <&acio1_pins>;
> +			pinctrl-names = "default";
> +
> +			#address-cells = <1>;
> +			#size-cells = <1>;
> +			ranges = <0x0 0x5 0x01000000 0x1000000>;
> +			nonposted-mmio;
> +
> +			usb4_1_dart: iommu@a80000 {
> +				compatible = "apple,t8103-dart";
> +				reg = <0xa80000 0x4000>;
> +				interrupt-parent = <&aic>;
> +				interrupts = <AIC_IRQ 890 IRQ_TYPE_LEVEL_HIGH>;
> +				#iommu-cells = <1>;
> +			};
> +
> +			usb4_1_nhi: nhi@f00000 {
> +				reg = <0xf00000 0x100000>,
> +					<0xdb0000 0x30004>;
> +				reg-names = "nhi", "pdf";
> +				compatible = "apple,t8103-usb4-nhi";
> +				interrupt-parent = <&aic>;
> +				interrupts = <AIC_IRQ 863 IRQ_TYPE_LEVEL_HIGH>,
> +					<AIC_IRQ 864 IRQ_TYPE_LEVEL_HIGH>,
> +					<AIC_IRQ 865 IRQ_TYPE_LEVEL_HIGH>,
> +					<AIC_IRQ 866 IRQ_TYPE_LEVEL_HIGH>,
> +					<AIC_IRQ 867 IRQ_TYPE_LEVEL_HIGH>,
> +					<AIC_IRQ 868 IRQ_TYPE_LEVEL_HIGH>,
> +					<AIC_IRQ 869 IRQ_TYPE_LEVEL_HIGH>,
> +					<AIC_IRQ 870 IRQ_TYPE_LEVEL_HIGH>,
> +					<AIC_IRQ 871 IRQ_TYPE_LEVEL_HIGH>,
> +					<AIC_IRQ 872 IRQ_TYPE_LEVEL_HIGH>,
> +					<AIC_IRQ 873 IRQ_TYPE_LEVEL_HIGH>,
> +					<AIC_IRQ 874 IRQ_TYPE_LEVEL_HIGH>,
> +					<AIC_IRQ 875 IRQ_TYPE_LEVEL_HIGH>,
> +					<AIC_IRQ 876 IRQ_TYPE_LEVEL_HIGH>,
> +					<AIC_IRQ 877 IRQ_TYPE_LEVEL_HIGH>,
> +					<AIC_IRQ 878 IRQ_TYPE_LEVEL_HIGH>,
> +					<AIC_IRQ 879 IRQ_TYPE_LEVEL_HIGH>,
> +					<AIC_IRQ 880 IRQ_TYPE_LEVEL_HIGH>,
> +					<AIC_IRQ 881 IRQ_TYPE_LEVEL_HIGH>,
> +					<AIC_IRQ 882 IRQ_TYPE_LEVEL_HIGH>,
> +					<AIC_IRQ 883 IRQ_TYPE_LEVEL_HIGH>,
> +					<AIC_IRQ 884 IRQ_TYPE_LEVEL_HIGH>,
> +					<AIC_IRQ 885 IRQ_TYPE_LEVEL_HIGH>,
> +					<AIC_IRQ 886 IRQ_TYPE_LEVEL_HIGH>;
> +				interrupt-names =
> +					"txring0", "txring1", "txring2",
> +					"txring3", "txring4", "txring5",
> +					"txring6", "txring7", "txring8",
> +					"txring9", "txring10", "txring11",
> +					"rxring0", "rxring1", "rxring2",
> +					"rxring3", "rxring4", "rxring5",
> +					"rxring6", "rxring7", "rxring8",
> +					"rxring9", "rxring10", "rxring11";
> +				iommus = <&usb4_1_dart 1>;
> +				/* To be filled by the loader */
> +				apple,thunderbolt-drom = [00];
> +			};
> +		};
> +
>  		dwc3_1: usb@502280000 {
>  			compatible = "apple,t8103-dwc3";
>  			reg = <0x5 0x02280000 0x0 0xcd00>, <0x5 0x0228cd00 0x0 0x3200>;
> 
> -- 
> 2.55.0
> 

  reply	other threads:[~2026-09-01 10:20 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-30 20:19 [PATCH 00/19] Initial USB4/Thunderbolt support for Apple M1/M2/M3 SoCs Sven Peter
2026-08-30 20:19 ` [PATCH 01/19] dt-bindings: usb: Add thunderbolt-switch property Sven Peter
2026-08-30 20:19 ` [PATCH 02/19] usb: typec: Add thunderbolt switch Sven Peter
2026-08-30 20:30   ` sashiko-bot
2026-09-01 11:17   ` Heikki Krogerus
2026-09-01 18:53     ` Sven Peter
2026-08-30 20:19 ` [PATCH 03/19] usb: typec: tipd: Hook up Thunderbolt switch for CD321x Sven Peter
2026-08-30 20:36   ` sashiko-bot
2026-08-30 20:19 ` [PATCH 04/19] dt-bindings: thunderbolt: Add Apple USB4/Thunderbolt NHI Sven Peter
2026-08-30 20:19 ` [PATCH 05/19] dt-bindings: thunderbolt: Add Apple USB4/Thunderbolt ACIO block Sven Peter
2026-08-30 20:31   ` sashiko-bot
2026-08-30 20:19 ` [PATCH 06/19] thunderbolt: Try reading host DROM from device tree first Sven Peter
2026-08-30 20:33   ` sashiko-bot
2026-09-01  8:48   ` Mika Westerberg
2026-08-30 20:19 ` [PATCH 07/19] thunderbolt: Don't read the UID if we already know it Sven Peter
2026-08-30 20:19 ` [PATCH 08/19] thunderbolt: Allocate ring HopID before requesting the ring interrupt Sven Peter
2026-08-30 20:32   ` sashiko-bot
2026-08-30 20:19 ` [PATCH 09/19] thunderbolt: Add ring_interrupt_active to tb_nhi_ops Sven Peter
2026-08-30 20:19 ` [PATCH 10/19] thunderbolt: Make the ring register layout configurable Sven Peter
2026-09-01  8:58   ` Mika Westerberg
2026-09-01 18:56     ` Sven Peter
2026-08-30 20:19 ` [PATCH 11/19] thunderbolt: Add ring_interrupt_mask to tb_nhi_ops Sven Peter
2026-08-30 20:19 ` [PATCH 12/19] thunderbolt: Add ring_configure " Sven Peter
2026-08-30 20:28   ` sashiko-bot
2026-08-30 20:19 ` [PATCH 13/19] thunderbolt: Add QUIRK_NO_DMA_PORT Sven Peter
2026-09-01  9:04   ` Mika Westerberg
2026-09-01 17:06     ` Sven Peter
2026-08-30 20:19 ` [PATCH 14/19] thunderbolt: Add QUIRK_NO_USB3_BW_ALLOC Sven Peter
2026-09-01  9:12   ` Mika Westerberg
2026-08-30 20:19 ` [PATCH 15/19] thunderbolt: Export symbols required by the Apple Silicon driver Sven Peter
2026-08-30 20:19 ` [PATCH 16/19] thunderbolt: Add Apple Silicon support Sven Peter
2026-08-30 20:39   ` sashiko-bot
2026-09-01 10:09   ` Mika Westerberg
2026-09-01 19:06     ` Sven Peter
2026-08-30 20:19 ` [PATCH 17/19] arm64: dts: apple: t8103: Add USB4 ACIO and NHI Sven Peter
2026-09-01 10:20   ` Mika Westerberg [this message]
2026-08-30 20:19 ` [PATCH 18/19] arm64: dts: apple: t8112: " Sven Peter
2026-08-30 20:39   ` sashiko-bot
2026-08-30 20:19 ` [PATCH 19/19] arm64: dts: apple: t60xx: " Sven Peter
2026-08-31 17:44 ` [PATCH 00/19] Initial USB4/Thunderbolt support for Apple M1/M2/M3 SoCs Joshua Peisach

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260901102041.GG106095@black.igk.intel.com \
    --to=mika.westerberg@linux.intel.com \
    --cc=YehezkelShB@gmail.com \
    --cc=andreas.noever@gmail.com \
    --cc=asahi@lists.linux.dev \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=heikki.krogerus@linux.intel.com \
    --cc=j@jannau.net \
    --cc=konradybcio@kernel.org \
    --cc=krzk+dt@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=neal@gompa.dev \
    --cc=p.zabel@pengutronix.de \
    --cc=robh@kernel.org \
    --cc=sven@kernel.org \
    --cc=westeri@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.