123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- 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,rk3368-io-voltage-domain" for rk3368
- - "rockchip,rk3368-pmu-io-voltage-domain" for rk3368 pmu-domains
- - "rockchip,rk3399-io-voltage-domain" for rk3399
- - "rockchip,rk3399-pmu-io-voltage-domain" for rk3399 pmu-domains
- Deprecated properties:
- - rockchip,grf: phandle to the syscon managing the "general register files"
- Systems should move the io-domains to a sub-node of the grf simple-mfd.
- 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.
- Possible supplies for rk3368:
- - audio-supply: The supply connected to APIO3_VDD.
- - dvp-supply: The supply connected to DVPIO_VDD.
- - flash0-supply: The supply connected to FLASH0_VDD. Typically for eMMC
- - gpio30-supply: The supply connected to APIO1_VDD.
- - gpio1830 The supply connected to APIO4_VDD.
- - sdcard-supply: The supply connected to SDMMC0_VDD.
- - wifi-supply: The supply connected to APIO2_VDD. Also known as SDIO0.
- Possible supplies for rk3368 pmu-domains:
- - pmu-supply: The supply connected to PMUIO_VDD.
- - vop-supply: The supply connected to LCDC_VDD.
- Possible supplies for rk3399:
- - bt656-supply: The supply connected to APIO2_VDD.
- - audio-supply: The supply connected to APIO5_VDD.
- - sdmmc-supply: The supply connected to SDMMC0_VDD.
- - gpio1830 The supply connected to APIO4_VDD.
- Possible supplies for rk3399 pmu-domains:
- - pmu1830-supply:The supply connected to PMUIO2_VDD.
- 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>;
- };
|