From: Romain Naour <romain.naour@xxxxxxx> The ACSPCIE_PROXY_CTRL registers within the CTRL_MMR space of TI's J721e SoC are used to drive the reference clock to the PCIe Endpoint device via the PAD IO Buffers. Add the compatible for allowing the PCIe driver to obtain the regmap for the ACSPCIE_CTRL register within the System Controller device-tree node in order to enable the PAD IO Buffers. Using the ti,j721e-acspcie-proxy-ctrl compatible imply to use "Proxy1" address (1A090h) instead of "Proxy0" (18090h) to access CTRLMMR_ACSPCIE0_CTRL register: CTRLMMR_ACSPCIE0_CTRL Register (Proxy0 Offset = 18090h; Proxy1 Offset = 1A090h) "Proxy0" is used as the default access path that can be locked with the help of "CTRLMMR_LOCK0_KICK0" and "CTRLMMR_LOCK0_KICK1" registers. The Technical Reference Manual for J721e SoC with details of the ASCPCIE_CTRL registers is available at: https://www.ti.com/lit/zip/spruil1 Signed-off-by: Romain Naour <romain.naour@xxxxxxx> --- v5: - Add missing change to the J721e system controller binding to avoid DT check warning when the new acspcie0_proxy_ctrl (syscon) will be added to J721e system controller node (Andrew Davis). https://lore.kernel.org/linux-devicetree/90f47fae-a493-471d-8fe6-e7df741161be@xxxxxx/ - Explain why "Proxy1" address (1A090h) should be used while using ti,j721e-acspcie-proxy-ctrl compatible (Siddharth Vadapalli). https://lore.kernel.org/linux-devicetree/begojbvvrpyjfr3pye7mqwiw73ucw5ynepdfujssr4jx4vs33a@pwahnph3qesl/ v4: Add missing change in the second list (From Andrew Davis) [1] Rebase after the ti,j784s4-acspcie-proxy-ctrl compatible fix [2] [1] https://lore.kernel.org/linux-devicetree/20250103174524.28768-1-afd@xxxxxx/ [2] https://lore.kernel.org/linux-devicetree/20250103174524.28768-2-afd@xxxxxx/ v3: new commit --- Documentation/devicetree/bindings/mfd/syscon.yaml | 2 ++ .../bindings/soc/ti/ti,j721e-system-controller.yaml | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/Documentation/devicetree/bindings/mfd/syscon.yaml b/Documentation/devicetree/bindings/mfd/syscon.yaml index 0e68c69e7bc9..1f3e67f432e7 100644 --- a/Documentation/devicetree/bindings/mfd/syscon.yaml +++ b/Documentation/devicetree/bindings/mfd/syscon.yaml @@ -115,6 +115,7 @@ select: - ti,am625-dss-oldi-io-ctrl - ti,am62p-cpsw-mac-efuse - ti,am654-dss-oldi-io-ctrl + - ti,j721e-acspcie-proxy-ctrl - ti,j784s4-acspcie-proxy-ctrl - ti,j784s4-pcie-ctrl - ti,keystone-pllctrl @@ -213,6 +214,7 @@ properties: - ti,am625-dss-oldi-io-ctrl - ti,am62p-cpsw-mac-efuse - ti,am654-dss-oldi-io-ctrl + - ti,j721e-acspcie-proxy-ctrl - ti,j784s4-acspcie-proxy-ctrl - ti,j784s4-pcie-ctrl - ti,keystone-pllctrl diff --git a/Documentation/devicetree/bindings/soc/ti/ti,j721e-system-controller.yaml b/Documentation/devicetree/bindings/soc/ti/ti,j721e-system-controller.yaml index 378e9cc5fac2..16929218d611 100644 --- a/Documentation/devicetree/bindings/soc/ti/ti,j721e-system-controller.yaml +++ b/Documentation/devicetree/bindings/soc/ti/ti,j721e-system-controller.yaml @@ -68,6 +68,12 @@ patternProperties: description: The node corresponding to SoC chip identification. + "^syscon@[0-9a-f]+$": + type: object + $ref: /schemas/mfd/syscon.yaml# + description: + This is the ASPCIe control region. + required: - compatible - reg -- 2.47.1