1 # SPDX-License-Identifier: GPL-2.0 1 # SPDX-License-Identifier: GPL-2.0 2 %YAML 1.2 2 %YAML 1.2 3 --- 3 --- 4 $id: http://devicetree.org/schemas/power/rockc 4 $id: http://devicetree.org/schemas/power/rockchip-io-domain.yaml# 5 $schema: http://devicetree.org/meta-schemas/co 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 6 6 7 title: Rockchip SRAM for IO Voltage Domains 7 title: Rockchip SRAM for IO Voltage Domains 8 8 9 maintainers: 9 maintainers: 10 - Heiko Stuebner <heiko@sntech.de> 10 - Heiko Stuebner <heiko@sntech.de> 11 11 12 description: | 12 description: | 13 IO domain voltages on some Rockchip SoCs are 13 IO domain voltages on some Rockchip SoCs are variable but need to be 14 kept in sync between the regulators and the 14 kept in sync between the regulators and the SoC using a special 15 register. 15 register. 16 16 17 A specific example using rk3288 17 A specific example using rk3288 18 If the regulator hooked up to a pin like S 18 If the regulator hooked up to a pin like SDMMC0_VDD is 3.3V then 19 bit 7 of GRF_IO_VSEL needs to be 0. If the 19 bit 7 of GRF_IO_VSEL needs to be 0. If the regulator hooked up to 20 that same pin is 1.8V then bit 7 of GRF_IO 20 that same pin is 1.8V then bit 7 of GRF_IO_VSEL needs to be 1. 21 21 22 Said another way, this driver simply handles 22 Said another way, this driver simply handles keeping bits in the SoCs 23 General Register File (GRF) in sync with the 23 General Register File (GRF) in sync with the actual value of a voltage 24 hooked up to the pins. 24 hooked up to the pins. 25 25 26 Note that this driver specifically does not 26 Note that this driver specifically does not include 27 any logic for deciding what voltage we sho 27 any logic for deciding what voltage we should set regulators to 28 any logic for deciding whether regulators 28 any logic for deciding whether regulators (or internal SoC blocks) 29 should have power or not have power 29 should have power or not have power 30 30 31 If there were some other software that had t 31 If there were some other software that had the smarts of making 32 decisions about regulators, it would work in 32 decisions about regulators, it would work in conjunction with this 33 driver. When that other software adjusted a 33 driver. When that other software adjusted a regulators voltage then 34 this driver would handle telling the SoC abo 34 this driver would handle telling the SoC about it. A good example is 35 vqmmc for SD. In that case the dw_mmc driver 35 vqmmc for SD. In that case the dw_mmc driver simply is told about a 36 regulator. It changes the regulator between 36 regulator. It changes the regulator between 3.3V and 1.8V at the 37 right time. This driver notices the change a 37 right time. This driver notices the change and makes sure that the 38 SoC is on the same page. 38 SoC is on the same page. 39 39 40 You specify supplies using the standard regu 40 You specify supplies using the standard regulator bindings by including 41 a phandle the relevant regulator. All specif 41 a phandle the relevant regulator. All specified supplies must be able 42 to report their voltage. The IO Voltage Doma 42 to report their voltage. The IO Voltage Domain for any non-specified 43 supplies will be not be touched. 43 supplies will be not be touched. 44 44 45 properties: 45 properties: 46 compatible: 46 compatible: 47 enum: 47 enum: 48 - rockchip,px30-io-voltage-domain 48 - rockchip,px30-io-voltage-domain 49 - rockchip,px30-pmu-io-voltage-domain 49 - rockchip,px30-pmu-io-voltage-domain 50 - rockchip,rk3188-io-voltage-domain 50 - rockchip,rk3188-io-voltage-domain 51 - rockchip,rk3228-io-voltage-domain 51 - rockchip,rk3228-io-voltage-domain 52 - rockchip,rk3288-io-voltage-domain 52 - rockchip,rk3288-io-voltage-domain 53 - rockchip,rk3308-io-voltage-domain << 54 - rockchip,rk3328-io-voltage-domain 53 - rockchip,rk3328-io-voltage-domain 55 - rockchip,rk3368-io-voltage-domain 54 - rockchip,rk3368-io-voltage-domain 56 - rockchip,rk3368-pmu-io-voltage-domain 55 - rockchip,rk3368-pmu-io-voltage-domain 57 - rockchip,rk3399-io-voltage-domain 56 - rockchip,rk3399-io-voltage-domain 58 - rockchip,rk3399-pmu-io-voltage-domain 57 - rockchip,rk3399-pmu-io-voltage-domain 59 - rockchip,rk3568-pmu-io-voltage-domain 58 - rockchip,rk3568-pmu-io-voltage-domain 60 - rockchip,rv1108-io-voltage-domain 59 - rockchip,rv1108-io-voltage-domain 61 - rockchip,rv1108-pmu-io-voltage-domain 60 - rockchip,rv1108-pmu-io-voltage-domain 62 - rockchip,rv1126-pmu-io-voltage-domain 61 - rockchip,rv1126-pmu-io-voltage-domain 63 62 64 required: 63 required: 65 - compatible 64 - compatible 66 65 67 unevaluatedProperties: false 66 unevaluatedProperties: false 68 67 69 allOf: 68 allOf: 70 - $ref: "#/$defs/px30" 69 - $ref: "#/$defs/px30" 71 - $ref: "#/$defs/px30-pmu" 70 - $ref: "#/$defs/px30-pmu" 72 - $ref: "#/$defs/rk3188" 71 - $ref: "#/$defs/rk3188" 73 - $ref: "#/$defs/rk3228" 72 - $ref: "#/$defs/rk3228" 74 - $ref: "#/$defs/rk3288" 73 - $ref: "#/$defs/rk3288" 75 - $ref: "#/$defs/rk3308" << 76 - $ref: "#/$defs/rk3328" 74 - $ref: "#/$defs/rk3328" 77 - $ref: "#/$defs/rk3368" 75 - $ref: "#/$defs/rk3368" 78 - $ref: "#/$defs/rk3368-pmu" 76 - $ref: "#/$defs/rk3368-pmu" 79 - $ref: "#/$defs/rk3399" 77 - $ref: "#/$defs/rk3399" 80 - $ref: "#/$defs/rk3399-pmu" 78 - $ref: "#/$defs/rk3399-pmu" 81 - $ref: "#/$defs/rk3568-pmu" 79 - $ref: "#/$defs/rk3568-pmu" 82 - $ref: "#/$defs/rv1108" 80 - $ref: "#/$defs/rv1108" 83 - $ref: "#/$defs/rv1108-pmu" 81 - $ref: "#/$defs/rv1108-pmu" 84 - $ref: "#/$defs/rv1126-pmu" 82 - $ref: "#/$defs/rv1126-pmu" 85 83 86 $defs: 84 $defs: 87 px30: 85 px30: 88 if: 86 if: 89 properties: 87 properties: 90 compatible: 88 compatible: 91 contains: 89 contains: 92 const: rockchip,px30-io-voltage-do 90 const: rockchip,px30-io-voltage-domain 93 91 94 then: 92 then: 95 properties: 93 properties: 96 vccio1-supply: 94 vccio1-supply: 97 description: The supply connected to 95 description: The supply connected to VCCIO1. 98 vccio2-supply: 96 vccio2-supply: 99 description: The supply connected to 97 description: The supply connected to VCCIO2. 100 vccio3-supply: 98 vccio3-supply: 101 description: The supply connected to 99 description: The supply connected to VCCIO3. 102 vccio4-supply: 100 vccio4-supply: 103 description: The supply connected to 101 description: The supply connected to VCCIO4. 104 vccio5-supply: 102 vccio5-supply: 105 description: The supply connected to 103 description: The supply connected to VCCIO5. 106 vccio6-supply: 104 vccio6-supply: 107 description: The supply connected to 105 description: The supply connected to VCCIO6. 108 vccio-oscgpi-supply: 106 vccio-oscgpi-supply: 109 description: The supply connected to 107 description: The supply connected to VCCIO_OSCGPI. 110 108 111 px30-pmu: 109 px30-pmu: 112 if: 110 if: 113 properties: 111 properties: 114 compatible: 112 compatible: 115 contains: 113 contains: 116 const: rockchip,px30-pmu-io-voltag 114 const: rockchip,px30-pmu-io-voltage-domain 117 115 118 then: 116 then: 119 properties: 117 properties: 120 pmuio1-supply: 118 pmuio1-supply: 121 description: The supply connected to 119 description: The supply connected to PMUIO1. 122 pmuio2-supply: 120 pmuio2-supply: 123 description: The supply connected to 121 description: The supply connected to PMUIO2. 124 122 125 rk3188: 123 rk3188: 126 if: 124 if: 127 properties: 125 properties: 128 compatible: 126 compatible: 129 contains: 127 contains: 130 const: rockchip,rk3188-io-voltage- 128 const: rockchip,rk3188-io-voltage-domain 131 129 132 then: 130 then: 133 properties: 131 properties: 134 ap0-supply: 132 ap0-supply: 135 description: The supply connected to 133 description: The supply connected to AP0_VCC. 136 ap1-supply: 134 ap1-supply: 137 description: The supply connected to 135 description: The supply connected to AP1_VCC. 138 cif-supply: 136 cif-supply: 139 description: The supply connected to 137 description: The supply connected to CIF_VCC. 140 flash-supply: 138 flash-supply: 141 description: The supply connected to 139 description: The supply connected to FLASH_VCC. 142 lcdc0-supply: 140 lcdc0-supply: 143 description: The supply connected to 141 description: The supply connected to LCD0_VCC. 144 lcdc1-supply: 142 lcdc1-supply: 145 description: The supply connected to 143 description: The supply connected to LCD1_VCC. 146 vccio0-supply: 144 vccio0-supply: 147 description: The supply connected to 145 description: The supply connected to VCCIO0. 148 vccio1-supply: 146 vccio1-supply: 149 description: The supply connected to 147 description: The supply connected to VCCIO1. Also labeled as VCCIO2. 150 148 151 rk3228: 149 rk3228: 152 if: 150 if: 153 properties: 151 properties: 154 compatible: 152 compatible: 155 contains: 153 contains: 156 const: rockchip,rk3228-io-voltage- 154 const: rockchip,rk3228-io-voltage-domain 157 155 158 then: 156 then: 159 properties: 157 properties: 160 vccio1-supply: 158 vccio1-supply: 161 description: The supply connected to 159 description: The supply connected to VCCIO1. 162 vccio2-supply: 160 vccio2-supply: 163 description: The supply connected to 161 description: The supply connected to VCCIO2. 164 vccio3-supply: 162 vccio3-supply: 165 description: The supply connected to 163 description: The supply connected to VCCIO3. 166 vccio4-supply: 164 vccio4-supply: 167 description: The supply connected to 165 description: The supply connected to VCCIO4. 168 166 169 rk3288: 167 rk3288: 170 if: 168 if: 171 properties: 169 properties: 172 compatible: 170 compatible: 173 contains: 171 contains: 174 const: rockchip,rk3288-io-voltage- 172 const: rockchip,rk3288-io-voltage-domain 175 173 176 then: 174 then: 177 properties: 175 properties: 178 audio-supply: 176 audio-supply: 179 description: The supply connected to 177 description: The supply connected to APIO4_VDD. 180 bb-supply: 178 bb-supply: 181 description: The supply connected to 179 description: The supply connected to APIO5_VDD. 182 dvp-supply: 180 dvp-supply: 183 description: The supply connected to 181 description: The supply connected to DVPIO_VDD. 184 flash0-supply: 182 flash0-supply: 185 description: The supply connected to 183 description: The supply connected to FLASH0_VDD. Typically for eMMC. 186 flash1-supply: 184 flash1-supply: 187 description: The supply connected to 185 description: The supply connected to FLASH1_VDD. Also known as SDIO1. 188 gpio30-supply: 186 gpio30-supply: 189 description: The supply connected to 187 description: The supply connected to APIO1_VDD. 190 gpio1830-supply: 188 gpio1830-supply: 191 description: The supply connected to 189 description: The supply connected to APIO2_VDD. 192 lcdc-supply: 190 lcdc-supply: 193 description: The supply connected to 191 description: The supply connected to LCDC_VDD. 194 sdcard-supply: 192 sdcard-supply: 195 description: The supply connected to 193 description: The supply connected to SDMMC0_VDD. 196 wifi-supply: 194 wifi-supply: 197 description: The supply connected to 195 description: The supply connected to APIO3_VDD. Also known as SDIO0. 198 << 199 rk3308: << 200 if: << 201 properties: << 202 compatible: << 203 contains: << 204 const: rockchip,rk3308-io-voltage- << 205 << 206 then: << 207 properties: << 208 vccio0-supply: << 209 description: The supply connected to << 210 vccio1-supply: << 211 description: The supply connected to << 212 vccio2-supply: << 213 description: The supply connected to << 214 vccio3-supply: << 215 description: The supply connected to << 216 vccio4-supply: << 217 description: The supply connected to << 218 vccio5-supply: << 219 description: The supply connected to << 220 196 221 rk3328: 197 rk3328: 222 if: 198 if: 223 properties: 199 properties: 224 compatible: 200 compatible: 225 contains: 201 contains: 226 const: rockchip,rk3328-io-voltage- 202 const: rockchip,rk3328-io-voltage-domain 227 203 228 then: 204 then: 229 properties: 205 properties: 230 vccio1-supply: 206 vccio1-supply: 231 description: The supply connected to 207 description: The supply connected to VCCIO1. 232 vccio2-supply: 208 vccio2-supply: 233 description: The supply connected to 209 description: The supply connected to VCCIO2. 234 vccio3-supply: 210 vccio3-supply: 235 description: The supply connected to 211 description: The supply connected to VCCIO3. 236 vccio4-supply: 212 vccio4-supply: 237 description: The supply connected to 213 description: The supply connected to VCCIO4. 238 vccio5-supply: 214 vccio5-supply: 239 description: The supply connected to 215 description: The supply connected to VCCIO5. 240 vccio6-supply: 216 vccio6-supply: 241 description: The supply connected to 217 description: The supply connected to VCCIO6. 242 pmuio-supply: 218 pmuio-supply: 243 description: The supply connected to 219 description: The supply connected to VCCIO_PMU. 244 220 245 rk3368: 221 rk3368: 246 if: 222 if: 247 properties: 223 properties: 248 compatible: 224 compatible: 249 contains: 225 contains: 250 const: rockchip,rk3368-io-voltage- 226 const: rockchip,rk3368-io-voltage-domain 251 227 252 then: 228 then: 253 properties: 229 properties: 254 audio-supply: 230 audio-supply: 255 description: The supply connected to 231 description: The supply connected to APIO3_VDD. 256 dvp-supply: 232 dvp-supply: 257 description: The supply connected to 233 description: The supply connected to DVPIO_VDD. 258 flash0-supply: 234 flash0-supply: 259 description: The supply connected to 235 description: The supply connected to FLASH0_VDD. Typically for eMMC. 260 gpio30-supply: 236 gpio30-supply: 261 description: The supply connected to 237 description: The supply connected to APIO1_VDD. 262 gpio1830-supply: 238 gpio1830-supply: 263 description: The supply connected to 239 description: The supply connected to APIO4_VDD. 264 sdcard-supply: 240 sdcard-supply: 265 description: The supply connected to 241 description: The supply connected to SDMMC0_VDD. 266 wifi-supply: 242 wifi-supply: 267 description: The supply connected to 243 description: The supply connected to APIO2_VDD. Also known as SDIO0. 268 244 269 rk3368-pmu: 245 rk3368-pmu: 270 if: 246 if: 271 properties: 247 properties: 272 compatible: 248 compatible: 273 contains: 249 contains: 274 const: rockchip,rk3368-pmu-io-volt 250 const: rockchip,rk3368-pmu-io-voltage-domain 275 251 276 then: 252 then: 277 properties: 253 properties: 278 pmu-supply: 254 pmu-supply: 279 description: The supply connected to 255 description: The supply connected to PMUIO_VDD. 280 vop-supply: 256 vop-supply: 281 description: The supply connected to 257 description: The supply connected to LCDC_VDD. 282 258 283 rk3399: 259 rk3399: 284 if: 260 if: 285 properties: 261 properties: 286 compatible: 262 compatible: 287 contains: 263 contains: 288 const: rockchip,rk3399-io-voltage- 264 const: rockchip,rk3399-io-voltage-domain 289 265 290 then: 266 then: 291 properties: 267 properties: 292 audio-supply: 268 audio-supply: 293 description: The supply connected to 269 description: The supply connected to APIO5_VDD. 294 bt656-supply: 270 bt656-supply: 295 description: The supply connected to 271 description: The supply connected to APIO2_VDD. 296 gpio1830-supply: 272 gpio1830-supply: 297 description: The supply connected to 273 description: The supply connected to APIO4_VDD. 298 sdmmc-supply: 274 sdmmc-supply: 299 description: The supply connected to 275 description: The supply connected to SDMMC0_VDD. 300 276 301 rk3399-pmu: 277 rk3399-pmu: 302 if: 278 if: 303 properties: 279 properties: 304 compatible: 280 compatible: 305 contains: 281 contains: 306 const: rockchip,rk3399-pmu-io-volt 282 const: rockchip,rk3399-pmu-io-voltage-domain 307 283 308 then: 284 then: 309 properties: 285 properties: 310 pmu1830-supply: 286 pmu1830-supply: 311 description: The supply connected to 287 description: The supply connected to PMUIO2_VDD. 312 288 313 rk3568-pmu: 289 rk3568-pmu: 314 if: 290 if: 315 properties: 291 properties: 316 compatible: 292 compatible: 317 contains: 293 contains: 318 const: rockchip,rk3568-pmu-io-volt 294 const: rockchip,rk3568-pmu-io-voltage-domain 319 295 320 then: 296 then: 321 properties: 297 properties: 322 pmuio1-supply: 298 pmuio1-supply: 323 description: The supply connected to 299 description: The supply connected to PMUIO1. 324 pmuio2-supply: 300 pmuio2-supply: 325 description: The supply connected to 301 description: The supply connected to PMUIO2. 326 vccio1-supply: 302 vccio1-supply: 327 description: The supply connected to 303 description: The supply connected to VCCIO1. 328 vccio2-supply: 304 vccio2-supply: 329 description: The supply connected to 305 description: The supply connected to VCCIO2. 330 vccio3-supply: 306 vccio3-supply: 331 description: The supply connected to 307 description: The supply connected to VCCIO3. 332 vccio4-supply: 308 vccio4-supply: 333 description: The supply connected to 309 description: The supply connected to VCCIO4. 334 vccio5-supply: 310 vccio5-supply: 335 description: The supply connected to 311 description: The supply connected to VCCIO5. 336 vccio6-supply: 312 vccio6-supply: 337 description: The supply connected to 313 description: The supply connected to VCCIO6. 338 vccio7-supply: 314 vccio7-supply: 339 description: The supply connected to 315 description: The supply connected to VCCIO7. 340 316 341 rv1108: 317 rv1108: 342 if: 318 if: 343 properties: 319 properties: 344 compatible: 320 compatible: 345 contains: 321 contains: 346 const: rockchip,rv1108-io-voltage- 322 const: rockchip,rv1108-io-voltage-domain 347 323 348 then: 324 then: 349 properties: 325 properties: 350 vccio1-supply: 326 vccio1-supply: 351 description: The supply connected to 327 description: The supply connected to APIO1_VDD. 352 vccio2-supply: 328 vccio2-supply: 353 description: The supply connected to 329 description: The supply connected to APIO2_VDD. 354 vccio3-supply: 330 vccio3-supply: 355 description: The supply connected to 331 description: The supply connected to APIO3_VDD. 356 vccio5-supply: 332 vccio5-supply: 357 description: The supply connected to 333 description: The supply connected to APIO5_VDD. 358 vccio6-supply: 334 vccio6-supply: 359 description: The supply connected to 335 description: The supply connected to APIO6_VDD. 360 336 361 rv1108-pmu: 337 rv1108-pmu: 362 if: 338 if: 363 properties: 339 properties: 364 compatible: 340 compatible: 365 contains: 341 contains: 366 const: rockchip,rv1108-pmu-io-volt 342 const: rockchip,rv1108-pmu-io-voltage-domain 367 343 368 then: 344 then: 369 properties: 345 properties: 370 pmu-supply: 346 pmu-supply: 371 description: The supply connected to 347 description: The supply connected to PMUIO_VDD. 372 348 373 rv1126-pmu: 349 rv1126-pmu: 374 if: 350 if: 375 properties: 351 properties: 376 compatible: 352 compatible: 377 contains: 353 contains: 378 const: rockchip,rv1126-pmu-io-volt 354 const: rockchip,rv1126-pmu-io-voltage-domain 379 355 380 then: 356 then: 381 properties: 357 properties: 382 vccio1-supply: 358 vccio1-supply: 383 description: The supply connected to 359 description: The supply connected to VCCIO1. 384 vccio2-supply: 360 vccio2-supply: 385 description: The supply connected to 361 description: The supply connected to VCCIO2. 386 vccio3-supply: 362 vccio3-supply: 387 description: The supply connected to 363 description: The supply connected to VCCIO3. 388 vccio4-supply: 364 vccio4-supply: 389 description: The supply connected to 365 description: The supply connected to VCCIO4. 390 vccio5-supply: 366 vccio5-supply: 391 description: The supply connected to 367 description: The supply connected to VCCIO5. 392 vccio6-supply: 368 vccio6-supply: 393 description: The supply connected to 369 description: The supply connected to VCCIO6. 394 vccio7-supply: 370 vccio7-supply: 395 description: The supply connected to 371 description: The supply connected to VCCIO7. 396 pmuio0-supply: 372 pmuio0-supply: 397 description: The supply connected to 373 description: The supply connected to PMUIO0. 398 pmuio1-supply: 374 pmuio1-supply: 399 description: The supply connected to 375 description: The supply connected to PMUIO1. 400 376 401 examples: 377 examples: 402 - | 378 - | 403 io-domains { 379 io-domains { 404 compatible = "rockchip,rk3288-io-voltage 380 compatible = "rockchip,rk3288-io-voltage-domain"; 405 audio-supply = <&vcc18_codec>; 381 audio-supply = <&vcc18_codec>; 406 bb-supply = <&vcc33_io>; 382 bb-supply = <&vcc33_io>; 407 dvp-supply = <&vcc_18>; 383 dvp-supply = <&vcc_18>; 408 flash0-supply = <&vcc18_flashio>; 384 flash0-supply = <&vcc18_flashio>; 409 gpio1830-supply = <&vcc33_io>; 385 gpio1830-supply = <&vcc33_io>; 410 gpio30-supply = <&vcc33_pmuio>; 386 gpio30-supply = <&vcc33_pmuio>; 411 lcdc-supply = <&vcc33_lcd>; 387 lcdc-supply = <&vcc33_lcd>; 412 sdcard-supply = <&vccio_sd>; 388 sdcard-supply = <&vccio_sd>; 413 wifi-supply = <&vcc18_wl>; 389 wifi-supply = <&vcc18_wl>; 414 }; 390 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.