forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag 'zynqmp-soc-for-v5.1' of https://github.com/Xilinx/linux-xlnx…
… into arm/drivers arm64: zynqmp: SoC changes for v5.1 - Extend firmware interface with reset, nvmem, power management and power domain support - Add reset, nvmem driver, power management and power domain drivers - * tag 'zynqmp-soc-for-v5.1' of https://github.com/Xilinx/linux-xlnx: drivers: soc: xilinx: Add ZynqMP power domain driver firmware: xilinx: Add APIs to control node status/power dt-bindings: power: Add ZynqMP power domain bindings drivers: soc: xilinx: Add ZynqMP PM driver firmware: xilinx: Implement ZynqMP power management APIs dt-bindings: soc: Add ZynqMP PM bindings nvmem: zynqmp: Added zynqmp nvmem firmware driver dt-bindings: nvmem: Add bindings for ZynqMP nvmem driver firmware: xilinx: Add zynqmp_pm_get_chipid() API reset: reset-zynqmp: Adding support for Xilinx zynqmp reset controller. dt-bindings: reset: Add bindings for ZynqMP reset driver firmware: xilinx: Add reset API's Signed-off-by: Arnd Bergmann <[email protected]>
- Loading branch information
Showing
18 changed files
with
1,411 additions
and
0 deletions.
There are no files selected for viewing
46 changes: 46 additions & 0 deletions
46
Documentation/devicetree/bindings/nvmem/xlnx,zynqmp-nvmem.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
-------------------------------------------------------------------------- | ||
= Zynq UltraScale+ MPSoC nvmem firmware driver binding = | ||
-------------------------------------------------------------------------- | ||
The nvmem_firmware node provides access to the hardware related data | ||
like soc revision, IDCODE... etc, By using the firmware interface. | ||
|
||
Required properties: | ||
- compatible: should be "xlnx,zynqmp-nvmem-fw" | ||
|
||
= Data cells = | ||
Are child nodes of silicon id, bindings of which as described in | ||
bindings/nvmem/nvmem.txt | ||
|
||
------- | ||
Example | ||
------- | ||
firmware { | ||
zynqmp_firmware: zynqmp-firmware { | ||
compatible = "xlnx,zynqmp-firmware"; | ||
method = "smc"; | ||
|
||
nvmem_firmware { | ||
compatible = "xlnx,zynqmp-nvmem-fw"; | ||
#address-cells = <1>; | ||
#size-cells = <1>; | ||
|
||
/* Data cells */ | ||
soc_revision: soc_revision { | ||
reg = <0x0 0x4>; | ||
}; | ||
}; | ||
}; | ||
}; | ||
|
||
= Data consumers = | ||
Are device nodes which consume nvmem data cells. | ||
|
||
For example: | ||
pcap { | ||
... | ||
|
||
nvmem-cells = <&soc_revision>; | ||
nvmem-cell-names = "soc_revision"; | ||
|
||
... | ||
}; |
25 changes: 25 additions & 0 deletions
25
Documentation/devicetree/bindings/power/reset/xlnx,zynqmp-power.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
-------------------------------------------------------------------- | ||
Device Tree Bindings for the Xilinx Zynq MPSoC Power Management | ||
-------------------------------------------------------------------- | ||
The zynqmp-power node describes the power management configurations. | ||
It will control remote suspend/shutdown interfaces. | ||
|
||
Required properties: | ||
- compatible: Must contain: "xlnx,zynqmp-power" | ||
- interrupts: Interrupt specifier | ||
|
||
------- | ||
Example | ||
------- | ||
|
||
firmware { | ||
zynqmp_firmware: zynqmp-firmware { | ||
compatible = "xlnx,zynqmp-firmware"; | ||
method = "smc"; | ||
|
||
zynqmp_power: zynqmp-power { | ||
compatible = "xlnx,zynqmp-power"; | ||
interrupts = <0 35 4>; | ||
}; | ||
}; | ||
}; |
34 changes: 34 additions & 0 deletions
34
Documentation/devicetree/bindings/power/xlnx,zynqmp-genpd.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,34 @@ | ||
----------------------------------------------------------- | ||
Device Tree Bindings for the Xilinx Zynq MPSoC PM domains | ||
----------------------------------------------------------- | ||
The binding for zynqmp-power-controller follow the common | ||
generic PM domain binding[1]. | ||
|
||
[1] Documentation/devicetree/bindings/power/power_domain.txt | ||
|
||
== Zynq MPSoC Generic PM Domain Node == | ||
|
||
Required property: | ||
- Below property should be in zynqmp-firmware node. | ||
- #power-domain-cells: Number of cells in a PM domain specifier. Must be 1. | ||
|
||
Power domain ID indexes are mentioned in | ||
include/dt-bindings/power/xlnx-zynqmp-power.h. | ||
|
||
------- | ||
Example | ||
------- | ||
|
||
firmware { | ||
zynqmp_firmware: zynqmp-firmware { | ||
... | ||
#power-domain-cells = <1>; | ||
... | ||
}; | ||
}; | ||
|
||
sata { | ||
... | ||
power-domains = <&zynqmp_firmware 28>; | ||
... | ||
}; |
52 changes: 52 additions & 0 deletions
52
Documentation/devicetree/bindings/reset/xlnx,zynqmp-reset.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
-------------------------------------------------------------------------- | ||
= Zynq UltraScale+ MPSoC reset driver binding = | ||
-------------------------------------------------------------------------- | ||
The Zynq UltraScale+ MPSoC has several different resets. | ||
|
||
See Chapter 36 of the Zynq UltraScale+ MPSoC TRM (UG) for more information | ||
about zynqmp resets. | ||
|
||
Please also refer to reset.txt in this directory for common reset | ||
controller binding usage. | ||
|
||
Required Properties: | ||
- compatible: "xlnx,zynqmp-reset" | ||
- #reset-cells: Specifies the number of cells needed to encode reset | ||
line, should be 1 | ||
|
||
------- | ||
Example | ||
------- | ||
|
||
firmware { | ||
zynqmp_firmware: zynqmp-firmware { | ||
compatible = "xlnx,zynqmp-firmware"; | ||
method = "smc"; | ||
|
||
zynqmp_reset: reset-controller { | ||
compatible = "xlnx,zynqmp-reset"; | ||
#reset-cells = <1>; | ||
}; | ||
}; | ||
}; | ||
|
||
Specifying reset lines connected to IP modules | ||
============================================== | ||
|
||
Device nodes that need access to reset lines should | ||
specify them as a reset phandle in their corresponding node as | ||
specified in reset.txt. | ||
|
||
For list of all valid reset indicies see | ||
<dt-bindings/reset/xlnx-zynqmp-resets.h> | ||
|
||
Example: | ||
|
||
serdes: zynqmp_phy@fd400000 { | ||
... | ||
|
||
resets = <&zynqmp_reset ZYNQMP_RESET_SATA>; | ||
reset-names = "sata_rst"; | ||
|
||
... | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.