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