mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
135 lines
5.5 KiB
135 lines
5.5 KiB
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,px30-io-voltage-domain" for px30 |
|
- "rockchip,px30-pmu-io-voltage-domain" for px30 pmu-domains |
|
- "rockchip,rk3188-io-voltage-domain" for rk3188 |
|
- "rockchip,rk3228-io-voltage-domain" for rk3228 |
|
- "rockchip,rk3288-io-voltage-domain" for rk3288 |
|
- "rockchip,rk3328-io-voltage-domain" for rk3328 |
|
- "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 |
|
- "rockchip,rv1108-io-voltage-domain" for rv1108 |
|
- "rockchip,rv1108-pmu-io-voltage-domain" for rv1108 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 PX30: |
|
- vccio6-supply: The supply connected to VCCIO6. |
|
- vccio1-supply: The supply connected to VCCIO1. |
|
- vccio2-supply: The supply connected to VCCIO2. |
|
- vccio3-supply: The supply connected to VCCIO3. |
|
- vccio4-supply: The supply connected to VCCIO4. |
|
- vccio5-supply: The supply connected to VCCIO5. |
|
- vccio-oscgpi-supply: The supply connected to VCCIO_OSCGPI. |
|
|
|
Possible supplies for PX30 pmu-domains: |
|
- pmuio1-supply: The supply connected to PMUIO1. |
|
- pmuio2-supply: The supply connected to PMUIO2. |
|
|
|
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 rk3228: |
|
- vccio1-supply: The supply connected to VCCIO1. |
|
- vccio2-supply: The supply connected to VCCIO2. |
|
- vccio3-supply: The supply connected to VCCIO3. |
|
- vccio4-supply: The supply connected to VCCIO4. |
|
|
|
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>; |
|
};
|
|
|