162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/power/rockchip-io-domain.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: Rockchip SRAM for IO Voltage Domains 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - Heiko Stuebner <heiko@sntech.de> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_cidescription: | 1362306a36Sopenharmony_ci IO domain voltages on some Rockchip SoCs are variable but need to be 1462306a36Sopenharmony_ci kept in sync between the regulators and the SoC using a special 1562306a36Sopenharmony_ci register. 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ci A specific example using rk3288 1862306a36Sopenharmony_ci If the regulator hooked up to a pin like SDMMC0_VDD is 3.3V then 1962306a36Sopenharmony_ci bit 7 of GRF_IO_VSEL needs to be 0. If the regulator hooked up to 2062306a36Sopenharmony_ci that same pin is 1.8V then bit 7 of GRF_IO_VSEL needs to be 1. 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ci Said another way, this driver simply handles keeping bits in the SoCs 2362306a36Sopenharmony_ci General Register File (GRF) in sync with the actual value of a voltage 2462306a36Sopenharmony_ci hooked up to the pins. 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci Note that this driver specifically does not include 2762306a36Sopenharmony_ci any logic for deciding what voltage we should set regulators to 2862306a36Sopenharmony_ci any logic for deciding whether regulators (or internal SoC blocks) 2962306a36Sopenharmony_ci should have power or not have power 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci If there were some other software that had the smarts of making 3262306a36Sopenharmony_ci decisions about regulators, it would work in conjunction with this 3362306a36Sopenharmony_ci driver. When that other software adjusted a regulators voltage then 3462306a36Sopenharmony_ci this driver would handle telling the SoC about it. A good example is 3562306a36Sopenharmony_ci vqmmc for SD. In that case the dw_mmc driver simply is told about a 3662306a36Sopenharmony_ci regulator. It changes the regulator between 3.3V and 1.8V at the 3762306a36Sopenharmony_ci right time. This driver notices the change and makes sure that the 3862306a36Sopenharmony_ci SoC is on the same page. 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_ci You specify supplies using the standard regulator bindings by including 4162306a36Sopenharmony_ci a phandle the relevant regulator. All specified supplies must be able 4262306a36Sopenharmony_ci to report their voltage. The IO Voltage Domain for any non-specified 4362306a36Sopenharmony_ci supplies will be not be touched. 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ciproperties: 4662306a36Sopenharmony_ci compatible: 4762306a36Sopenharmony_ci enum: 4862306a36Sopenharmony_ci - rockchip,px30-io-voltage-domain 4962306a36Sopenharmony_ci - rockchip,px30-pmu-io-voltage-domain 5062306a36Sopenharmony_ci - rockchip,rk3188-io-voltage-domain 5162306a36Sopenharmony_ci - rockchip,rk3228-io-voltage-domain 5262306a36Sopenharmony_ci - rockchip,rk3288-io-voltage-domain 5362306a36Sopenharmony_ci - rockchip,rk3328-io-voltage-domain 5462306a36Sopenharmony_ci - rockchip,rk3368-io-voltage-domain 5562306a36Sopenharmony_ci - rockchip,rk3368-pmu-io-voltage-domain 5662306a36Sopenharmony_ci - rockchip,rk3399-io-voltage-domain 5762306a36Sopenharmony_ci - rockchip,rk3399-pmu-io-voltage-domain 5862306a36Sopenharmony_ci - rockchip,rk3568-pmu-io-voltage-domain 5962306a36Sopenharmony_ci - rockchip,rv1108-io-voltage-domain 6062306a36Sopenharmony_ci - rockchip,rv1108-pmu-io-voltage-domain 6162306a36Sopenharmony_ci - rockchip,rv1126-pmu-io-voltage-domain 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_cirequired: 6462306a36Sopenharmony_ci - compatible 6562306a36Sopenharmony_ci 6662306a36Sopenharmony_ciunevaluatedProperties: false 6762306a36Sopenharmony_ci 6862306a36Sopenharmony_ciallOf: 6962306a36Sopenharmony_ci - $ref: "#/$defs/px30" 7062306a36Sopenharmony_ci - $ref: "#/$defs/px30-pmu" 7162306a36Sopenharmony_ci - $ref: "#/$defs/rk3188" 7262306a36Sopenharmony_ci - $ref: "#/$defs/rk3228" 7362306a36Sopenharmony_ci - $ref: "#/$defs/rk3288" 7462306a36Sopenharmony_ci - $ref: "#/$defs/rk3328" 7562306a36Sopenharmony_ci - $ref: "#/$defs/rk3368" 7662306a36Sopenharmony_ci - $ref: "#/$defs/rk3368-pmu" 7762306a36Sopenharmony_ci - $ref: "#/$defs/rk3399" 7862306a36Sopenharmony_ci - $ref: "#/$defs/rk3399-pmu" 7962306a36Sopenharmony_ci - $ref: "#/$defs/rk3568-pmu" 8062306a36Sopenharmony_ci - $ref: "#/$defs/rv1108" 8162306a36Sopenharmony_ci - $ref: "#/$defs/rv1108-pmu" 8262306a36Sopenharmony_ci - $ref: "#/$defs/rv1126-pmu" 8362306a36Sopenharmony_ci 8462306a36Sopenharmony_ci$defs: 8562306a36Sopenharmony_ci px30: 8662306a36Sopenharmony_ci if: 8762306a36Sopenharmony_ci properties: 8862306a36Sopenharmony_ci compatible: 8962306a36Sopenharmony_ci contains: 9062306a36Sopenharmony_ci const: rockchip,px30-io-voltage-domain 9162306a36Sopenharmony_ci 9262306a36Sopenharmony_ci then: 9362306a36Sopenharmony_ci properties: 9462306a36Sopenharmony_ci vccio1-supply: 9562306a36Sopenharmony_ci description: The supply connected to VCCIO1. 9662306a36Sopenharmony_ci vccio2-supply: 9762306a36Sopenharmony_ci description: The supply connected to VCCIO2. 9862306a36Sopenharmony_ci vccio3-supply: 9962306a36Sopenharmony_ci description: The supply connected to VCCIO3. 10062306a36Sopenharmony_ci vccio4-supply: 10162306a36Sopenharmony_ci description: The supply connected to VCCIO4. 10262306a36Sopenharmony_ci vccio5-supply: 10362306a36Sopenharmony_ci description: The supply connected to VCCIO5. 10462306a36Sopenharmony_ci vccio6-supply: 10562306a36Sopenharmony_ci description: The supply connected to VCCIO6. 10662306a36Sopenharmony_ci vccio-oscgpi-supply: 10762306a36Sopenharmony_ci description: The supply connected to VCCIO_OSCGPI. 10862306a36Sopenharmony_ci 10962306a36Sopenharmony_ci px30-pmu: 11062306a36Sopenharmony_ci if: 11162306a36Sopenharmony_ci properties: 11262306a36Sopenharmony_ci compatible: 11362306a36Sopenharmony_ci contains: 11462306a36Sopenharmony_ci const: rockchip,px30-pmu-io-voltage-domain 11562306a36Sopenharmony_ci 11662306a36Sopenharmony_ci then: 11762306a36Sopenharmony_ci properties: 11862306a36Sopenharmony_ci pmuio1-supply: 11962306a36Sopenharmony_ci description: The supply connected to PMUIO1. 12062306a36Sopenharmony_ci pmuio2-supply: 12162306a36Sopenharmony_ci description: The supply connected to PMUIO2. 12262306a36Sopenharmony_ci 12362306a36Sopenharmony_ci rk3188: 12462306a36Sopenharmony_ci if: 12562306a36Sopenharmony_ci properties: 12662306a36Sopenharmony_ci compatible: 12762306a36Sopenharmony_ci contains: 12862306a36Sopenharmony_ci const: rockchip,rk3188-io-voltage-domain 12962306a36Sopenharmony_ci 13062306a36Sopenharmony_ci then: 13162306a36Sopenharmony_ci properties: 13262306a36Sopenharmony_ci ap0-supply: 13362306a36Sopenharmony_ci description: The supply connected to AP0_VCC. 13462306a36Sopenharmony_ci ap1-supply: 13562306a36Sopenharmony_ci description: The supply connected to AP1_VCC. 13662306a36Sopenharmony_ci cif-supply: 13762306a36Sopenharmony_ci description: The supply connected to CIF_VCC. 13862306a36Sopenharmony_ci flash-supply: 13962306a36Sopenharmony_ci description: The supply connected to FLASH_VCC. 14062306a36Sopenharmony_ci lcdc0-supply: 14162306a36Sopenharmony_ci description: The supply connected to LCD0_VCC. 14262306a36Sopenharmony_ci lcdc1-supply: 14362306a36Sopenharmony_ci description: The supply connected to LCD1_VCC. 14462306a36Sopenharmony_ci vccio0-supply: 14562306a36Sopenharmony_ci description: The supply connected to VCCIO0. 14662306a36Sopenharmony_ci vccio1-supply: 14762306a36Sopenharmony_ci description: The supply connected to VCCIO1. Also labeled as VCCIO2. 14862306a36Sopenharmony_ci 14962306a36Sopenharmony_ci rk3228: 15062306a36Sopenharmony_ci if: 15162306a36Sopenharmony_ci properties: 15262306a36Sopenharmony_ci compatible: 15362306a36Sopenharmony_ci contains: 15462306a36Sopenharmony_ci const: rockchip,rk3228-io-voltage-domain 15562306a36Sopenharmony_ci 15662306a36Sopenharmony_ci then: 15762306a36Sopenharmony_ci properties: 15862306a36Sopenharmony_ci vccio1-supply: 15962306a36Sopenharmony_ci description: The supply connected to VCCIO1. 16062306a36Sopenharmony_ci vccio2-supply: 16162306a36Sopenharmony_ci description: The supply connected to VCCIO2. 16262306a36Sopenharmony_ci vccio3-supply: 16362306a36Sopenharmony_ci description: The supply connected to VCCIO3. 16462306a36Sopenharmony_ci vccio4-supply: 16562306a36Sopenharmony_ci description: The supply connected to VCCIO4. 16662306a36Sopenharmony_ci 16762306a36Sopenharmony_ci rk3288: 16862306a36Sopenharmony_ci if: 16962306a36Sopenharmony_ci properties: 17062306a36Sopenharmony_ci compatible: 17162306a36Sopenharmony_ci contains: 17262306a36Sopenharmony_ci const: rockchip,rk3288-io-voltage-domain 17362306a36Sopenharmony_ci 17462306a36Sopenharmony_ci then: 17562306a36Sopenharmony_ci properties: 17662306a36Sopenharmony_ci audio-supply: 17762306a36Sopenharmony_ci description: The supply connected to APIO4_VDD. 17862306a36Sopenharmony_ci bb-supply: 17962306a36Sopenharmony_ci description: The supply connected to APIO5_VDD. 18062306a36Sopenharmony_ci dvp-supply: 18162306a36Sopenharmony_ci description: The supply connected to DVPIO_VDD. 18262306a36Sopenharmony_ci flash0-supply: 18362306a36Sopenharmony_ci description: The supply connected to FLASH0_VDD. Typically for eMMC. 18462306a36Sopenharmony_ci flash1-supply: 18562306a36Sopenharmony_ci description: The supply connected to FLASH1_VDD. Also known as SDIO1. 18662306a36Sopenharmony_ci gpio30-supply: 18762306a36Sopenharmony_ci description: The supply connected to APIO1_VDD. 18862306a36Sopenharmony_ci gpio1830-supply: 18962306a36Sopenharmony_ci description: The supply connected to APIO2_VDD. 19062306a36Sopenharmony_ci lcdc-supply: 19162306a36Sopenharmony_ci description: The supply connected to LCDC_VDD. 19262306a36Sopenharmony_ci sdcard-supply: 19362306a36Sopenharmony_ci description: The supply connected to SDMMC0_VDD. 19462306a36Sopenharmony_ci wifi-supply: 19562306a36Sopenharmony_ci description: The supply connected to APIO3_VDD. Also known as SDIO0. 19662306a36Sopenharmony_ci 19762306a36Sopenharmony_ci rk3328: 19862306a36Sopenharmony_ci if: 19962306a36Sopenharmony_ci properties: 20062306a36Sopenharmony_ci compatible: 20162306a36Sopenharmony_ci contains: 20262306a36Sopenharmony_ci const: rockchip,rk3328-io-voltage-domain 20362306a36Sopenharmony_ci 20462306a36Sopenharmony_ci then: 20562306a36Sopenharmony_ci properties: 20662306a36Sopenharmony_ci vccio1-supply: 20762306a36Sopenharmony_ci description: The supply connected to VCCIO1. 20862306a36Sopenharmony_ci vccio2-supply: 20962306a36Sopenharmony_ci description: The supply connected to VCCIO2. 21062306a36Sopenharmony_ci vccio3-supply: 21162306a36Sopenharmony_ci description: The supply connected to VCCIO3. 21262306a36Sopenharmony_ci vccio4-supply: 21362306a36Sopenharmony_ci description: The supply connected to VCCIO4. 21462306a36Sopenharmony_ci vccio5-supply: 21562306a36Sopenharmony_ci description: The supply connected to VCCIO5. 21662306a36Sopenharmony_ci vccio6-supply: 21762306a36Sopenharmony_ci description: The supply connected to VCCIO6. 21862306a36Sopenharmony_ci pmuio-supply: 21962306a36Sopenharmony_ci description: The supply connected to VCCIO_PMU. 22062306a36Sopenharmony_ci 22162306a36Sopenharmony_ci rk3368: 22262306a36Sopenharmony_ci if: 22362306a36Sopenharmony_ci properties: 22462306a36Sopenharmony_ci compatible: 22562306a36Sopenharmony_ci contains: 22662306a36Sopenharmony_ci const: rockchip,rk3368-io-voltage-domain 22762306a36Sopenharmony_ci 22862306a36Sopenharmony_ci then: 22962306a36Sopenharmony_ci properties: 23062306a36Sopenharmony_ci audio-supply: 23162306a36Sopenharmony_ci description: The supply connected to APIO3_VDD. 23262306a36Sopenharmony_ci dvp-supply: 23362306a36Sopenharmony_ci description: The supply connected to DVPIO_VDD. 23462306a36Sopenharmony_ci flash0-supply: 23562306a36Sopenharmony_ci description: The supply connected to FLASH0_VDD. Typically for eMMC. 23662306a36Sopenharmony_ci gpio30-supply: 23762306a36Sopenharmony_ci description: The supply connected to APIO1_VDD. 23862306a36Sopenharmony_ci gpio1830-supply: 23962306a36Sopenharmony_ci description: The supply connected to APIO4_VDD. 24062306a36Sopenharmony_ci sdcard-supply: 24162306a36Sopenharmony_ci description: The supply connected to SDMMC0_VDD. 24262306a36Sopenharmony_ci wifi-supply: 24362306a36Sopenharmony_ci description: The supply connected to APIO2_VDD. Also known as SDIO0. 24462306a36Sopenharmony_ci 24562306a36Sopenharmony_ci rk3368-pmu: 24662306a36Sopenharmony_ci if: 24762306a36Sopenharmony_ci properties: 24862306a36Sopenharmony_ci compatible: 24962306a36Sopenharmony_ci contains: 25062306a36Sopenharmony_ci const: rockchip,rk3368-pmu-io-voltage-domain 25162306a36Sopenharmony_ci 25262306a36Sopenharmony_ci then: 25362306a36Sopenharmony_ci properties: 25462306a36Sopenharmony_ci pmu-supply: 25562306a36Sopenharmony_ci description: The supply connected to PMUIO_VDD. 25662306a36Sopenharmony_ci vop-supply: 25762306a36Sopenharmony_ci description: The supply connected to LCDC_VDD. 25862306a36Sopenharmony_ci 25962306a36Sopenharmony_ci rk3399: 26062306a36Sopenharmony_ci if: 26162306a36Sopenharmony_ci properties: 26262306a36Sopenharmony_ci compatible: 26362306a36Sopenharmony_ci contains: 26462306a36Sopenharmony_ci const: rockchip,rk3399-io-voltage-domain 26562306a36Sopenharmony_ci 26662306a36Sopenharmony_ci then: 26762306a36Sopenharmony_ci properties: 26862306a36Sopenharmony_ci audio-supply: 26962306a36Sopenharmony_ci description: The supply connected to APIO5_VDD. 27062306a36Sopenharmony_ci bt656-supply: 27162306a36Sopenharmony_ci description: The supply connected to APIO2_VDD. 27262306a36Sopenharmony_ci gpio1830-supply: 27362306a36Sopenharmony_ci description: The supply connected to APIO4_VDD. 27462306a36Sopenharmony_ci sdmmc-supply: 27562306a36Sopenharmony_ci description: The supply connected to SDMMC0_VDD. 27662306a36Sopenharmony_ci 27762306a36Sopenharmony_ci rk3399-pmu: 27862306a36Sopenharmony_ci if: 27962306a36Sopenharmony_ci properties: 28062306a36Sopenharmony_ci compatible: 28162306a36Sopenharmony_ci contains: 28262306a36Sopenharmony_ci const: rockchip,rk3399-pmu-io-voltage-domain 28362306a36Sopenharmony_ci 28462306a36Sopenharmony_ci then: 28562306a36Sopenharmony_ci properties: 28662306a36Sopenharmony_ci pmu1830-supply: 28762306a36Sopenharmony_ci description: The supply connected to PMUIO2_VDD. 28862306a36Sopenharmony_ci 28962306a36Sopenharmony_ci rk3568-pmu: 29062306a36Sopenharmony_ci if: 29162306a36Sopenharmony_ci properties: 29262306a36Sopenharmony_ci compatible: 29362306a36Sopenharmony_ci contains: 29462306a36Sopenharmony_ci const: rockchip,rk3568-pmu-io-voltage-domain 29562306a36Sopenharmony_ci 29662306a36Sopenharmony_ci then: 29762306a36Sopenharmony_ci properties: 29862306a36Sopenharmony_ci pmuio1-supply: 29962306a36Sopenharmony_ci description: The supply connected to PMUIO1. 30062306a36Sopenharmony_ci pmuio2-supply: 30162306a36Sopenharmony_ci description: The supply connected to PMUIO2. 30262306a36Sopenharmony_ci vccio1-supply: 30362306a36Sopenharmony_ci description: The supply connected to VCCIO1. 30462306a36Sopenharmony_ci vccio2-supply: 30562306a36Sopenharmony_ci description: The supply connected to VCCIO2. 30662306a36Sopenharmony_ci vccio3-supply: 30762306a36Sopenharmony_ci description: The supply connected to VCCIO3. 30862306a36Sopenharmony_ci vccio4-supply: 30962306a36Sopenharmony_ci description: The supply connected to VCCIO4. 31062306a36Sopenharmony_ci vccio5-supply: 31162306a36Sopenharmony_ci description: The supply connected to VCCIO5. 31262306a36Sopenharmony_ci vccio6-supply: 31362306a36Sopenharmony_ci description: The supply connected to VCCIO6. 31462306a36Sopenharmony_ci vccio7-supply: 31562306a36Sopenharmony_ci description: The supply connected to VCCIO7. 31662306a36Sopenharmony_ci 31762306a36Sopenharmony_ci rv1108: 31862306a36Sopenharmony_ci if: 31962306a36Sopenharmony_ci properties: 32062306a36Sopenharmony_ci compatible: 32162306a36Sopenharmony_ci contains: 32262306a36Sopenharmony_ci const: rockchip,rv1108-io-voltage-domain 32362306a36Sopenharmony_ci 32462306a36Sopenharmony_ci then: 32562306a36Sopenharmony_ci properties: 32662306a36Sopenharmony_ci vccio1-supply: 32762306a36Sopenharmony_ci description: The supply connected to APIO1_VDD. 32862306a36Sopenharmony_ci vccio2-supply: 32962306a36Sopenharmony_ci description: The supply connected to APIO2_VDD. 33062306a36Sopenharmony_ci vccio3-supply: 33162306a36Sopenharmony_ci description: The supply connected to APIO3_VDD. 33262306a36Sopenharmony_ci vccio5-supply: 33362306a36Sopenharmony_ci description: The supply connected to APIO5_VDD. 33462306a36Sopenharmony_ci vccio6-supply: 33562306a36Sopenharmony_ci description: The supply connected to APIO6_VDD. 33662306a36Sopenharmony_ci 33762306a36Sopenharmony_ci rv1108-pmu: 33862306a36Sopenharmony_ci if: 33962306a36Sopenharmony_ci properties: 34062306a36Sopenharmony_ci compatible: 34162306a36Sopenharmony_ci contains: 34262306a36Sopenharmony_ci const: rockchip,rv1108-pmu-io-voltage-domain 34362306a36Sopenharmony_ci 34462306a36Sopenharmony_ci then: 34562306a36Sopenharmony_ci properties: 34662306a36Sopenharmony_ci pmu-supply: 34762306a36Sopenharmony_ci description: The supply connected to PMUIO_VDD. 34862306a36Sopenharmony_ci 34962306a36Sopenharmony_ci rv1126-pmu: 35062306a36Sopenharmony_ci if: 35162306a36Sopenharmony_ci properties: 35262306a36Sopenharmony_ci compatible: 35362306a36Sopenharmony_ci contains: 35462306a36Sopenharmony_ci const: rockchip,rv1126-pmu-io-voltage-domain 35562306a36Sopenharmony_ci 35662306a36Sopenharmony_ci then: 35762306a36Sopenharmony_ci properties: 35862306a36Sopenharmony_ci vccio1-supply: 35962306a36Sopenharmony_ci description: The supply connected to VCCIO1. 36062306a36Sopenharmony_ci vccio2-supply: 36162306a36Sopenharmony_ci description: The supply connected to VCCIO2. 36262306a36Sopenharmony_ci vccio3-supply: 36362306a36Sopenharmony_ci description: The supply connected to VCCIO3. 36462306a36Sopenharmony_ci vccio4-supply: 36562306a36Sopenharmony_ci description: The supply connected to VCCIO4. 36662306a36Sopenharmony_ci vccio5-supply: 36762306a36Sopenharmony_ci description: The supply connected to VCCIO5. 36862306a36Sopenharmony_ci vccio6-supply: 36962306a36Sopenharmony_ci description: The supply connected to VCCIO6. 37062306a36Sopenharmony_ci vccio7-supply: 37162306a36Sopenharmony_ci description: The supply connected to VCCIO7. 37262306a36Sopenharmony_ci pmuio0-supply: 37362306a36Sopenharmony_ci description: The supply connected to PMUIO0. 37462306a36Sopenharmony_ci pmuio1-supply: 37562306a36Sopenharmony_ci description: The supply connected to PMUIO1. 37662306a36Sopenharmony_ci 37762306a36Sopenharmony_ciexamples: 37862306a36Sopenharmony_ci - | 37962306a36Sopenharmony_ci io-domains { 38062306a36Sopenharmony_ci compatible = "rockchip,rk3288-io-voltage-domain"; 38162306a36Sopenharmony_ci audio-supply = <&vcc18_codec>; 38262306a36Sopenharmony_ci bb-supply = <&vcc33_io>; 38362306a36Sopenharmony_ci dvp-supply = <&vcc_18>; 38462306a36Sopenharmony_ci flash0-supply = <&vcc18_flashio>; 38562306a36Sopenharmony_ci gpio1830-supply = <&vcc33_io>; 38662306a36Sopenharmony_ci gpio30-supply = <&vcc33_pmuio>; 38762306a36Sopenharmony_ci lcdc-supply = <&vcc33_lcd>; 38862306a36Sopenharmony_ci sdcard-supply = <&vccio_sd>; 38962306a36Sopenharmony_ci wifi-supply = <&vcc18_wl>; 39062306a36Sopenharmony_ci }; 391