Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
653f537
dt-bindings: pci: apple,pcie: Add T6050 hosts adopted from the boot l…
funkzy Nov 2, 2026
ca6cac8
PCI: apple: Adopt T6050 root ports the boot loader trained
funkzy Nov 2, 2026
3bb54de
PCI: Add pci_trylock_rescan_remove()
DjDeveloperr Oct 26, 2026
d3ea577
PCI: apple: Add the T6050 port reset, enable, configure and train seq…
erikwb Nov 5, 2026
554bacb
PCI: apple: Adopt T6050 port 0's multi-function N1 and reset its root…
funkzy Nov 4, 2026
5843113
PCI: apple: Drive T6050 port 0's PERST# through the pin controller
funkzy Nov 3, 2026
704b66f
selftests: apple: Preserve multiline PCIe macros in policy tests
erikwb Nov 8, 2026
d1ccc58
phy: apple: Add T6050 DisplayPort and USB combo PHY
DjDeveloperr Oct 26, 2026
ad990d3
dt-bindings: phy: apple,t6050-dp-phy: Allow the USB domain on combo PHYs
funkzy Nov 2, 2026
42b87ef
phy: apple: t6050: Hold the USB domain for the combo PHY's USB2 banks
funkzy Nov 2, 2026
4ef9db4
dt-bindings: phy: apple,t6050-dp-phy: Type apple,port-index as uint32
funkzy Nov 3, 2026
8b23bd4
usb: dwc3: apple: Add the bare-metal T6050 controller
funkzy Nov 4, 2026
498e9b1
selftests: apple: Model phy_reset() in the dwc3-apple host tests
RyanTheTide Nov 9, 2026
44826a0
phy: apple: t6050: Enable the dummy PIPE PHY for the USB3 lock
funkzy Nov 4, 2026
4e780eb
phy: apple: t6050: Stay on USB2 when the PIPE never left the dummy
funkzy Nov 4, 2026
931f247
phy: apple: t6050: Accept every Type-C port but the debug port
funkzy Nov 3, 2026
03a0475
arm64: dts: apple: j716c: Add the right USB-C port (ATC2)
erikwb Nov 4, 2026
a1d086a
phy: apple: t6050: carry on when the PIPE lock is not acknowledged
erikwb Nov 4, 2026
1856c66
reset: apple-cio: add the T6050 CIO reconfig request
erikwb Nov 3, 2026
4aee080
dt-bindings: phy: apple,t6050-dp-phy: Add the CIO tunables
erikwb Nov 4, 2026
8726ee8
phy: apple: t6050: add the CIO (USB4/Thunderbolt) mode
erikwb Nov 4, 2026
024beea
dt-bindings: thunderbolt: apple: Add the T6050 router and NHI
erikwb Nov 4, 2026
ea31a9a
thunderbolt: apple: support the T6050 host routers
erikwb Nov 4, 2026
ab6654b
dt-bindings: iommu: apple,dart: Describe the setup of a DART nothing …
erikwb Nov 4, 2026
331043f
iommu: apple-dart: set up a T8110 DART that nothing initialised
erikwb Nov 4, 2026
1102e10
arm64: dts: apple: j716c: Add the right port's USB4/Thunderbolt router
erikwb Nov 4, 2026
a0b688d
phy: apple: t6050: park the PIPE from a dummy producer on any clock
erikwb Nov 4, 2026
178e80c
thunderbolt: Ignore DROM entries for ports the router does not implement
erikwb Nov 4, 2026
a1d6ef9
phy: apple: t6050: restart the PHY firmware on its original data
erikwb Nov 4, 2026
625229d
phy: apple: t6050: carry USB3 over a USB4 router's tunnel
erikwb Nov 4, 2026
37f3967
dt-bindings: pci: apple,pcie: Add the T6050 PCIe-C tunnel
erikwb Nov 4, 2026
b1ffa47
PCI: apple: support the T6050 PCIe-C tunnel
erikwb Nov 4, 2026
79432bf
thunderbolt: apple: recognize the T6050 PCIe-C host
erikwb Nov 4, 2026
ec54852
arm64: dts: apple: j716c: Add the right port's PCIe tunnel
erikwb Nov 4, 2026
5a99d43
mux: apple-display-crossbar: Accept busy T6050 connection status
erikwb Nov 9, 2026
0c906eb
usb: typec: tipd: Restore J716c dock USB across boot
erikwb Nov 9, 2026
371a42c
selftests: apple-dcp: Stub the inherited-connection reset in the tipd…
RyanTheTide Nov 9, 2026
b4d99c2
usb: typec: tipd: Wait for the inherited disconnect task
erikwb Nov 9, 2026
a442efa
usb: typec: tipd: preserve dry result during LDCM startup
erikwb Nov 9, 2026
0471ea2
usb: typec: tipd: disable LDCM work during removal
erikwb Nov 9, 2026
0f2bdec
dt-bindings: phy: Drop the duplicate T6050 combo PHY schema
DjDeveloperr Nov 9, 2026
3b7ab89
Merge integration/aurora into the J716c USB4 merge train
DjDeveloperr Nov 9, 2026
4df5c8c
arm64: dts: apple: Describe the J716c camera capture resources
erikwb Nov 8, 2026
955b697
arm64: dts: apple: Describe the J714s camera capture resources
DjDeveloperr Nov 9, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 18 additions & 2 deletions Documentation/devicetree/bindings/iommu/apple,dart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -165,9 +165,25 @@ properties:
items:
maximum: 255
description:
Reserved streams of a USB4 PCIe tunnel DART that its PCIe-C port issues
Streams set to bypass after every reset of the DART, outside any domain.
On a USB4 PCIe tunnel DART, the reserved streams its PCIe-C port issues
its own writes on, such as the interrupt controller writes its MSIs
turn into. They are set to bypass after every reset of the DART.
turn into. On a T8110 DART that nothing initialises before Linux, such
as a USB4 router's, the streams its co-processor uses without
translation.

