Device Tree Clock bindings for ATL (Audio Tracking Logic) of DRA7 SoC. 
 | 
  
 | 
The ATL IP is used to generate clock to be used to synchronize baseband and 
 | 
audio codec. A single ATL IP provides four ATL clock instances sharing the same 
 | 
functional clock but can be configured to provide different clocks. 
 | 
ATL can maintain a clock averages to some desired frequency based on the bws/aws 
 | 
signals - can compensate the drift between the two ws signal. 
 | 
  
 | 
In order to provide the support for ATL and it's output clocks (which can be used 
 | 
internally within the SoC or external components) two sets of bindings is needed: 
 | 
  
 | 
Clock tree binding: 
 | 
This binding uses the common clock binding[1]. 
 | 
To be able to integrate the ATL clocks with DT clock tree. 
 | 
Provides ccf level representation of the ATL clocks to be used by drivers. 
 | 
Since the clock instances are part of a single IP this binding is used as a node 
 | 
for the DT clock tree, the IP driver is needed to handle the actual configuration 
 | 
of the IP. 
 | 
  
 | 
[1] Documentation/devicetree/bindings/clock/clock-bindings.txt 
 | 
  
 | 
Required properties: 
 | 
- compatible : shall be "ti,dra7-atl-clock" 
 | 
- #clock-cells : from common clock binding; shall be set to 0. 
 | 
- clocks : link phandles to functional clock of ATL 
 | 
  
 | 
Binding for the IP driver: 
 | 
This binding is used to configure the IP driver which is going to handle the 
 | 
configuration of the IP for the ATL clock instances. 
 | 
  
 | 
Required properties: 
 | 
- compatible : shall be "ti,dra7-atl" 
 | 
- reg : base address for the ATL IP 
 | 
- ti,provided-clocks : List of phandles to the clocks associated with the ATL 
 | 
- clocks : link phandles to functional clock of ATL 
 | 
- clock-names : Shall be set to "fck" 
 | 
- ti,hwmods : Shall be set to "atl" 
 | 
  
 | 
Optional properties: 
 | 
Configuration of ATL instances: 
 | 
- atl{0/1/2/3} { 
 | 
    - bws : Baseband word select signal selection 
 | 
    - aws : Audio word select signal selection 
 | 
}; 
 | 
  
 | 
For valid word select signals, see the dt-bindings/clk/ti-dra7-atl.h include 
 | 
file. 
 | 
  
 | 
Examples: 
 | 
/* clock bindings for atl provided clocks */ 
 | 
atl_clkin0_ck: atl_clkin0_ck { 
 | 
    #clock-cells = <0>; 
 | 
    compatible = "ti,dra7-atl-clock"; 
 | 
    clocks = <&atl_gfclk_mux>; 
 | 
}; 
 | 
  
 | 
atl_clkin1_ck: atl_clkin1_ck { 
 | 
    #clock-cells = <0>; 
 | 
    compatible = "ti,dra7-atl-clock"; 
 | 
    clocks = <&atl_gfclk_mux>; 
 | 
}; 
 | 
  
 | 
atl_clkin2_ck: atl_clkin2_ck { 
 | 
    #clock-cells = <0>; 
 | 
    compatible = "ti,dra7-atl-clock"; 
 | 
    clocks = <&atl_gfclk_mux>; 
 | 
}; 
 | 
  
 | 
atl_clkin3_ck: atl_clkin3_ck { 
 | 
    #clock-cells = <0>; 
 | 
    compatible = "ti,dra7-atl-clock"; 
 | 
    clocks = <&atl_gfclk_mux>; 
 | 
}; 
 | 
  
 | 
/* binding for the IP */ 
 | 
atl: atl@4843c000 { 
 | 
    compatible = "ti,dra7-atl"; 
 | 
    reg = <0x4843c000 0x3ff>; 
 | 
    ti,hwmods = "atl"; 
 | 
    ti,provided-clocks = <&atl_clkin0_ck>, <&atl_clkin1_ck>, 
 | 
                <&atl_clkin2_ck>, <&atl_clkin3_ck>; 
 | 
    clocks = <&atl_gfclk_mux>; 
 | 
    clock-names = "fck"; 
 | 
}; 
 | 
  
 | 
#include <dt-bindings/clk/ti-dra7-atl.h> 
 | 
  
 | 
&atl { 
 | 
  
 | 
    atl2 { 
 | 
        bws = <DRA7_ATL_WS_MCASP2_FSX>; 
 | 
        aws = <DRA7_ATL_WS_MCASP3_FSX>; 
 | 
    }; 
 | 
}; 
 |