hc
2023-02-18 a08c8b75ee83d7f62c9aefc23bfb42082aa4076c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
* ARM Primecell Peripherals
 
ARM, Ltd. Primecell peripherals have a standard id register that can be used to
identify the peripheral type, vendor, and revision. This value can be used for
driver matching.
 
Required properties:
 
- compatible : should be a specific name for the peripheral and
               "arm,primecell".  The specific name will match the ARM
               engineering name for the logic block in the form: "arm,pl???"
 
Optional properties:
 
- arm,primecell-periphid : Value to override the h/w value with
- clocks : From common clock binding. First clock is phandle to clock for apb
   pclk. Additional clocks are optional and specific to those peripherals.
- clock-names : From common clock binding. Shall be "apb_pclk" for first clock.
- dmas : From common DMA binding. If present, refers to one or more dma channels.
- dma-names : From common DMA binding, needs to match the 'dmas' property.
              Devices with exactly one receive and transmit channel shall name
              these "rx" and "tx", respectively.
- pinctrl-<n> : Pinctrl states as described in bindings/pinctrl/pinctrl-bindings.txt
- pinctrl-names : Names corresponding to the numbered pinctrl states
- interrupts : one or more interrupt specifiers
- interrupt-names : names corresponding to the interrupts properties
 
Example:
 
serial@fff36000 {
   compatible = "arm,pl011", "arm,primecell";
   arm,primecell-periphid = <0x00341011>;
 
   clocks = <&pclk>;
   clock-names = "apb_pclk";
 
   dmas = <&dma-controller 4>, <&dma-controller 5>;
   dma-names = "rx", "tx";    
 
   pinctrl-0 = <&uart0_default_mux>, <&uart0_default_mode>;
   pinctrl-1 = <&uart0_sleep_mode>;
   pinctrl-names = "default","sleep";
 
   interrupts = <0 11 0x4>;
};