mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
69a8c2452c
The Allwinner H6 SoC's DE3 needs the SRAM C section being claimed in the system controller to work, like A64 DE2. As H6 and A64 system controller are quite similar, code is reused now, and the A64 fallback compatible string is added after the H6 compatible string. Signed-off-by: Icenowy Zheng <icenowy@aosc.io> [fixed typo in compatible string] Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net> Reviewed-by: Chen-Yu Tsai <wens@csie.org> Signed-off-by: Chen-Yu Tsai <wens@csie.org>
104 lines
3.1 KiB
Plaintext
104 lines
3.1 KiB
Plaintext
Allwinnner SoC SRAM controllers
|
|
-----------------------------------------------------
|
|
|
|
The SRAM controller found on most Allwinner devices is represented by
|
|
a regular node for the SRAM controller itself, with sub-nodes
|
|
reprensenting the SRAM handled by the SRAM controller.
|
|
|
|
Controller Node
|
|
---------------
|
|
|
|
Required properties:
|
|
- compatible : should be:
|
|
- "allwinner,sun4i-a10-sram-controller" (deprecated)
|
|
- "allwinner,sun4i-a10-system-control"
|
|
- "allwinner,sun5i-a13-system-control"
|
|
- "allwinner,sun7i-a20-system-control", "allwinner,sun4i-a10-system-control"
|
|
- "allwinner,sun8i-a23-system-control"
|
|
- "allwinner,sun8i-h3-system-control"
|
|
- "allwinner,sun50i-a64-sram-controller" (deprecated)
|
|
- "allwinner,sun50i-a64-system-control"
|
|
- "allwinner,sun50i-h6-system-control", "allwinner,sun50i-a64-system-control"
|
|
- reg : sram controller register offset + length
|
|
|
|
SRAM nodes
|
|
----------
|
|
|
|
Each SRAM is described using the mmio-sram bindings documented in
|
|
Documentation/devicetree/bindings/sram/sram.txt
|
|
|
|
Each SRAM will have SRAM sections that are going to be handled by the
|
|
SRAM controller as subnodes. These sections are represented following
|
|
once again the representation described in the mmio-sram binding.
|
|
|
|
The valid sections compatible for A10 are:
|
|
- allwinner,sun4i-a10-sram-a3-a4
|
|
- allwinner,sun4i-a10-sram-c1
|
|
- allwinner,sun4i-a10-sram-d
|
|
|
|
The valid sections compatible for A13 are:
|
|
- allwinner,sun5i-a13-sram-a3-a4, allwinner,sun4i-a10-sram-a3-a4
|
|
- allwinner,sun5i-a13-sram-c1, allwinner,sun4i-a10-sram-c1
|
|
- allwinner,sun5i-a13-sram-d, allwinner,sun4i-a10-sram-d
|
|
|
|
The valid sections compatible for A20 are:
|
|
- allwinner,sun7i-a20-sram-a3-a4, allwinner,sun4i-a10-sram-a3-a4
|
|
- allwinner,sun7i-a20-sram-c1, allwinner,sun4i-a10-sram-c1
|
|
- allwinner,sun7i-a20-sram-d, allwinner,sun4i-a10-sram-d
|
|
|
|
The valid sections compatible for A23/A33 are:
|
|
- allwinner,sun8i-a23-sram-c1, allwinner,sun4i-a10-sram-c1
|
|
|
|
The valid sections compatible for H3 are:
|
|
- allwinner,sun8i-h3-sram-c1, allwinner,sun4i-a10-sram-c1
|
|
|
|
The valid sections compatible for A64 are:
|
|
- allwinner,sun50i-a64-sram-c
|
|
|
|
The valid sections compatible for H6 are:
|
|
- allwinner,sun50i-h6-sram-c, allwinner,sun50i-a64-sram-c
|
|
|
|
Devices using SRAM sections
|
|
---------------------------
|
|
|
|
Some devices need to request to the SRAM controller to map an SRAM for
|
|
their exclusive use.
|
|
|
|
The relationship between such a device and an SRAM section is
|
|
expressed through the allwinner,sram property, that will take a
|
|
phandle and an argument.
|
|
|
|
This valid values for this argument are:
|
|
- 0: CPU
|
|
- 1: Device
|
|
|
|
Example
|
|
-------
|
|
system-control@1c00000 {
|
|
compatible = "allwinner,sun4i-a10-system-control";
|
|
reg = <0x01c00000 0x30>;
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
ranges;
|
|
|
|
sram_a: sram@00000000 {
|
|
compatible = "mmio-sram";
|
|
reg = <0x00000000 0xc000>;
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
ranges = <0 0x00000000 0xc000>;
|
|
|
|
emac_sram: sram-section@8000 {
|
|
compatible = "allwinner,sun4i-a10-sram-a3-a4";
|
|
reg = <0x8000 0x4000>;
|
|
};
|
|
};
|
|
};
|
|
|
|
emac: ethernet@1c0b000 {
|
|
compatible = "allwinner,sun4i-a10-emac";
|
|
...
|
|
|
|
allwinner,sram = <&emac_sram 1>;
|
|
};
|