1*3da29379SJisheng ZhangSynaptics SoC Device Tree Bindings 2*3da29379SJisheng Zhang 3*3da29379SJisheng ZhangAccording to https://www.synaptics.com/company/news/conexant-marvell 4*3da29379SJisheng ZhangSynaptics has acquired the Multimedia Solutions Business of Marvell, so 5*3da29379SJisheng Zhangberlin SoCs are now Synaptics' SoCs now. 6*3da29379SJisheng Zhang 710c3a0b7SJisheng Zhang--------------------------------------------------------------- 810c3a0b7SJisheng Zhang 910c3a0b7SJisheng ZhangBoards with a SoC of the Marvell Berlin family, e.g. Armada 1500 1010c3a0b7SJisheng Zhangshall have the following properties: 1110c3a0b7SJisheng Zhang 1210c3a0b7SJisheng Zhang* Required root node properties: 1310c3a0b7SJisheng Zhangcompatible: must contain "marvell,berlin" 1410c3a0b7SJisheng Zhang 1510c3a0b7SJisheng ZhangIn addition, the above compatible shall be extended with the specific 1610c3a0b7SJisheng ZhangSoC and board used. Currently known SoC compatibles are: 1710c3a0b7SJisheng Zhang "marvell,berlin2" for Marvell Armada 1500 (BG2, 88DE3100), 1810c3a0b7SJisheng Zhang "marvell,berlin2cd" for Marvell Armada 1500-mini (BG2CD, 88DE3005) 1910c3a0b7SJisheng Zhang "marvell,berlin2ct" for Marvell Armada ? (BG2CT, 88DE????) 2010c3a0b7SJisheng Zhang "marvell,berlin2q" for Marvell Armada 1500-pro (BG2Q, 88DE3114) 2110c3a0b7SJisheng Zhang "marvell,berlin3" for Marvell Armada ? (BG3, 88DE????) 2210c3a0b7SJisheng Zhang 2310c3a0b7SJisheng Zhang* Example: 2410c3a0b7SJisheng Zhang 2510c3a0b7SJisheng Zhang/ { 2610c3a0b7SJisheng Zhang model = "Sony NSZ-GS7"; 2710c3a0b7SJisheng Zhang compatible = "sony,nsz-gs7", "marvell,berlin2", "marvell,berlin"; 2810c3a0b7SJisheng Zhang 2910c3a0b7SJisheng Zhang ... 3010c3a0b7SJisheng Zhang} 3110c3a0b7SJisheng Zhang 3210c3a0b7SJisheng Zhang* Marvell Berlin CPU control bindings 3310c3a0b7SJisheng Zhang 3410c3a0b7SJisheng ZhangCPU control register allows various operations on CPUs, like resetting them 3510c3a0b7SJisheng Zhangindependently. 3610c3a0b7SJisheng Zhang 3710c3a0b7SJisheng ZhangRequired properties: 3810c3a0b7SJisheng Zhang- compatible: should be "marvell,berlin-cpu-ctrl" 3910c3a0b7SJisheng Zhang- reg: address and length of the register set 4010c3a0b7SJisheng Zhang 4110c3a0b7SJisheng ZhangExample: 4210c3a0b7SJisheng Zhang 4310c3a0b7SJisheng Zhangcpu-ctrl@f7dd0000 { 4410c3a0b7SJisheng Zhang compatible = "marvell,berlin-cpu-ctrl"; 4510c3a0b7SJisheng Zhang reg = <0xf7dd0000 0x10000>; 4610c3a0b7SJisheng Zhang}; 4710c3a0b7SJisheng Zhang 4810c3a0b7SJisheng Zhang* Marvell Berlin2 chip control binding 4910c3a0b7SJisheng Zhang 5010c3a0b7SJisheng ZhangMarvell Berlin SoCs have a chip control register set providing several 5110c3a0b7SJisheng Zhangindividual registers dealing with pinmux, padmux, clock, reset, and secondary 5210c3a0b7SJisheng ZhangCPU boot address. Unfortunately, the individual registers are spread among the 5310c3a0b7SJisheng Zhangchip control registers, so there should be a single DT node only providing the 5410c3a0b7SJisheng Zhangdifferent functions which are described below. 5510c3a0b7SJisheng Zhang 5610c3a0b7SJisheng ZhangRequired properties: 5710c3a0b7SJisheng Zhang- compatible: 5810c3a0b7SJisheng Zhang * the first and second values must be: 5910c3a0b7SJisheng Zhang "simple-mfd", "syscon" 6010c3a0b7SJisheng Zhang- reg: address and length of following register sets for 6110c3a0b7SJisheng Zhang BG2/BG2CD: chip control register set 6210c3a0b7SJisheng Zhang BG2Q: chip control register set and cpu pll registers 6310c3a0b7SJisheng Zhang 6410c3a0b7SJisheng Zhang* Marvell Berlin2 system control binding 6510c3a0b7SJisheng Zhang 6610c3a0b7SJisheng ZhangMarvell Berlin SoCs have a system control register set providing several 6710c3a0b7SJisheng Zhangindividual registers dealing with pinmux, padmux, and reset. 6810c3a0b7SJisheng Zhang 6910c3a0b7SJisheng ZhangRequired properties: 7010c3a0b7SJisheng Zhang- compatible: 7110c3a0b7SJisheng Zhang * the first and second values must be: 7210c3a0b7SJisheng Zhang "simple-mfd", "syscon" 7310c3a0b7SJisheng Zhang- reg: address and length of the system control register set 7410c3a0b7SJisheng Zhang 7510c3a0b7SJisheng ZhangExample: 7610c3a0b7SJisheng Zhang 7710c3a0b7SJisheng Zhangchip: chip-control@ea0000 { 7810c3a0b7SJisheng Zhang compatible = "simple-mfd", "syscon"; 7910c3a0b7SJisheng Zhang reg = <0xea0000 0x400>; 8010c3a0b7SJisheng Zhang 8110c3a0b7SJisheng Zhang /* sub-device nodes */ 8210c3a0b7SJisheng Zhang}; 8310c3a0b7SJisheng Zhang 8410c3a0b7SJisheng Zhangsysctrl: system-controller@d000 { 8510c3a0b7SJisheng Zhang compatible = "simple-mfd", "syscon"; 8610c3a0b7SJisheng Zhang reg = <0xd000 0x100>; 8710c3a0b7SJisheng Zhang 8810c3a0b7SJisheng Zhang /* sub-device nodes */ 8910c3a0b7SJisheng Zhang}; 90