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 53 - rockchip,rk3308-io-voltage-domain 54 - rockchip,rk3328-io-voltage-domain 54 - rockchip,rk3328-io-voltage-domain 55 - rockchip,rk3368-io-voltage-domain 55 - rockchip,rk3368-io-voltage-domain 56 - rockchip,rk3368-pmu-io-voltage-domain 56 - rockchip,rk3368-pmu-io-voltage-domain 57 - rockchip,rk3399-io-voltage-domain 57 - rockchip,rk3399-io-voltage-domain 58 - rockchip,rk3399-pmu-io-voltage-domain 58 - rockchip,rk3399-pmu-io-voltage-domain 59 - rockchip,rk3568-pmu-io-voltage-domain 59 - rockchip,rk3568-pmu-io-voltage-domain 60 - rockchip,rv1108-io-voltage-domain 60 - rockchip,rv1108-io-voltage-domain 61 - rockchip,rv1108-pmu-io-voltage-domain 61 - rockchip,rv1108-pmu-io-voltage-domain 62 - rockchip,rv1126-pmu-io-voltage-domain 62 - rockchip,rv1126-pmu-io-voltage-domain 63 63 64 required: 64 required: 65 - compatible 65 - compatible 66 66 67 unevaluatedProperties: false 67 unevaluatedProperties: false 68 68 69 allOf: 69 allOf: 70 - $ref: "#/$defs/px30" 70 - $ref: "#/$defs/px30" 71 - $ref: "#/$defs/px30-pmu" 71 - $ref: "#/$defs/px30-pmu" 72 - $ref: "#/$defs/rk3188" 72 - $ref: "#/$defs/rk3188" 73 - $ref: "#/$defs/rk3228" 73 - $ref: "#/$defs/rk3228" 74 - $ref: "#/$defs/rk3288" 74 - $ref: "#/$defs/rk3288" 75 - $ref: "#/$defs/rk3308" 75 - $ref: "#/$defs/rk3308" 76 - $ref: "#/$defs/rk3328" 76 - $ref: "#/$defs/rk3328" 77 - $ref: "#/$defs/rk3368" 77 - $ref: "#/$defs/rk3368" 78 - $ref: "#/$defs/rk3368-pmu" 78 - $ref: "#/$defs/rk3368-pmu" 79 - $ref: "#/$defs/rk3399" 79 - $ref: "#/$defs/rk3399" 80 - $ref: "#/$defs/rk3399-pmu" 80 - $ref: "#/$defs/rk3399-pmu" 81 - $ref: "#/$defs/rk3568-pmu" 81 - $ref: "#/$defs/rk3568-pmu" 82 - $ref: "#/$defs/rv1108" 82 - $ref: "#/$defs/rv1108" 83 - $ref: "#/$defs/rv1108-pmu" 83 - $ref: "#/$defs/rv1108-pmu" 84 - $ref: "#/$defs/rv1126-pmu" 84 - $ref: "#/$defs/rv1126-pmu" 85 85 86 $defs: 86 $defs: 87 px30: 87 px30: 88 if: 88 if: 89 properties: 89 properties: 90 compatible: 90 compatible: 91 contains: 91 contains: 92 const: rockchip,px30-io-voltage-do 92 const: rockchip,px30-io-voltage-domain 93 93 94 then: 94 then: 95 properties: 95 properties: 96 vccio1-supply: 96 vccio1-supply: 97 description: The supply connected to 97 description: The supply connected to VCCIO1. 98 vccio2-supply: 98 vccio2-supply: 99 description: The supply connected to 99 description: The supply connected to VCCIO2. 100 vccio3-supply: 100 vccio3-supply: 101 description: The supply connected to 101 description: The supply connected to VCCIO3. 102 vccio4-supply: 102 vccio4-supply: 103 description: The supply connected to 103 description: The supply connected to VCCIO4. 104 vccio5-supply: 104 vccio5-supply: 105 description: The supply connected to 105 description: The supply connected to VCCIO5. 106 vccio6-supply: 106 vccio6-supply: 107 description: The supply connected to 107 description: The supply connected to VCCIO6. 108 vccio-oscgpi-supply: 108 vccio-oscgpi-supply: 109 description: The supply connected to 109 description: The supply connected to VCCIO_OSCGPI. 110 110 111 px30-pmu: 111 px30-pmu: 112 if: 112 if: 113 properties: 113 properties: 114 compatible: 114 compatible: 115 contains: 115 contains: 116 const: rockchip,px30-pmu-io-voltag 116 const: rockchip,px30-pmu-io-voltage-domain 117 117 118 then: 118 then: 119 properties: 119 properties: 120 pmuio1-supply: 120 pmuio1-supply: 121 description: The supply connected to 121 description: The supply connected to PMUIO1. 122 pmuio2-supply: 122 pmuio2-supply: 123 description: The supply connected to 123 description: The supply connected to PMUIO2. 124 124 125 rk3188: 125 rk3188: 126 if: 126 if: 127 properties: 127 properties: 128 compatible: 128 compatible: 129 contains: 129 contains: 130 const: rockchip,rk3188-io-voltage- 130 const: rockchip,rk3188-io-voltage-domain 131 131 132 then: 132 then: 133 properties: 133 properties: 134 ap0-supply: 134 ap0-supply: 135 description: The supply connected to 135 description: The supply connected to AP0_VCC. 136 ap1-supply: 136 ap1-supply: 137 description: The supply connected to 137 description: The supply connected to AP1_VCC. 138 cif-supply: 138 cif-supply: 139 description: The supply connected to 139 description: The supply connected to CIF_VCC. 140 flash-supply: 140 flash-supply: 141 description: The supply connected to 141 description: The supply connected to FLASH_VCC. 142 lcdc0-supply: 142 lcdc0-supply: 143 description: The supply connected to 143 description: The supply connected to LCD0_VCC. 144 lcdc1-supply: 144 lcdc1-supply: 145 description: The supply connected to 145 description: The supply connected to LCD1_VCC. 146 vccio0-supply: 146 vccio0-supply: 147 description: The supply connected to 147 description: The supply connected to VCCIO0. 148 vccio1-supply: 148 vccio1-supply: 149 description: The supply connected to 149 description: The supply connected to VCCIO1. Also labeled as VCCIO2. 150 150 151 rk3228: 151 rk3228: 152 if: 152 if: 153 properties: 153 properties: 154 compatible: 154 compatible: 155 contains: 155 contains: 156 const: rockchip,rk3228-io-voltage- 156 const: rockchip,rk3228-io-voltage-domain 157 157 158 then: 158 then: 159 properties: 159 properties: 160 vccio1-supply: 160 vccio1-supply: 161 description: The supply connected to 161 description: The supply connected to VCCIO1. 162 vccio2-supply: 162 vccio2-supply: 163 description: The supply connected to 163 description: The supply connected to VCCIO2. 164 vccio3-supply: 164 vccio3-supply: 165 description: The supply connected to 165 description: The supply connected to VCCIO3. 166 vccio4-supply: 166 vccio4-supply: 167 description: The supply connected to 167 description: The supply connected to VCCIO4. 168 168 169 rk3288: 169 rk3288: 170 if: 170 if: 171 properties: 171 properties: 172 compatible: 172 compatible: 173 contains: 173 contains: 174 const: rockchip,rk3288-io-voltage- 174 const: rockchip,rk3288-io-voltage-domain 175 175 176 then: 176 then: 177 properties: 177 properties: 178 audio-supply: 178 audio-supply: 179 description: The supply connected to 179 description: The supply connected to APIO4_VDD. 180 bb-supply: 180 bb-supply: 181 description: The supply connected to 181 description: The supply connected to APIO5_VDD. 182 dvp-supply: 182 dvp-supply: 183 description: The supply connected to 183 description: The supply connected to DVPIO_VDD. 184 flash0-supply: 184 flash0-supply: 185 description: The supply connected to 185 description: The supply connected to FLASH0_VDD. Typically for eMMC. 186 flash1-supply: 186 flash1-supply: 187 description: The supply connected to 187 description: The supply connected to FLASH1_VDD. Also known as SDIO1. 188 gpio30-supply: 188 gpio30-supply: 189 description: The supply connected to 189 description: The supply connected to APIO1_VDD. 190 gpio1830-supply: 190 gpio1830-supply: 191 description: The supply connected to 191 description: The supply connected to APIO2_VDD. 192 lcdc-supply: 192 lcdc-supply: 193 description: The supply connected to 193 description: The supply connected to LCDC_VDD. 194 sdcard-supply: 194 sdcard-supply: 195 description: The supply connected to 195 description: The supply connected to SDMMC0_VDD. 196 wifi-supply: 196 wifi-supply: 197 description: The supply connected to 197 description: The supply connected to APIO3_VDD. Also known as SDIO0. 198 198 199 rk3308: 199 rk3308: 200 if: 200 if: 201 properties: 201 properties: 202 compatible: 202 compatible: 203 contains: 203 contains: 204 const: rockchip,rk3308-io-voltage- 204 const: rockchip,rk3308-io-voltage-domain 205 205 206 then: 206 then: 207 properties: 207 properties: 208 vccio0-supply: 208 vccio0-supply: 209 description: The supply connected to 209 description: The supply connected to VCCIO0. 210 vccio1-supply: 210 vccio1-supply: 211 description: The supply connected to 211 description: The supply connected to VCCIO1. 212 vccio2-supply: 212 vccio2-supply: 213 description: The supply connected to 213 description: The supply connected to VCCIO2. 214 vccio3-supply: 214 vccio3-supply: 215 description: The supply connected to 215 description: The supply connected to VCCIO3. 216 vccio4-supply: 216 vccio4-supply: 217 description: The supply connected to 217 description: The supply connected to VCCIO4. 218 vccio5-supply: 218 vccio5-supply: 219 description: The supply connected to 219 description: The supply connected to VCCIO5. 220 220 221 rk3328: 221 rk3328: 222 if: 222 if: 223 properties: 223 properties: 224 compatible: 224 compatible: 225 contains: 225 contains: 226 const: rockchip,rk3328-io-voltage- 226 const: rockchip,rk3328-io-voltage-domain 227 227 228 then: 228 then: 229 properties: 229 properties: 230 vccio1-supply: 230 vccio1-supply: 231 description: The supply connected to 231 description: The supply connected to VCCIO1. 232 vccio2-supply: 232 vccio2-supply: 233 description: The supply connected to 233 description: The supply connected to VCCIO2. 234 vccio3-supply: 234 vccio3-supply: 235 description: The supply connected to 235 description: The supply connected to VCCIO3. 236 vccio4-supply: 236 vccio4-supply: 237 description: The supply connected to 237 description: The supply connected to VCCIO4. 238 vccio5-supply: 238 vccio5-supply: 239 description: The supply connected to 239 description: The supply connected to VCCIO5. 240 vccio6-supply: 240 vccio6-supply: 241 description: The supply connected to 241 description: The supply connected to VCCIO6. 242 pmuio-supply: 242 pmuio-supply: 243 description: The supply connected to 243 description: The supply connected to VCCIO_PMU. 244 244 245 rk3368: 245 rk3368: 246 if: 246 if: 247 properties: 247 properties: 248 compatible: 248 compatible: 249 contains: 249 contains: 250 const: rockchip,rk3368-io-voltage- 250 const: rockchip,rk3368-io-voltage-domain 251 251 252 then: 252 then: 253 properties: 253 properties: 254 audio-supply: 254 audio-supply: 255 description: The supply connected to 255 description: The supply connected to APIO3_VDD. 256 dvp-supply: 256 dvp-supply: 257 description: The supply connected to 257 description: The supply connected to DVPIO_VDD. 258 flash0-supply: 258 flash0-supply: 259 description: The supply connected to 259 description: The supply connected to FLASH0_VDD. Typically for eMMC. 260 gpio30-supply: 260 gpio30-supply: 261 description: The supply connected to 261 description: The supply connected to APIO1_VDD. 262 gpio1830-supply: 262 gpio1830-supply: 263 description: The supply connected to 263 description: The supply connected to APIO4_VDD. 264 sdcard-supply: 264 sdcard-supply: 265 description: The supply connected to 265 description: The supply connected to SDMMC0_VDD. 266 wifi-supply: 266 wifi-supply: 267 description: The supply connected to 267 description: The supply connected to APIO2_VDD. Also known as SDIO0. 268 268 269 rk3368-pmu: 269 rk3368-pmu: 270 if: 270 if: 271 properties: 271 properties: 272 compatible: 272 compatible: 273 contains: 273 contains: 274 const: rockchip,rk3368-pmu-io-volt 274 const: rockchip,rk3368-pmu-io-voltage-domain 275 275 276 then: 276 then: 277 properties: 277 properties: 278 pmu-supply: 278 pmu-supply: 279 description: The supply connected to 279 description: The supply connected to PMUIO_VDD. 280 vop-supply: 280 vop-supply: 281 description: The supply connected to 281 description: The supply connected to LCDC_VDD. 282 282 283 rk3399: 283 rk3399: 284 if: 284 if: 285 properties: 285 properties: 286 compatible: 286 compatible: 287 contains: 287 contains: 288 const: rockchip,rk3399-io-voltage- 288 const: rockchip,rk3399-io-voltage-domain 289 289 290 then: 290 then: 291 properties: 291 properties: 292 audio-supply: 292 audio-supply: 293 description: The supply connected to 293 description: The supply connected to APIO5_VDD. 294 bt656-supply: 294 bt656-supply: 295 description: The supply connected to 295 description: The supply connected to APIO2_VDD. 296 gpio1830-supply: 296 gpio1830-supply: 297 description: The supply connected to 297 description: The supply connected to APIO4_VDD. 298 sdmmc-supply: 298 sdmmc-supply: 299 description: The supply connected to 299 description: The supply connected to SDMMC0_VDD. 300 300 301 rk3399-pmu: 301 rk3399-pmu: 302 if: 302 if: 303 properties: 303 properties: 304 compatible: 304 compatible: 305 contains: 305 contains: 306 const: rockchip,rk3399-pmu-io-volt 306 const: rockchip,rk3399-pmu-io-voltage-domain 307 307 308 then: 308 then: 309 properties: 309 properties: 310 pmu1830-supply: 310 pmu1830-supply: 311 description: The supply connected to 311 description: The supply connected to PMUIO2_VDD. 312 312 313 rk3568-pmu: 313 rk3568-pmu: 314 if: 314 if: 315 properties: 315 properties: 316 compatible: 316 compatible: 317 contains: 317 contains: 318 const: rockchip,rk3568-pmu-io-volt 318 const: rockchip,rk3568-pmu-io-voltage-domain 319 319 320 then: 320 then: 321 properties: 321 properties: 322 pmuio1-supply: 322 pmuio1-supply: 323 description: The supply connected to 323 description: The supply connected to PMUIO1. 324 pmuio2-supply: 324 pmuio2-supply: 325 description: The supply connected to 325 description: The supply connected to PMUIO2. 326 vccio1-supply: 326 vccio1-supply: 327 description: The supply connected to 327 description: The supply connected to VCCIO1. 328 vccio2-supply: 328 vccio2-supply: 329 description: The supply connected to 329 description: The supply connected to VCCIO2. 330 vccio3-supply: 330 vccio3-supply: 331 description: The supply connected to 331 description: The supply connected to VCCIO3. 332 vccio4-supply: 332 vccio4-supply: 333 description: The supply connected to 333 description: The supply connected to VCCIO4. 334 vccio5-supply: 334 vccio5-supply: 335 description: The supply connected to 335 description: The supply connected to VCCIO5. 336 vccio6-supply: 336 vccio6-supply: 337 description: The supply connected to 337 description: The supply connected to VCCIO6. 338 vccio7-supply: 338 vccio7-supply: 339 description: The supply connected to 339 description: The supply connected to VCCIO7. 340 340 341 rv1108: 341 rv1108: 342 if: 342 if: 343 properties: 343 properties: 344 compatible: 344 compatible: 345 contains: 345 contains: 346 const: rockchip,rv1108-io-voltage- 346 const: rockchip,rv1108-io-voltage-domain 347 347 348 then: 348 then: 349 properties: 349 properties: 350 vccio1-supply: 350 vccio1-supply: 351 description: The supply connected to 351 description: The supply connected to APIO1_VDD. 352 vccio2-supply: 352 vccio2-supply: 353 description: The supply connected to 353 description: The supply connected to APIO2_VDD. 354 vccio3-supply: 354 vccio3-supply: 355 description: The supply connected to 355 description: The supply connected to APIO3_VDD. 356 vccio5-supply: 356 vccio5-supply: 357 description: The supply connected to 357 description: The supply connected to APIO5_VDD. 358 vccio6-supply: 358 vccio6-supply: 359 description: The supply connected to 359 description: The supply connected to APIO6_VDD. 360 360 361 rv1108-pmu: 361 rv1108-pmu: 362 if: 362 if: 363 properties: 363 properties: 364 compatible: 364 compatible: 365 contains: 365 contains: 366 const: rockchip,rv1108-pmu-io-volt 366 const: rockchip,rv1108-pmu-io-voltage-domain 367 367 368 then: 368 then: 369 properties: 369 properties: 370 pmu-supply: 370 pmu-supply: 371 description: The supply connected to 371 description: The supply connected to PMUIO_VDD. 372 372 373 rv1126-pmu: 373 rv1126-pmu: 374 if: 374 if: 375 properties: 375 properties: 376 compatible: 376 compatible: 377 contains: 377 contains: 378 const: rockchip,rv1126-pmu-io-volt 378 const: rockchip,rv1126-pmu-io-voltage-domain 379 379 380 then: 380 then: 381 properties: 381 properties: 382 vccio1-supply: 382 vccio1-supply: 383 description: The supply connected to 383 description: The supply connected to VCCIO1. 384 vccio2-supply: 384 vccio2-supply: 385 description: The supply connected to 385 description: The supply connected to VCCIO2. 386 vccio3-supply: 386 vccio3-supply: 387 description: The supply connected to 387 description: The supply connected to VCCIO3. 388 vccio4-supply: 388 vccio4-supply: 389 description: The supply connected to 389 description: The supply connected to VCCIO4. 390 vccio5-supply: 390 vccio5-supply: 391 description: The supply connected to 391 description: The supply connected to VCCIO5. 392 vccio6-supply: 392 vccio6-supply: 393 description: The supply connected to 393 description: The supply connected to VCCIO6. 394 vccio7-supply: 394 vccio7-supply: 395 description: The supply connected to 395 description: The supply connected to VCCIO7. 396 pmuio0-supply: 396 pmuio0-supply: 397 description: The supply connected to 397 description: The supply connected to PMUIO0. 398 pmuio1-supply: 398 pmuio1-supply: 399 description: The supply connected to 399 description: The supply connected to PMUIO1. 400 400 401 examples: 401 examples: 402 - | 402 - | 403 io-domains { 403 io-domains { 404 compatible = "rockchip,rk3288-io-voltage 404 compatible = "rockchip,rk3288-io-voltage-domain"; 405 audio-supply = <&vcc18_codec>; 405 audio-supply = <&vcc18_codec>; 406 bb-supply = <&vcc33_io>; 406 bb-supply = <&vcc33_io>; 407 dvp-supply = <&vcc_18>; 407 dvp-supply = <&vcc_18>; 408 flash0-supply = <&vcc18_flashio>; 408 flash0-supply = <&vcc18_flashio>; 409 gpio1830-supply = <&vcc33_io>; 409 gpio1830-supply = <&vcc33_io>; 410 gpio30-supply = <&vcc33_pmuio>; 410 gpio30-supply = <&vcc33_pmuio>; 411 lcdc-supply = <&vcc33_lcd>; 411 lcdc-supply = <&vcc33_lcd>; 412 sdcard-supply = <&vccio_sd>; 412 sdcard-supply = <&vccio_sd>; 413 wifi-supply = <&vcc18_wl>; 413 wifi-supply = <&vcc18_wl>; 414 }; 414 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.