xref: /freebsd/sys/contrib/device-tree/Bindings/clock/microchip,pic32.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel VadotMicrochip PIC32 Clock Controller Binding
2*c66ec88fSEmmanuel Vadot----------------------------------------
3*c66ec88fSEmmanuel VadotMicrochip clock controller is consists of few oscillators, PLL, multiplexer
4*c66ec88fSEmmanuel Vadotand few divider modules.
5*c66ec88fSEmmanuel Vadot
6*c66ec88fSEmmanuel VadotThis binding uses common clock bindings.
7*c66ec88fSEmmanuel Vadot[1] Documentation/devicetree/bindings/clock/clock-bindings.txt
8*c66ec88fSEmmanuel Vadot
9*c66ec88fSEmmanuel VadotRequired properties:
10*c66ec88fSEmmanuel Vadot- compatible: shall be "microchip,pic32mzda-clk".
11*c66ec88fSEmmanuel Vadot- reg: shall contain base address and length of clock registers.
12*c66ec88fSEmmanuel Vadot- #clock-cells: shall be 1.
13*c66ec88fSEmmanuel Vadot
14*c66ec88fSEmmanuel VadotOptional properties:
15*c66ec88fSEmmanuel Vadot- microchip,pic32mzda-sosc: shall be added only if platform has
16*c66ec88fSEmmanuel Vadot  secondary oscillator connected.
17*c66ec88fSEmmanuel Vadot
18*c66ec88fSEmmanuel VadotExample:
19*c66ec88fSEmmanuel Vadot	rootclk: clock-controller@1f801200 {
20*c66ec88fSEmmanuel Vadot		compatible = "microchip,pic32mzda-clk";
21*c66ec88fSEmmanuel Vadot		reg = <0x1f801200 0x200>;
22*c66ec88fSEmmanuel Vadot		#clock-cells = <1>;
23*c66ec88fSEmmanuel Vadot		/* optional */
24*c66ec88fSEmmanuel Vadot		microchip,pic32mzda-sosc;
25*c66ec88fSEmmanuel Vadot	};
26*c66ec88fSEmmanuel Vadot
27*c66ec88fSEmmanuel Vadot
28*c66ec88fSEmmanuel VadotThe clock consumer shall specify the desired clock-output of the clock
29*c66ec88fSEmmanuel Vadotcontroller (as defined in [2]) by specifying output-id in its "clock"
30*c66ec88fSEmmanuel Vadotphandle cell.
31*c66ec88fSEmmanuel Vadot[2] include/dt-bindings/clock/microchip,pic32-clock.h
32*c66ec88fSEmmanuel Vadot
33*c66ec88fSEmmanuel VadotFor example for UART2:
34*c66ec88fSEmmanuel Vadotuart2: serial@2 {
35*c66ec88fSEmmanuel Vadot	compatible = "microchip,pic32mzda-uart";
36*c66ec88fSEmmanuel Vadot	reg = <>;
37*c66ec88fSEmmanuel Vadot	interrupts = <>;
38*c66ec88fSEmmanuel Vadot	clocks = <&rootclk PB2CLK>;
39*c66ec88fSEmmanuel Vadot};
40