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