xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/arm/syna.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunSynaptics SoC Device Tree Bindings
2*4882a593Smuzhiyun
3*4882a593SmuzhiyunAccording to https://www.synaptics.com/company/news/conexant-marvell
4*4882a593SmuzhiyunSynaptics has acquired the Multimedia Solutions Business of Marvell, so
5*4882a593Smuzhiyunberlin SoCs are now Synaptics' SoCs now.
6*4882a593Smuzhiyun
7*4882a593Smuzhiyun---------------------------------------------------------------
8*4882a593Smuzhiyun
9*4882a593SmuzhiyunWork in progress statement:
10*4882a593Smuzhiyun
11*4882a593SmuzhiyunDevice tree files and bindings applying to Marvell Berlin SoCs and boards are
12*4882a593Smuzhiyunconsidered "unstable". Any Marvell Berlin device tree binding may change at any
13*4882a593Smuzhiyuntime. Be sure to use a device tree binary and a kernel image generated from the
14*4882a593Smuzhiyunsame source tree.
15*4882a593Smuzhiyun
16*4882a593SmuzhiyunPlease refer to Documentation/devicetree/bindings/ABI.rst for a definition of a
17*4882a593Smuzhiyunstable binding/ABI.
18*4882a593Smuzhiyun
19*4882a593Smuzhiyun---------------------------------------------------------------
20*4882a593Smuzhiyun
21*4882a593SmuzhiyunBoards with the Synaptics AS370 SoC shall have the following properties:
22*4882a593Smuzhiyun  Required root node property:
23*4882a593Smuzhiyun    compatible: "syna,as370"
24*4882a593Smuzhiyun
25*4882a593SmuzhiyunBoards with a SoC of the Marvell Berlin family, e.g. Armada 1500
26*4882a593Smuzhiyunshall have the following properties:
27*4882a593Smuzhiyun
28*4882a593Smuzhiyun* Required root node properties:
29*4882a593Smuzhiyuncompatible: must contain "marvell,berlin"
30*4882a593Smuzhiyun
31*4882a593SmuzhiyunIn addition, the above compatible shall be extended with the specific
32*4882a593SmuzhiyunSoC and board used. Currently known SoC compatibles are:
33*4882a593Smuzhiyun    "marvell,berlin2"      for Marvell Armada 1500 (BG2, 88DE3100),
34*4882a593Smuzhiyun    "marvell,berlin2cd"    for Marvell Armada 1500-mini (BG2CD, 88DE3005)
35*4882a593Smuzhiyun    "marvell,berlin2ct"    for Marvell Armada ? (BG2CT, 88DE????)
36*4882a593Smuzhiyun    "marvell,berlin2q"     for Marvell Armada 1500-pro (BG2Q, 88DE3114)
37*4882a593Smuzhiyun    "marvell,berlin3"      for Marvell Armada ? (BG3, 88DE????)
38*4882a593Smuzhiyun
39*4882a593Smuzhiyun* Example:
40*4882a593Smuzhiyun
41*4882a593Smuzhiyun/ {
42*4882a593Smuzhiyun	model = "Sony NSZ-GS7";
43*4882a593Smuzhiyun	compatible = "sony,nsz-gs7", "marvell,berlin2", "marvell,berlin";
44*4882a593Smuzhiyun
45*4882a593Smuzhiyun	...
46*4882a593Smuzhiyun}
47*4882a593Smuzhiyun
48*4882a593Smuzhiyun* Marvell Berlin CPU control bindings
49*4882a593Smuzhiyun
50*4882a593SmuzhiyunCPU control register allows various operations on CPUs, like resetting them
51*4882a593Smuzhiyunindependently.
52*4882a593Smuzhiyun
53*4882a593SmuzhiyunRequired properties:
54*4882a593Smuzhiyun- compatible: should be "marvell,berlin-cpu-ctrl"
55*4882a593Smuzhiyun- reg: address and length of the register set
56*4882a593Smuzhiyun
57*4882a593SmuzhiyunExample:
58*4882a593Smuzhiyun
59*4882a593Smuzhiyuncpu-ctrl@f7dd0000 {
60*4882a593Smuzhiyun	compatible = "marvell,berlin-cpu-ctrl";
61*4882a593Smuzhiyun	reg = <0xf7dd0000 0x10000>;
62*4882a593Smuzhiyun};
63*4882a593Smuzhiyun
64*4882a593Smuzhiyun* Marvell Berlin2 chip control binding
65*4882a593Smuzhiyun
66*4882a593SmuzhiyunMarvell Berlin SoCs have a chip control register set providing several
67*4882a593Smuzhiyunindividual registers dealing with pinmux, padmux, clock, reset, and secondary
68*4882a593SmuzhiyunCPU boot address. Unfortunately, the individual registers are spread among the
69*4882a593Smuzhiyunchip control registers, so there should be a single DT node only providing the
70*4882a593Smuzhiyundifferent functions which are described below.
71*4882a593Smuzhiyun
72*4882a593SmuzhiyunRequired properties:
73*4882a593Smuzhiyun- compatible:
74*4882a593Smuzhiyun	* the first and second values must be:
75*4882a593Smuzhiyun		"simple-mfd", "syscon"
76*4882a593Smuzhiyun- reg: address and length of following register sets for
77*4882a593Smuzhiyun  BG2/BG2CD: chip control register set
78*4882a593Smuzhiyun  BG2Q: chip control register set and cpu pll registers
79*4882a593Smuzhiyun
80*4882a593Smuzhiyun* Marvell Berlin2 system control binding
81*4882a593Smuzhiyun
82*4882a593SmuzhiyunMarvell Berlin SoCs have a system control register set providing several
83*4882a593Smuzhiyunindividual registers dealing with pinmux, padmux, and reset.
84*4882a593Smuzhiyun
85*4882a593SmuzhiyunRequired properties:
86*4882a593Smuzhiyun- compatible:
87*4882a593Smuzhiyun	* the first and second values must be:
88*4882a593Smuzhiyun		"simple-mfd", "syscon"
89*4882a593Smuzhiyun- reg: address and length of the system control register set
90*4882a593Smuzhiyun
91*4882a593SmuzhiyunExample:
92*4882a593Smuzhiyun
93*4882a593Smuzhiyunchip: chip-control@ea0000 {
94*4882a593Smuzhiyun	compatible = "simple-mfd", "syscon";
95*4882a593Smuzhiyun	reg = <0xea0000 0x400>;
96*4882a593Smuzhiyun
97*4882a593Smuzhiyun	/* sub-device nodes */
98*4882a593Smuzhiyun};
99*4882a593Smuzhiyun
100*4882a593Smuzhiyunsysctrl: system-controller@d000 {
101*4882a593Smuzhiyun	compatible = "simple-mfd", "syscon";
102*4882a593Smuzhiyun	reg = <0xd000 0x100>;
103*4882a593Smuzhiyun
104*4882a593Smuzhiyun	/* sub-device nodes */
105*4882a593Smuzhiyun};
106