xref: /freebsd/sys/contrib/device-tree/Bindings/clock/marvell,armada-3700-uart-clock.yaml (revision c9ccf3a32da427475985b85d7df023ccfb138c27)
1*c9ccf3a3SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2*c9ccf3a3SEmmanuel Vadot%YAML 1.2
3*c9ccf3a3SEmmanuel Vadot---
4*c9ccf3a3SEmmanuel Vadot$id: http://devicetree.org/schemas/clock/marvell,armada-3700-uart-clock.yaml#
5*c9ccf3a3SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*c9ccf3a3SEmmanuel Vadottitle: Marvell Armada 3720 UART clocks
7*c9ccf3a3SEmmanuel Vadot
8*c9ccf3a3SEmmanuel Vadotmaintainers:
9*c9ccf3a3SEmmanuel Vadot  - Pali Rohár <pali@kernel.org>
10*c9ccf3a3SEmmanuel Vadot
11*c9ccf3a3SEmmanuel Vadotproperties:
12*c9ccf3a3SEmmanuel Vadot  compatible:
13*c9ccf3a3SEmmanuel Vadot    const: marvell,armada-3700-uart-clock
14*c9ccf3a3SEmmanuel Vadot
15*c9ccf3a3SEmmanuel Vadot  reg:
16*c9ccf3a3SEmmanuel Vadot    items:
17*c9ccf3a3SEmmanuel Vadot      - description: UART Clock Control Register
18*c9ccf3a3SEmmanuel Vadot      - description: UART 2 Baud Rate Divisor Register
19*c9ccf3a3SEmmanuel Vadot
20*c9ccf3a3SEmmanuel Vadot  clocks:
21*c9ccf3a3SEmmanuel Vadot    description: |
22*c9ccf3a3SEmmanuel Vadot      List of parent clocks suitable for UART from following set:
23*c9ccf3a3SEmmanuel Vadot        "TBG-A-P", "TBG-B-P", "TBG-A-S", "TBG-B-S", "xtal"
24*c9ccf3a3SEmmanuel Vadot      UART clock can use one from this set and when more are provided
25*c9ccf3a3SEmmanuel Vadot      then kernel would choose and configure the most suitable one.
26*c9ccf3a3SEmmanuel Vadot      It is suggest to specify at least one TBG clock to achieve
27*c9ccf3a3SEmmanuel Vadot      baudrates above 230400 and also to specify clock which bootloader
28*c9ccf3a3SEmmanuel Vadot      used for UART (most probably xtal) for smooth boot log on UART.
29*c9ccf3a3SEmmanuel Vadot
30*c9ccf3a3SEmmanuel Vadot  clock-names:
31*c9ccf3a3SEmmanuel Vadot    items:
32*c9ccf3a3SEmmanuel Vadot      - const: TBG-A-P
33*c9ccf3a3SEmmanuel Vadot      - const: TBG-B-P
34*c9ccf3a3SEmmanuel Vadot      - const: TBG-A-S
35*c9ccf3a3SEmmanuel Vadot      - const: TBG-B-S
36*c9ccf3a3SEmmanuel Vadot      - const: xtal
37*c9ccf3a3SEmmanuel Vadot    minItems: 1
38*c9ccf3a3SEmmanuel Vadot
39*c9ccf3a3SEmmanuel Vadot  '#clock-cells':
40*c9ccf3a3SEmmanuel Vadot    const: 1
41*c9ccf3a3SEmmanuel Vadot
42*c9ccf3a3SEmmanuel Vadotrequired:
43*c9ccf3a3SEmmanuel Vadot  - compatible
44*c9ccf3a3SEmmanuel Vadot  - reg
45*c9ccf3a3SEmmanuel Vadot  - clocks
46*c9ccf3a3SEmmanuel Vadot  - clock-names
47*c9ccf3a3SEmmanuel Vadot  - '#clock-cells'
48*c9ccf3a3SEmmanuel Vadot
49*c9ccf3a3SEmmanuel VadotadditionalProperties: false
50*c9ccf3a3SEmmanuel Vadot
51*c9ccf3a3SEmmanuel Vadotexamples:
52*c9ccf3a3SEmmanuel Vadot  - |
53*c9ccf3a3SEmmanuel Vadot    uartclk: clock-controller@12010 {
54*c9ccf3a3SEmmanuel Vadot      compatible = "marvell,armada-3700-uart-clock";
55*c9ccf3a3SEmmanuel Vadot      reg = <0x12010 0x4>, <0x12210 0x4>;
56*c9ccf3a3SEmmanuel Vadot      clocks = <&tbg 0>, <&tbg 1>, <&tbg 2>, <&tbg 3>, <&xtalclk>;
57*c9ccf3a3SEmmanuel Vadot      clock-names = "TBG-A-P", "TBG-B-P", "TBG-A-S", "TBG-B-S", "xtal";
58*c9ccf3a3SEmmanuel Vadot      #clock-cells = <1>;
59*c9ccf3a3SEmmanuel Vadot    };
60