1*7046c6b0SManivannan Sadhasivam# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2*7046c6b0SManivannan Sadhasivam%YAML 1.2 3*7046c6b0SManivannan Sadhasivam--- 4*7046c6b0SManivannan Sadhasivam$id: http://devicetree.org/schemas/bindings/clock/bitmain,bm1880-clk.yaml# 5*7046c6b0SManivannan Sadhasivam$schema: http://devicetree.org/meta-schemas/core.yaml# 6*7046c6b0SManivannan Sadhasivam 7*7046c6b0SManivannan Sadhasivamtitle: Bitmain BM1880 Clock Controller 8*7046c6b0SManivannan Sadhasivam 9*7046c6b0SManivannan Sadhasivammaintainers: 10*7046c6b0SManivannan Sadhasivam - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> 11*7046c6b0SManivannan Sadhasivam 12*7046c6b0SManivannan Sadhasivamdescription: | 13*7046c6b0SManivannan Sadhasivam The Bitmain BM1880 clock controller generates and supplies clock to 14*7046c6b0SManivannan Sadhasivam various peripherals within the SoC. 15*7046c6b0SManivannan Sadhasivam 16*7046c6b0SManivannan Sadhasivam This binding uses common clock bindings 17*7046c6b0SManivannan Sadhasivam [1] Documentation/devicetree/bindings/clock/clock-bindings.txt 18*7046c6b0SManivannan Sadhasivam 19*7046c6b0SManivannan Sadhasivamproperties: 20*7046c6b0SManivannan Sadhasivam compatible: 21*7046c6b0SManivannan Sadhasivam const: bitmain,bm1880-clk 22*7046c6b0SManivannan Sadhasivam 23*7046c6b0SManivannan Sadhasivam reg: 24*7046c6b0SManivannan Sadhasivam items: 25*7046c6b0SManivannan Sadhasivam - description: pll registers 26*7046c6b0SManivannan Sadhasivam - description: system registers 27*7046c6b0SManivannan Sadhasivam 28*7046c6b0SManivannan Sadhasivam reg-names: 29*7046c6b0SManivannan Sadhasivam items: 30*7046c6b0SManivannan Sadhasivam - const: pll 31*7046c6b0SManivannan Sadhasivam - const: sys 32*7046c6b0SManivannan Sadhasivam 33*7046c6b0SManivannan Sadhasivam clocks: 34*7046c6b0SManivannan Sadhasivam maxItems: 1 35*7046c6b0SManivannan Sadhasivam 36*7046c6b0SManivannan Sadhasivam clock-names: 37*7046c6b0SManivannan Sadhasivam const: osc 38*7046c6b0SManivannan Sadhasivam 39*7046c6b0SManivannan Sadhasivam '#clock-cells': 40*7046c6b0SManivannan Sadhasivam const: 1 41*7046c6b0SManivannan Sadhasivam 42*7046c6b0SManivannan Sadhasivamrequired: 43*7046c6b0SManivannan Sadhasivam - compatible 44*7046c6b0SManivannan Sadhasivam - reg 45*7046c6b0SManivannan Sadhasivam - reg-names 46*7046c6b0SManivannan Sadhasivam - clocks 47*7046c6b0SManivannan Sadhasivam - clock-names 48*7046c6b0SManivannan Sadhasivam - '#clock-cells' 49*7046c6b0SManivannan Sadhasivam 50*7046c6b0SManivannan SadhasivamadditionalProperties: false 51*7046c6b0SManivannan Sadhasivam 52*7046c6b0SManivannan Sadhasivamexamples: 53*7046c6b0SManivannan Sadhasivam # Clock controller node: 54*7046c6b0SManivannan Sadhasivam - | 55*7046c6b0SManivannan Sadhasivam clk: clock-controller@e8 { 56*7046c6b0SManivannan Sadhasivam compatible = "bitmain,bm1880-clk"; 57*7046c6b0SManivannan Sadhasivam reg = <0xe8 0x0c>, <0x800 0xb0>; 58*7046c6b0SManivannan Sadhasivam reg-names = "pll", "sys"; 59*7046c6b0SManivannan Sadhasivam clocks = <&osc>; 60*7046c6b0SManivannan Sadhasivam clock-names = "osc"; 61*7046c6b0SManivannan Sadhasivam #clock-cells = <1>; 62*7046c6b0SManivannan Sadhasivam }; 63*7046c6b0SManivannan Sadhasivam 64*7046c6b0SManivannan Sadhasivam # Example UART controller node that consumes clock generated by the clock controller: 65*7046c6b0SManivannan Sadhasivam - | 66*7046c6b0SManivannan Sadhasivam uart0: serial@58018000 { 67*7046c6b0SManivannan Sadhasivam compatible = "snps,dw-apb-uart"; 68*7046c6b0SManivannan Sadhasivam reg = <0x0 0x58018000 0x0 0x2000>; 69*7046c6b0SManivannan Sadhasivam clocks = <&clk 45>, <&clk 46>; 70*7046c6b0SManivannan Sadhasivam clock-names = "baudclk", "apb_pclk"; 71*7046c6b0SManivannan Sadhasivam interrupts = <0 9 4>; 72*7046c6b0SManivannan Sadhasivam reg-shift = <2>; 73*7046c6b0SManivannan Sadhasivam reg-io-width = <4>; 74*7046c6b0SManivannan Sadhasivam }; 75*7046c6b0SManivannan Sadhasivam 76*7046c6b0SManivannan Sadhasivam... 77