apple,full-error-reporting:
type: boolean
description:
Unmask every error and enable the error interrupt for every stream,
with the registers of the DART's revision, and leave the DART unlocked
on error. For a T8110 DART that nothing initialises before Linux.

apple,ctc-flush:
type: boolean
description:
Flush the DART's context cache after a stream flush, where the DART
has one. For a T8110 DART that nothing initialises before Linux.

apple,remap-streams:
$ref: /schemas/types.yaml#/definitions/uint32-matrix
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) AND GPL-2.0-only
%YAML 1.2
---
$id: http://devicetree.org/schemas/mux/apple,display-crossbar.yaml#
Expand All @@ -11,8 +11,8 @@ maintainers:

description:
Routes display pipelines to the DisplayPort transmitters and inputs
of an Apple Type-C PHY. Each crossbar exposes three mux controls,
selected by the consumer's mux specifier.
of an Apple Type-C PHY. Older layouts expose three mux controls; the T8142/T6050 layout
exposes five. The consumer selects an output using the mux specifier.

allOf:
- $ref: mux-controller.yaml#
Expand Down
61 changes: 55 additions & 6 deletions Documentation/devicetree/bindings/pci/apple,pcie.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@ properties:
- const: apple,t8112-pciec
- const: apple,t8103-pciec
- const: apple,t6000-pciec
- const: apple,t6050-pciec
- items:
- const: apple,t8132-pciec
- const: apple,t8122-pciec
Expand All @@ -98,11 +99,11 @@ properties:

reg:
minItems: 3
maxItems: 11
maxItems: 14

reg-names:
minItems: 3
maxItems: 11
maxItems: 14

ranges:
minItems: 2
Expand All @@ -128,8 +129,7 @@ properties:
apple,msi-vector-base:
$ref: /schemas/types.yaml#/definitions/uint32
description:
First vector of this PCIe-C controller's slice of the MSI window it
shares with the internal PCIe controller.
First global vector targeted by this controller's local MSI map.

