1ARM Versatile Express system registers 2-------------------------------------- 3 4This is a system control registers block, providing multiple low level 5platform functions like board detection and identification, software 6interrupt generation, MMC and NOR Flash control etc. 7 8Required node properties: 9- compatible value : = "arm,vexpress,sysreg"; 10- reg : physical base address and the size of the registers window 11- gpio-controller : specifies that the node is a GPIO controller 12- #gpio-cells : size of the GPIO specifier, should be 2: 13 - first cell is the pseudo-GPIO line number: 14 0 - MMC CARDIN 15 1 - MMC WPROT 16 2 - NOR FLASH WPn 17 - second cell can take standard GPIO flags (currently ignored). 18 19Example: 20 v2m_sysreg: sysreg@10000000 { 21 compatible = "arm,vexpress-sysreg"; 22 reg = <0x10000000 0x1000>; 23 gpio-controller; 24 #gpio-cells = <2>; 25 }; 26 27This block also can also act a bridge to the platform's configuration 28bus via "system control" interface, addressing devices with site number, 29position in the board stack, config controller, function and device 30numbers - see motherboard's TRM for more details. 31 32The node describing a config device must refer to the sysreg node via 33"arm,vexpress,config-bridge" phandle (can be also defined in the node's 34parent) and relies on the board topology properties - see main vexpress 35node documentation for more details. It must must also define the 36following property: 37- arm,vexpress-sysreg,func : must contain two cells: 38 - first cell defines function number (eg. 1 for clock generator, 39 2 for voltage regulators etc.) 40 - device number (eg. osc 0, osc 1 etc.) 41 42Example: 43 mcc { 44 arm,vexpress,config-bridge = <&v2m_sysreg>; 45 46 osc@0 { 47 compatible = "arm,vexpress-osc"; 48 arm,vexpress-sysreg,func = <1 0>; 49 }; 50 }; 51