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