| Rockchip SRAM for IO Voltage Domains: | 
 | ------------------------------------- | 
 |  | 
 | IO domain voltages on some Rockchip SoCs are variable but need to be | 
 | kept in sync between the regulators and the SoC using a special | 
 | register. | 
 |  | 
 | A specific example using rk3288: | 
 | - If the regulator hooked up to a pin like SDMMC0_VDD is 3.3V then | 
 |   bit 7 of GRF_IO_VSEL needs to be 0.  If the regulator hooked up to | 
 |   that same pin is 1.8V then bit 7 of GRF_IO_VSEL needs to be 1. | 
 |  | 
 | Said another way, this driver simply handles keeping bits in the SoC's | 
 | general register file (GRF) in sync with the actual value of a voltage | 
 | hooked up to the pins. | 
 |  | 
 | Note that this driver specifically doesn't include: | 
 | - any logic for deciding what voltage we should set regulators to | 
 | - any logic for deciding whether regulators (or internal SoC blocks) | 
 |   should have power or not have power | 
 |  | 
 | If there were some other software that had the smarts of making | 
 | decisions about regulators, it would work in conjunction with this | 
 | driver.  When that other software adjusted a regulator's voltage then | 
 | this driver would handle telling the SoC about it.  A good example is | 
 | vqmmc for SD.  In that case the dw_mmc driver simply is told about a | 
 | regulator.  It changes the regulator between 3.3V and 1.8V at the | 
 | right time.  This driver notices the change and makes sure that the | 
 | SoC is on the same page. | 
 |  | 
 |  | 
 | Required properties: | 
 | - compatible: should be one of: | 
 |   - "rockchip,rk3188-io-voltage-domain" for rk3188 | 
 |   - "rockchip,rk3288-io-voltage-domain" for rk3288 | 
 | - rockchip,grf: phandle to the syscon managing the "general register files" | 
 |  | 
 |  | 
 | You specify supplies using the standard regulator bindings by including | 
 | a phandle the relevant regulator.  All specified supplies must be able | 
 | to report their voltage.  The IO Voltage Domain for any non-specified | 
 | supplies will be not be touched. | 
 |  | 
 | Possible supplies for rk3188: | 
 | - ap0-supply:    The supply connected to AP0_VCC. | 
 | - ap1-supply:    The supply connected to AP1_VCC. | 
 | - cif-supply:    The supply connected to CIF_VCC. | 
 | - flash-supply:  The supply connected to FLASH_VCC. | 
 | - lcdc0-supply:  The supply connected to LCD0_VCC. | 
 | - lcdc1-supply:  The supply connected to LCD1_VCC. | 
 | - vccio0-supply: The supply connected to VCCIO0. | 
 | - vccio1-supply: The supply connected to VCCIO1. | 
 |                  Sometimes also labeled VCCIO1 and VCCIO2. | 
 |  | 
 | Possible supplies for rk3288: | 
 | - audio-supply:  The supply connected to APIO4_VDD. | 
 | - bb-supply:     The supply connected to APIO5_VDD. | 
 | - dvp-supply:    The supply connected to DVPIO_VDD. | 
 | - flash0-supply: The supply connected to FLASH0_VDD.  Typically for eMMC | 
 | - flash1-supply: The supply connected to FLASH1_VDD.  Also known as SDIO1. | 
 | - gpio30-supply: The supply connected to APIO1_VDD. | 
 | - gpio1830       The supply connected to APIO2_VDD. | 
 | - lcdc-supply:   The supply connected to LCDC_VDD. | 
 | - sdcard-supply: The supply connected to SDMMC0_VDD. | 
 | - wifi-supply:   The supply connected to APIO3_VDD.  Also known as SDIO0. | 
 |  | 
 |  | 
 | Example: | 
 |  | 
 | 	io-domains { | 
 | 		compatible = "rockchip,rk3288-io-voltage-domain"; | 
 | 		rockchip,grf = <&grf>; | 
 |  | 
 | 		audio-supply = <&vcc18_codec>; | 
 | 		bb-supply = <&vcc33_io>; | 
 | 		dvp-supply = <&vcc_18>; | 
 | 		flash0-supply = <&vcc18_flashio>; | 
 | 		gpio1830-supply = <&vcc33_io>; | 
 | 		gpio30-supply = <&vcc33_pmuio>; | 
 | 		lcdc-supply = <&vcc33_lcd>; | 
 | 		sdcard-supply = <&vccio_sd>; | 
 | 		wifi-supply = <&vcc18_wl>; | 
 | 	}; |