xref: /freebsd/sys/contrib/device-tree/Bindings/arm/syna.txt (revision 01950c46b8155250f64374fb72fc11faa44bf099)
1*c66ec88fSEmmanuel VadotSynaptics SoC Device Tree Bindings
2*c66ec88fSEmmanuel Vadot
3*c66ec88fSEmmanuel VadotAccording to https://www.synaptics.com/company/news/conexant-marvell
4*c66ec88fSEmmanuel VadotSynaptics has acquired the Multimedia Solutions Business of Marvell, so
5*c66ec88fSEmmanuel Vadotberlin SoCs are now Synaptics' SoCs now.
6*c66ec88fSEmmanuel Vadot
7*c66ec88fSEmmanuel Vadot---------------------------------------------------------------
8*c66ec88fSEmmanuel Vadot
9*c66ec88fSEmmanuel VadotBoards with a SoC of the Marvell Berlin family, e.g. Armada 1500
10*c66ec88fSEmmanuel Vadotshall have the following properties:
11*c66ec88fSEmmanuel Vadot
12*c66ec88fSEmmanuel Vadot* Required root node properties:
13*c66ec88fSEmmanuel Vadotcompatible: must contain "marvell,berlin"
14*c66ec88fSEmmanuel Vadot
15*c66ec88fSEmmanuel VadotIn addition, the above compatible shall be extended with the specific
16*c66ec88fSEmmanuel VadotSoC and board used. Currently known SoC compatibles are:
17*c66ec88fSEmmanuel Vadot    "marvell,berlin2"      for Marvell Armada 1500 (BG2, 88DE3100),
18*c66ec88fSEmmanuel Vadot    "marvell,berlin2cd"    for Marvell Armada 1500-mini (BG2CD, 88DE3005)
19*c66ec88fSEmmanuel Vadot    "marvell,berlin2ct"    for Marvell Armada ? (BG2CT, 88DE????)
20*c66ec88fSEmmanuel Vadot    "marvell,berlin2q"     for Marvell Armada 1500-pro (BG2Q, 88DE3114)
21*c66ec88fSEmmanuel Vadot    "marvell,berlin3"      for Marvell Armada ? (BG3, 88DE????)
22*c66ec88fSEmmanuel Vadot
23*c66ec88fSEmmanuel Vadot* Example:
24*c66ec88fSEmmanuel Vadot
25*c66ec88fSEmmanuel Vadot/ {
26*c66ec88fSEmmanuel Vadot	model = "Sony NSZ-GS7";
27*c66ec88fSEmmanuel Vadot	compatible = "sony,nsz-gs7", "marvell,berlin2", "marvell,berlin";
28*c66ec88fSEmmanuel Vadot
29*c66ec88fSEmmanuel Vadot	...
30*c66ec88fSEmmanuel Vadot}
31*c66ec88fSEmmanuel Vadot
32*c66ec88fSEmmanuel Vadot* Marvell Berlin CPU control bindings
33*c66ec88fSEmmanuel Vadot
34*c66ec88fSEmmanuel VadotCPU control register allows various operations on CPUs, like resetting them
35*c66ec88fSEmmanuel Vadotindependently.
36*c66ec88fSEmmanuel Vadot
37*c66ec88fSEmmanuel VadotRequired properties:
38*c66ec88fSEmmanuel Vadot- compatible: should be "marvell,berlin-cpu-ctrl"
39*c66ec88fSEmmanuel Vadot- reg: address and length of the register set
40*c66ec88fSEmmanuel Vadot
41*c66ec88fSEmmanuel VadotExample:
42*c66ec88fSEmmanuel Vadot
43*c66ec88fSEmmanuel Vadotcpu-ctrl@f7dd0000 {
44*c66ec88fSEmmanuel Vadot	compatible = "marvell,berlin-cpu-ctrl";
45*c66ec88fSEmmanuel Vadot	reg = <0xf7dd0000 0x10000>;
46*c66ec88fSEmmanuel Vadot};
47*c66ec88fSEmmanuel Vadot
48*c66ec88fSEmmanuel Vadot* Marvell Berlin2 chip control binding
49*c66ec88fSEmmanuel Vadot
50*c66ec88fSEmmanuel VadotMarvell Berlin SoCs have a chip control register set providing several
51*c66ec88fSEmmanuel Vadotindividual registers dealing with pinmux, padmux, clock, reset, and secondary
52*c66ec88fSEmmanuel VadotCPU boot address. Unfortunately, the individual registers are spread among the
53*c66ec88fSEmmanuel Vadotchip control registers, so there should be a single DT node only providing the
54*c66ec88fSEmmanuel Vadotdifferent functions which are described below.
55*c66ec88fSEmmanuel Vadot
56*c66ec88fSEmmanuel VadotRequired properties:
57*c66ec88fSEmmanuel Vadot- compatible:
58*c66ec88fSEmmanuel Vadot	* the first and second values must be:
59*c66ec88fSEmmanuel Vadot		"simple-mfd", "syscon"
60*c66ec88fSEmmanuel Vadot- reg: address and length of following register sets for
61*c66ec88fSEmmanuel Vadot  BG2/BG2CD: chip control register set
62*c66ec88fSEmmanuel Vadot  BG2Q: chip control register set and cpu pll registers
63*c66ec88fSEmmanuel Vadot
64*c66ec88fSEmmanuel Vadot* Marvell Berlin2 system control binding
65*c66ec88fSEmmanuel Vadot
66*c66ec88fSEmmanuel VadotMarvell Berlin SoCs have a system control register set providing several
67*c66ec88fSEmmanuel Vadotindividual registers dealing with pinmux, padmux, and reset.
68*c66ec88fSEmmanuel Vadot
69*c66ec88fSEmmanuel VadotRequired properties:
70*c66ec88fSEmmanuel Vadot- compatible:
71*c66ec88fSEmmanuel Vadot	* the first and second values must be:
72*c66ec88fSEmmanuel Vadot		"simple-mfd", "syscon"
73*c66ec88fSEmmanuel Vadot- reg: address and length of the system control register set
74*c66ec88fSEmmanuel Vadot
75*c66ec88fSEmmanuel VadotExample:
76*c66ec88fSEmmanuel Vadot
77*c66ec88fSEmmanuel Vadotchip: chip-control@ea0000 {
78*c66ec88fSEmmanuel Vadot	compatible = "simple-mfd", "syscon";
79*c66ec88fSEmmanuel Vadot	reg = <0xea0000 0x400>;
80*c66ec88fSEmmanuel Vadot
81*c66ec88fSEmmanuel Vadot	/* sub-device nodes */
82*c66ec88fSEmmanuel Vadot};
83*c66ec88fSEmmanuel Vadot
84*c66ec88fSEmmanuel Vadotsysctrl: system-controller@d000 {
85*c66ec88fSEmmanuel Vadot	compatible = "simple-mfd", "syscon";
86*c66ec88fSEmmanuel Vadot	reg = <0xd000 0x100>;
87*c66ec88fSEmmanuel Vadot
88*c66ec88fSEmmanuel Vadot	/* sub-device nodes */
89*c66ec88fSEmmanuel Vadot};
90