The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/Bindings/clock/ti/mux.txt

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 Binding for TI mux clock.
    2 
    3 Binding status: Unstable - ABI compatibility may be broken in the future
    4 
    5 This binding uses the common clock binding[1].  It assumes a
    6 register-mapped multiplexer with multiple input clock signals or
    7 parents, one of which can be selected as output.  This clock does not
    8 gate or adjust the parent rate via a divider or multiplier.
    9 
   10 By default the "clocks" property lists the parents in the same order
   11 as they are programmed into the regster.  E.g:
   12 
   13         clocks = <&foo_clock>, <&bar_clock>, <&baz_clock>;
   14 
   15 results in programming the register as follows:
   16 
   17 register value          selected parent clock
   18 0                       foo_clock
   19 1                       bar_clock
   20 2                       baz_clock
   21 
   22 Some clock controller IPs do not allow a value of zero to be programmed
   23 into the register, instead indexing begins at 1.  The optional property
   24 "index-starts-at-one" modified the scheme as follows:
   25 
   26 register value          selected clock parent
   27 1                       foo_clock
   28 2                       bar_clock
   29 3                       baz_clock
   30 
   31 The binding must provide the register to control the mux. Optionally
   32 the number of bits to shift the control field in the register can be
   33 supplied. If the shift value is missing it is the same as supplying
   34 a zero shift.
   35 
   36 [1] Documentation/devicetree/bindings/clock/clock-bindings.txt
   37 
   38 Required properties:
   39 - compatible : shall be "ti,mux-clock" or "ti,composite-mux-clock".
   40 - #clock-cells : from common clock binding; shall be set to 0.
   41 - clocks : link phandles of parent clocks
   42 - reg : register offset for register controlling adjustable mux
   43 
   44 Optional properties:
   45 - clock-output-names : from common clock binding.
   46 - ti,bit-shift : number of bits to shift the bit-mask, defaults to
   47   0 if not present
   48 - ti,index-starts-at-one : valid input select programming starts at 1, not
   49   zero
   50 - ti,set-rate-parent : clk_set_rate is propagated to parent clock,
   51   not supported by the composite-mux-clock subtype
   52 - ti,latch-bit : latch the mux value to HW, only needed if the register
   53   access requires this. As an example, dra7x DPLL_GMAC H14 muxing
   54   implements such behavior.
   55 
   56 Examples:
   57 
   58 sys_clkin_ck: sys_clkin_ck@4a306110 {
   59         #clock-cells = <0>;
   60         compatible = "ti,mux-clock";
   61         clocks = <&virt_12000000_ck>, <&virt_13000000_ck>, <&virt_16800000_ck>, <&virt_19200000_ck>, <&virt_26000000_ck>, <&virt_27000000_ck>, <&virt_38400000_ck>;
   62         reg = <0x0110>;
   63         ti,index-starts-at-one;
   64 };
   65 
   66 abe_dpll_bypass_clk_mux_ck: abe_dpll_bypass_clk_mux_ck@4a306108 {
   67         #clock-cells = <0>;
   68         compatible = "ti,mux-clock";
   69         clocks = <&sys_clkin_ck>, <&sys_32k_ck>;
   70         ti,bit-shift = <24>;
   71         reg = <0x0108>;
   72 };
   73 
   74 mcbsp5_mux_fck: mcbsp5_mux_fck {
   75         #clock-cells = <0>;
   76         compatible = "ti,composite-mux-clock";
   77         clocks = <&core_96m_fck>, <&mcbsp_clks>;
   78         ti,bit-shift = <4>;
   79         reg = <0x02d8>;
   80 };

Cache object: 10123a3745339bf8b29ffdba2dc60d38


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.