123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- 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";
- status = "disabled";
- };
- #include <dt-bindings/clk/ti-dra7-atl.h>
- &atl {
- status = "okay";
- atl2 {
- bws = <DRA7_ATL_WS_MCASP2_FSX>;
- aws = <DRA7_ATL_WS_MCASP3_FSX>;
- };
- };
|