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