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 12Deprecated properties, replaced by GPIO subnodes (see below): 13- gpio-controller : specifies that the node is a GPIO controller 14- #gpio-cells : size of the GPIO specifier, should be 2: 15 - first cell is the pseudo-GPIO line number: 16 0 - MMC CARDIN 17 1 - MMC WPROT 18 2 - NOR FLASH WPn 19 - second cell can take standard GPIO flags (currently ignored). 20 21Control registers providing pseudo-GPIO lines must be represented 22by subnodes, each of them requiring the following properties: 23- compatible value : one of 24 "arm,vexpress-sysreg,sys_led" 25 "arm,vexpress-sysreg,sys_mci" 26 "arm,vexpress-sysreg,sys_flash" 27- gpio-controller : makes the node a GPIO controller 28- #gpio-cells : size of the GPIO specifier, must be 2: 29 - first cell is the function number: 30 - for sys_led : 0..7 = LED 0..7 31 - for sys_mci : 0 = MMC CARDIN, 1 = MMC WPROT 32 - for sys_flash : 0 = NOR FLASH WPn 33 - second cell can take standard GPIO flags (currently ignored). 34 35Example: 36 v2m_sysreg: sysreg@10000000 { 37 compatible = "arm,vexpress-sysreg"; 38 reg = <0x10000000 0x1000>; 39 40 v2m_led_gpios: sys_led@8 { 41 compatible = "arm,vexpress-sysreg,sys_led"; 42 gpio-controller; 43 #gpio-cells = <2>; 44 }; 45 46 v2m_mmc_gpios: sys_mci@48 { 47 compatible = "arm,vexpress-sysreg,sys_mci"; 48 gpio-controller; 49 #gpio-cells = <2>; 50 }; 51 52 v2m_flash_gpios: sys_flash@4c { 53 compatible = "arm,vexpress-sysreg,sys_flash"; 54 gpio-controller; 55 #gpio-cells = <2>; 56 }; 57 }; 58 59This block also can also act a bridge to the platform's configuration 60bus via "system control" interface, addressing devices with site number, 61position in the board stack, config controller, function and device 62numbers - see motherboard's TRM for more details. All configuration 63controller accessible via this interface must reference the sysreg 64node via "arm,vexpress,config-bridge" phandle and define appropriate 65topology properties - see main vexpress node documentation for more 66details. Each child of such node describes one function and must 67define the following properties: 68- compatible value : must be one of (corresponding to the TRM): 69 "arm,vexpress-amp" 70 "arm,vexpress-dvimode" 71 "arm,vexpress-energy" 72 "arm,vexpress-muxfpga" 73 "arm,vexpress-osc" 74 "arm,vexpress-power" 75 "arm,vexpress-reboot" 76 "arm,vexpress-reset" 77 "arm,vexpress-scc" 78 "arm,vexpress-shutdown" 79 "arm,vexpress-temp" 80 "arm,vexpress-volt" 81- arm,vexpress-sysreg,func : must contain a set of two cells long groups: 82 - first cell of each group defines the function number 83 (eg. 1 for clock generator, 2 for voltage regulators etc.) 84 - second cell of each group defines device number (eg. osc 0, 85 osc 1 etc.) 86 - some functions (eg. energy meter, with its 64 bit long counter) 87 are using more than one function/device number pair 88 89Example: 90 mcc { 91 compatible = "arm,vexpress,config-bus"; 92 arm,vexpress,config-bridge = <&v2m_sysreg>; 93 94 osc@0 { 95 compatible = "arm,vexpress-osc"; 96 arm,vexpress-sysreg,func = <1 0>; 97 }; 98 99 energy@0 { 100 compatible = "arm,vexpress-energy"; 101 arm,vexpress-sysreg,func = <13 0>, <13 1>; 102 }; 103 }; 104