iommu-map: true
iommu-map-mask: true
Expand Down Expand Up @@ -234,6 +234,52 @@ allOf:
- apple,msi-vector-base
- $ref: /schemas/pci/pci-host-bridge.yaml#
- $ref: /schemas/interrupt-controller/msi-controller.yaml#
- if:
properties:
compatible:
contains:
const: apple,t6050-pcie
then:
properties:
reg:
minItems: 5
maxItems: 14
reg-names:
description:
config and rc, then port<n>, phy<n> and intr2axi<n> for each
bootloader-trained root port 00:<n>.0.
minItems: 5
maxItems: 14
items:
pattern: "^(config|rc|(port|phy|intr2axi)[0-3])$"
interrupts:
maxItems: 4
interrupt-names:
items:
pattern: "^port[0-3]$"
apple,msi-vector-base:
const: 64
power-domains: false
required:
- interrupt-names
- apple,msi-vector-base
- iommu-map
patternProperties:
"^pci@":
properties:
reset-gpios:
description:
The PERST# line of a port whose endpoint needs a root-port
reset after the bootloader trained the link. Left as the
bootloader set it until that reset.
pwren-gpios: false
required:
- apple,link-trained-by-bootloader
else:
patternProperties:
"^pci@":
properties:
apple,link-trained-by-bootloader: false
- if:
properties:
compatible:
Expand Down Expand Up @@ -273,6 +319,7 @@ allOf:
- apple,t8103-pciec
- apple,t6000-pciec
- apple,t6040-pciec
- apple,t6050-pciec
then:
properties:
reg:
Expand Down Expand Up @@ -390,10 +437,10 @@ allOf:
properties:
reg:
minItems: 5
maxItems: 11
maxItems: 14
reg-names:
minItems: 5
maxItems: 11
maxItems: 14
items:
enum: [config, rc, port0, phy0, intr2axi0, port1, phy1,
intr2axi1, port2, phy2, intr2axi2, port3, phy3,
Expand All @@ -420,6 +467,8 @@ allOf:
maxItems: 3
else:
properties:
reg:
maxItems: 10
reg-names:
minItems: 3
items:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,9 @@ description: |
On t8142, a standalone register page contains a shared request register
with alternating request and busy bits for four ports.

On t6050 the same request register sits at offset 0x60 of a page in the
die's PMGR block.

In all cases the reset id is the CIO port index on the die.

properties:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,8 @@ properties:
PCIe adapter configuration space of the USB4 router. Present where
the root complex exposes the adapter separately, so that the tunnel
can be configured before a PCIe-C link is brought up.
- description: MxWrap co-processor control registers
- description: MxWrap co-processor control registers, on T8132 and T6050
- description: PCIe router AP firmware registers, on T6050

reg-names:
oneOf:
Expand All @@ -62,6 +63,7 @@ properties:
- const: sram
- const: pcie-adapter
- const: cpu
- const: router-ap-fw
- description: T6050, which has no separate PCIe adapter window
items:
- const: rc
Expand All @@ -87,12 +89,12 @@ properties:

power-domains:
minItems: 3
maxItems: 4
maxItems: 5
description: |
The first three domains power the ACIO co-processor complex. When
apple,pcie-tunnel is present, the fourth domain powers its PCIe-C
The first three domains (four on T6050, the fourth being the routers'
shared audio (AUSS) domain) power the ACIO co-processor complex. When
apple,pcie-tunnel is present, the domain after them powers its PCIe-C
controller and is enabled only after the USB4 PCIe tunnel is active.
On T6050 the fourth domain is the routers' shared audio (AUSS) domain.

thunderbolt-switch:
type: boolean
Expand Down Expand Up @@ -135,6 +137,18 @@ properties:
named by the pcie-adapter reg entry. Only meaningful where that entry is
present.

apple,tunable-router-ap-fw:
$ref: /schemas/types.yaml#/definitions/uint32-matrix
items:
items:
- description: Register offset
- description: Mask of bits to clear
- description: Bits to set
description: |
As apple,tunable-rc, but applied to the PCIe router AP firmware
registers named by the router-ap-fw reg entry, with the other router
tunables once the co-processor firmware is ready.

'#address-cells':
const: 1

Expand Down Expand Up @@ -216,6 +230,16 @@ allOf:
minItems: 4
reg-names:
minItems: 4
- if:
properties:
compatible:
contains:
enum:
- apple,t6040-usb4-acio
- apple,t6050-usb4-acio
- apple,t8132-usb4-acio
then:
properties:
pinctrl-names:
items:
- const: lstx
Expand All @@ -237,6 +261,20 @@ allOf:
required:
- iommu@a80000
- nhi@f00000
- if:
properties:
compatible:
contains:
const: apple,t6050-usb4-acio
then:
properties:
power-domains:
minItems: 4
else:
properties:
power-domains:
maxItems: 4
apple,tunable-router-ap-fw: false

additionalProperties: false

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,10 +52,12 @@ properties:
interrupts:
description:
One interrupt for each of the 12 transmit rings followed by one for each
of the 12 receive rings.
maxItems: 24
of the 12 receive rings. On T6050 an SRAM parity interrupt follows them.
minItems: 24
maxItems: 25

interrupt-names:
minItems: 24
items:
- const: txring0
- const: txring1
Expand All @@ -81,6 +83,7 @@ properties:
- const: rxring9
- const: rxring10
- const: rxring11
- const: parity

iommus:
minItems: 1
Expand Down Expand Up @@ -177,4 +180,17 @@ allOf:
iommus:
maxItems: 1

- if:
properties:
compatible:
not:
contains:
const: apple,t6050-usb4-nhi
then:
properties:
interrupts:
maxItems: 24
interrupt-names:
maxItems: 24

additionalProperties: false
36 changes: 33 additions & 3 deletions Documentation/devicetree/bindings/usb/apple,dwc3.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,23 @@ allOf:
required:
- resets
- usb-role-switch
- if:
properties:
compatible:
contains:
const: apple,t6050-dwc3
then:
properties:
reg:
minItems: 3
reg-names:
minItems: 3
else:
properties:
reg:
maxItems: 3
reg-names:
maxItems: 3

$defs:
apple,tunable:
Expand All @@ -48,7 +65,7 @@ $defs:
- description: Bits to be set after applying the mask
description: >
Controller table from the device's Apple device tree, applied after
every core reset (T6040).
every core reset (T6040, T6050).

properties:
compatible:
Expand All @@ -74,14 +91,18 @@ properties:
items:
- description: Core DWC3 region
- description: Apple-specific DWC3 region
- description: Controller configuration block (T6040)
- description: Controller configuration block (T6040, T6050)
- description: Bulk fabric block (T6050)
- description: AUSBC debug block (T6050)

reg-names:
minItems: 2
items:
- const: dwc3-core
- const: dwc3-apple
- const: drd-cfg
- const: drd-bulk
- const: drd-ausbc

interrupts:
maxItems: 1
Expand Down Expand Up @@ -118,7 +139,16 @@ properties:
apple,tunable-cio:
$ref: "#/$defs/apple,tunable"
description:
Tunables applied to the CIO (USB4 tunnel) registers of the Apple region.
Tunables applied to the CIO registers of the Apple region, from offset
0x20 of that region, after the driver's fixed CIO values.

apple,tunable-bulk:
$ref: "#/$defs/apple,tunable"
description: Tunables applied to the drd-bulk region.

apple,tunable-ausbc:
$ref: "#/$defs/apple,tunable"
description: Tunables applied to the drd-ausbc region.

required:
- compatible
Expand Down
7 changes: 7 additions & 0 deletions Documentation/devicetree/bindings/usb/apple,sn201202x.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,13 @@ properties:
connector:
$ref: /schemas/connector/usb-connector.yaml#

apple,reset-inherited-usb2-connection:
type: boolean
description:
The boot USB port retains a USB2 repeater connection that cannot be
recovered by resetting the host PHY. Renegotiate a normal application
connection before starting the host controllers. Debug routes are preserved.

required:
- compatible
- reg
Expand Down
3 changes: 3 additions & 0 deletions arch/arm64/boot/dts/apple/t6050-j714s.dts
Original file line number Diff line number Diff line change
Expand Up @@ -46,3 +46,6 @@

#define T6050_J714S
#include "t6050-peripherals.dtsi"

/* The same T6050 camera as J716c (J714sAP ADT); the loader sets the J714s sensor type. */
#include "t6050-j716c-isp.dtsi"
Loading
Loading