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/mfd/atmel-tcb.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 * Device tree bindings for Atmel Timer Counter Blocks
    2 - compatible: Should be "atmel,<chip>-tcb", "simple-mfd", "syscon".
    3   <chip> can be "at91rm9200" or "at91sam9x5"
    4 - reg: Should contain registers location and length
    5 - #address-cells: has to be 1
    6 - #size-cells: has to be 0
    7 - interrupts: Should contain all interrupts for the TC block
    8   Note that you can specify several interrupt cells if the TC
    9   block has one interrupt per channel.
   10 - clock-names: tuple listing input clock names.
   11         Required elements: "t0_clk", "slow_clk"
   12         Optional elements: "t1_clk", "t2_clk"
   13 - clocks: phandles to input clocks.
   14 
   15 The TCB can expose multiple subdevices:
   16  * a timer
   17    - compatible: Should be "atmel,tcb-timer"
   18    - reg: Should contain the TCB channels to be used. If the
   19      counter width is 16 bits (at91rm9200-tcb), two consecutive
   20      channels are needed. Else, only one channel will be used.
   21 
   22 Examples:
   23 
   24 One interrupt per TC block:
   25         tcb0: timer@fff7c000 {
   26                 compatible = "atmel,at91rm9200-tcb", "simple-mfd", "syscon";
   27                 #address-cells = <1>;
   28                 #size-cells = <0>;
   29                 reg = <0xfff7c000 0x100>;
   30                 interrupts = <18 4>;
   31                 clocks = <&tcb0_clk>, <&clk32k>;
   32                 clock-names = "t0_clk", "slow_clk";
   33 
   34                 timer@0 {
   35                         compatible = "atmel,tcb-timer";
   36                         reg = <0>, <1>;
   37                 };
   38 
   39                 timer@2 {
   40                         compatible = "atmel,tcb-timer";
   41                         reg = <2>;
   42                 };
   43         };
   44 
   45 One interrupt per TC channel in a TC block:
   46         tcb1: timer@fffdc000 {
   47                 compatible = "atmel,at91rm9200-tcb", "simple-mfd", "syscon";
   48                 #address-cells = <1>;
   49                 #size-cells = <0>;
   50                 reg = <0xfffdc000 0x100>;
   51                 interrupts = <26 4>, <27 4>, <28 4>;
   52                 clocks = <&tcb1_clk>, <&clk32k>;
   53                 clock-names = "t0_clk", "slow_clk";
   54         };
   55 
   56 

Cache object: 714989bb493cd1ff99c7ec105b908b2b


[ 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.