hc
2023-11-07 5e8555e3ea324daaf0e38422bcba48c4df33a0d9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
* UCTL SATA controller glue
 
UCTL is the bridge unit between the I/O interconnect (an internal bus)
and the SATA AHCI host controller (UAHC). It performs the following functions:
   - provides interfaces for the applications to access the UAHC AHCI
     registers on the CN71XX I/O space.
   - provides a bridge for UAHC to fetch AHCI command table entries and data
     buffers from Level 2 Cache.
   - posts interrupts to the CIU.
   - contains registers that:
       - control the behavior of the UAHC
       - control the clock/reset generation to UAHC
       - control endian swapping for all UAHC registers and DMA accesses
 
Properties:
 
- compatible: "cavium,octeon-7130-sata-uctl"
 
  Compatibility with the cn7130 SOC.
 
- reg: The base address of the UCTL register bank.
 
- #address-cells, #size-cells, ranges and dma-ranges must be present and hold
   suitable values to map all child nodes.
 
Example:
 
   uctl@118006c000000 {
       compatible = "cavium,octeon-7130-sata-uctl";
       reg = <0x11800 0x6c000000 0x0 0x100>;
       ranges; /* Direct mapping */
       dma-ranges;
       #address-cells = <2>;
       #size-cells = <2>;
 
       sata: sata@16c0000000000 {
           compatible = "cavium,octeon-7130-ahci";
           reg = <0x16c00 0x00000000 0x0 0x200>;
           interrupt-parent = <&cibsata>;
           interrupts = <2 4>; /* Bit: 2, level */
       };
   };