├── Camera ├── dt-blob.bin └── dt-blob.dts ├── Display ├── cutiepi-panel-overlay.dts ├── cutiepi-panel.dtbo └── drivers │ └── gpu │ └── drm │ └── panel │ ├── Kconfig │ ├── Makefile │ ├── panel-ilitek-ili9881c.c │ ├── panel-jd9366.c │ └── panel-nwe080.c ├── Gyro ├── mpu6050-i2c5-overlay.dts └── mpu6050-i2c5.dtbo ├── README.md └── config.txt /Camera/dt-blob.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cutiepi-io/cutiepi-drivers/34618f0d5b649b85bfe4ef565d68e3814b815104/Camera/dt-blob.bin -------------------------------------------------------------------------------- /Camera/dt-blob.dts: -------------------------------------------------------------------------------- 1 | /dts-v1/; 2 | 3 | / { 4 | videocore { 5 | pins_rev1 { 6 | pin_config { 7 | pin@default { 8 | polarity = "active_high"; 9 | termination = "pull_down"; 10 | startup_state = "inactive"; 11 | function = "input"; 12 | }; // pin 13 | pin@p2 { function = "i2c1"; termination = "pull_up"; }; // I2C 1 SDA 14 | pin@p3 { function = "i2c1"; termination = "pull_up"; }; // I2C 1 SCL 15 | pin@p5 { function = "output"; termination = "pull_down"; }; // CAM_LED 16 | pin@p6 { function = "output"; termination = "pull_down"; startup_state = "active"; }; // LAN_RUN 17 | pin@p14 { function = "uart0"; termination = "no_pulling"; drive_strength_mA = < 8 >; }; // TX uart0 18 | pin@p15 { function = "uart0"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // RX uart0 19 | pin@p16 { function = "output"; termination = "pull_up"; polarity="active_low"; }; // activity LED 20 | pin@p27 { function = "output"; termination = "no_pulling"; }; // Camera shutdown 21 | pin@p40 { function = "pwm"; termination = "no_pulling"; drive_strength_mA = < 16 >; }; // Left audio 22 | pin@p45 { function = "pwm"; termination = "no_pulling"; drive_strength_mA = < 16 >; }; // Right audio 23 | pin@p46 { function = "input"; termination = "no_pulling"; }; // Hotplug 24 | pin@p47 { function = "input"; termination = "no_pulling"; }; // SD_CARD_DETECT 25 | pin@p48 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD CLK 26 | pin@p49 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD CMD 27 | pin@p50 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D0 28 | pin@p51 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D1 29 | pin@p52 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D2 30 | pin@p53 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D3 31 | }; // pin_config 32 | 33 | pin_defines { 34 | pin_define@HDMI_CONTROL_ATTACHED { 35 | type = "internal"; 36 | number = <46>; 37 | }; 38 | pin_define@NUM_CAMERAS { 39 | type = "internal"; 40 | number = <1>; 41 | }; 42 | pin_define@CAMERA_0_UNICAM_PORT { 43 | type = "internal"; 44 | number = <1>; 45 | }; 46 | pin_define@CAMERA_0_I2C_PORT { 47 | type = "internal"; 48 | number = <1>; 49 | }; 50 | pin_define@CAMERA_0_SDA_PIN { 51 | type = "internal"; 52 | number = <2>; 53 | }; 54 | pin_define@CAMERA_0_SCL_PIN { 55 | type = "internal"; 56 | number = <3>; 57 | }; 58 | pin_define@CAMERA_0_SHUTDOWN { 59 | type = "internal"; 60 | number = <27>; 61 | }; 62 | pin_define@CAMERA_0_LED { 63 | type = "internal"; 64 | number = <5>; 65 | }; 66 | pin_define@FLASH_0_ENABLE { 67 | type = "absent"; 68 | }; 69 | pin_define@FLASH_0_INDICATOR { 70 | type = "absent"; 71 | }; 72 | pin_define@FLASH_1_ENABLE { 73 | type = "absent"; 74 | }; 75 | pin_define@FLASH_1_INDICATOR { 76 | type = "absent"; 77 | }; 78 | pin_define@POWER_LOW { 79 | type = "absent"; 80 | }; 81 | pin_define@LEDS_DISK_ACTIVITY { 82 | type = "internal"; 83 | number = <16>; 84 | }; 85 | pin_define@LAN_RUN { 86 | type = "internal"; 87 | number = <6>; 88 | }; 89 | pin_define@SMPS_SDA { 90 | type = "absent"; 91 | }; 92 | pin_define@SMPS_SCL { 93 | type = "absent"; 94 | }; 95 | pin_define@ETH_CLK { 96 | type = "absent"; 97 | }; 98 | pin_define@USB_LIMIT_1A2 { 99 | type = "absent"; 100 | }; 101 | pin_define@SIO_1V8_SEL { 102 | type = "absent"; 103 | }; 104 | pin_define@PWML { 105 | type = "internal"; 106 | number = <40>; 107 | }; 108 | pin_define@PWMR { 109 | type = "internal"; 110 | number = <45>; 111 | }; 112 | pin_define@SAFE_MODE { 113 | type = "internal"; 114 | number = <1>; 115 | }; 116 | pin_define@SD_CARD_DETECT { 117 | type = "internal"; 118 | number = <47>; 119 | }; 120 | pin_define@ID_SDA { 121 | type = "absent"; 122 | }; 123 | pin_define@ID_SCL { 124 | type = "absent"; 125 | }; 126 | pin_define@DISPLAY_I2C_PORT { 127 | type = "internal"; 128 | number = <0>; 129 | }; 130 | pin_define@DISPLAY_SDA { 131 | type = "internal"; 132 | number = <0>; 133 | }; 134 | pin_define@DISPLAY_SCL { 135 | type = "internal"; 136 | number = <1>; 137 | }; 138 | }; // pin_defines 139 | }; // pins_rev1 140 | 141 | pins_rev2 { 142 | pin_config { 143 | pin@default { 144 | polarity = "active_high"; 145 | termination = "pull_down"; 146 | startup_state = "inactive"; 147 | function = "input"; 148 | }; // pin 149 | pin@p0 { function = "i2c0"; termination = "pull_up"; }; // I2C 0 SDA 150 | pin@p1 { function = "i2c0"; termination = "pull_up"; }; // I2C 0 SCL 151 | pin@p5 { function = "output"; termination = "pull_down"; }; // CAM_LED 152 | pin@p6 { function = "output"; termination = "pull_down"; startup_state = "active"; }; // LAN NRESET 153 | pin@p14 { function = "uart0"; termination = "no_pulling"; drive_strength_mA = < 8 >; }; // TX uart0 154 | pin@p15 { function = "uart0"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // RX uart0 155 | pin@p16 { function = "output"; termination = "pull_up"; polarity = "active_low"; }; // activity LED 156 | pin@p21 { function = "output"; termination = "no_pulling"; }; // Camera shutdown 157 | pin@p40 { function = "pwm"; termination = "no_pulling"; drive_strength_mA = < 16 >; }; // Left audio 158 | pin@p45 { function = "pwm"; termination = "no_pulling"; drive_strength_mA = < 16 >; }; // Right audio 159 | pin@p46 { function = "input"; termination = "no_pulling"; }; // Hotplug 160 | pin@p47 { function = "input"; termination = "no_pulling"; }; // SD_CARD_DETECT 161 | pin@p48 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD CLK 162 | pin@p49 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD CMD 163 | pin@p50 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D0 164 | pin@p51 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D1 165 | pin@p52 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D2 166 | pin@p53 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D3 167 | }; // pin_config 168 | 169 | pin_defines { 170 | pin_define@HDMI_CONTROL_ATTACHED { 171 | type = "internal"; 172 | number = <46>; 173 | }; 174 | pin_define@NUM_CAMERAS { 175 | type = "internal"; 176 | number = <1>; 177 | }; 178 | pin_define@CAMERA_0_I2C_PORT { 179 | type = "internal"; 180 | number = <0>; 181 | }; 182 | pin_define@CAMERA_0_SDA_PIN { 183 | type = "internal"; 184 | number = <0>; 185 | }; 186 | pin_define@CAMERA_0_SCL_PIN { 187 | type = "internal"; 188 | number = <1>; 189 | }; 190 | pin_define@CAMERA_0_SHUTDOWN { 191 | type = "internal"; 192 | number = <21>; 193 | }; 194 | pin_define@CAMERA_0_UNICAM_PORT { 195 | type = "internal"; 196 | number = <1>; 197 | }; 198 | pin_define@CAMERA_0_LED { 199 | type = "internal"; 200 | number = <5>; 201 | }; 202 | pin_define@FLASH_0_ENABLE { 203 | type = "absent"; 204 | }; 205 | pin_define@FLASH_0_INDICATOR { 206 | type = "absent"; 207 | }; 208 | pin_define@FLASH_1_ENABLE { 209 | type = "absent"; 210 | }; 211 | pin_define@FLASH_1_INDICATOR { 212 | type = "absent"; 213 | }; 214 | pin_define@POWER_LOW { 215 | type = "absent"; 216 | }; 217 | pin_define@LEDS_DISK_ACTIVITY { 218 | type = "internal"; 219 | number = <16>; 220 | }; 221 | pin_define@LAN_RUN { 222 | type = "internal"; 223 | number = <6>; 224 | }; 225 | pin_define@SMPS_SDA { 226 | type = "absent"; 227 | }; 228 | pin_define@SMPS_SCL { 229 | type = "absent"; 230 | }; 231 | pin_define@ETH_CLK { 232 | type = "absent"; 233 | }; 234 | pin_define@USB_LIMIT_1A2 { 235 | type = "absent"; 236 | }; 237 | pin_define@SIO_1V8_SEL { 238 | type = "absent"; 239 | }; 240 | pin_define@PWML { 241 | type = "internal"; 242 | number = <40>; 243 | }; 244 | pin_define@PWMR { 245 | type = "internal"; 246 | number = <45>; 247 | }; 248 | pin_define@SAFE_MODE { 249 | type = "internal"; 250 | number = <3>; 251 | }; 252 | pin_define@SD_CARD_DETECT { 253 | type = "internal"; 254 | number = <47>; 255 | }; 256 | pin_define@ID_SDA { 257 | type = "absent"; 258 | }; 259 | pin_define@ID_SCL { 260 | type = "absent"; 261 | }; 262 | pin_define@DISPLAY_I2C_PORT { 263 | type = "internal"; 264 | number = <1>; 265 | }; 266 | pin_define@DISPLAY_SDA { 267 | type = "internal"; 268 | number = <2>; 269 | }; 270 | pin_define@DISPLAY_SCL { 271 | type = "internal"; 272 | number = <3>; 273 | }; 274 | }; // pin_defines 275 | }; // pins 276 | 277 | pins_bplus1 { // Pi 1 Model B+ rev 1.1 278 | pin_config { 279 | pin@default { 280 | polarity = "active_high"; 281 | termination = "pull_down"; 282 | startup_state = "inactive"; 283 | function = "input"; 284 | }; // pin 285 | pin@p14 { function = "uart0"; termination = "no_pulling"; drive_strength_mA = < 8 >; }; // TX uart0 286 | pin@p15 { function = "uart0"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // RX uart0 287 | pin@p28 { function = "input"; termination = "pull_up"; }; // I2C 0 SDA 288 | pin@p29 { function = "input"; termination = "pull_up"; }; // I2C 0 SCL 289 | pin@p31 { function = "input"; termination = "no_pulling"; polarity = "active_low"; }; // Power low 290 | pin@p32 { function = "output"; termination = "pull_down"; }; // Camera LED 291 | pin@p35 { function = "output"; termination = "pull_down"; startup_state = "active"; }; // LAN_RUN 292 | pin@p38 { function = "output"; termination = "no_pulling"; }; // USB current limit (0=600mA, 1=1200mA) 293 | pin@p40 { function = "pwm"; termination = "no_pulling"; drive_strength_mA = < 16 >; }; // Right audio 294 | pin@p41 { function = "output"; termination = "no_pulling"; }; // Camera shutdown 295 | pin@p44 { function = "gp_clk"; termination = "pull_down"; }; // ETH_CLK - Ethernet 25MHz output 296 | pin@p45 { function = "pwm"; termination = "no_pulling"; drive_strength_mA = < 16 >; }; // Left audio 297 | pin@p46 { function = "input"; termination = "no_pulling"; polarity = "active_low"; }; // Hotplug 298 | pin@p47 { function = "output"; termination = "pull_down"; }; // activity LED 299 | pin@p48 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD CLK 300 | pin@p49 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD CMD 301 | pin@p50 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D0 302 | pin@p51 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D1 303 | pin@p52 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D2 304 | pin@p53 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D3 305 | }; // pin_config 306 | 307 | pin_defines { 308 | pin_define@HDMI_CONTROL_ATTACHED { 309 | type = "internal"; 310 | number = <46>; 311 | }; 312 | pin_define@NUM_CAMERAS { 313 | type = "internal"; 314 | number = <1>; 315 | }; 316 | pin_define@CAMERA_0_I2C_PORT { 317 | type = "internal"; 318 | number = <0>; 319 | }; 320 | pin_define@CAMERA_0_SDA_PIN { 321 | type = "internal"; 322 | number = <28>; 323 | }; 324 | pin_define@CAMERA_0_SCL_PIN { 325 | type = "internal"; 326 | number = <29>; 327 | }; 328 | pin_define@CAMERA_0_SHUTDOWN { 329 | type = "internal"; 330 | number = <41>; 331 | }; 332 | pin_define@CAMERA_0_UNICAM_PORT { 333 | type = "internal"; 334 | number = <1>; 335 | }; 336 | pin_define@CAMERA_0_LED { 337 | type = "internal"; 338 | number = <32>; 339 | }; 340 | pin_define@FLASH_0_ENABLE { 341 | type = "absent"; 342 | }; 343 | pin_define@FLASH_0_INDICATOR { 344 | type = "absent"; 345 | }; 346 | pin_define@FLASH_1_ENABLE { 347 | type = "absent"; 348 | }; 349 | pin_define@FLASH_1_INDICATOR { 350 | type = "absent"; 351 | }; 352 | pin_define@POWER_LOW { 353 | type = "internal"; 354 | number = <31>; 355 | }; 356 | pin_define@LEDS_DISK_ACTIVITY { 357 | type = "internal"; 358 | number = <47>; 359 | }; 360 | pin_define@LAN_RUN { 361 | type = "internal"; 362 | number = <35>; 363 | }; 364 | pin_define@SMPS_SDA { 365 | type = "absent"; 366 | }; 367 | pin_define@SMPS_SCL { 368 | type = "absent"; 369 | }; 370 | pin_define@ETH_CLK { 371 | type = "internal"; 372 | number = <44>; 373 | }; 374 | pin_define@USB_LIMIT_1A2 { 375 | type = "absent"; 376 | }; 377 | pin_define@SIO_1V8_SEL { 378 | type = "internal"; 379 | number = <38>; 380 | }; 381 | pin_define@PWML { 382 | type = "internal"; 383 | number = <45>; 384 | }; 385 | pin_define@PWMR { 386 | type = "internal"; 387 | number = <40>; 388 | }; 389 | pin_define@SAFE_MODE { 390 | type = "internal"; 391 | number = <3>; 392 | }; 393 | pin_define@SD_CARD_DETECT { 394 | type = "absent"; 395 | }; 396 | pin_define@ID_SDA { 397 | type = "internal"; 398 | number = <0>; 399 | }; 400 | pin_define@ID_SCL { 401 | type = "internal"; 402 | number = <1>; 403 | }; 404 | pin_define@DISPLAY_I2C_PORT { 405 | type = "internal"; 406 | number = <0>; 407 | }; 408 | pin_define@DISPLAY_SDA { 409 | type = "internal"; 410 | number = <28>; 411 | }; 412 | pin_define@DISPLAY_SCL { 413 | type = "internal"; 414 | number = <29>; 415 | }; 416 | }; // pin_defines 417 | }; // pins 418 | 419 | pins_bplus2 { // Pi 1 Model B+ rev 1.2 420 | pin_config { 421 | pin@default { 422 | polarity = "active_high"; 423 | termination = "pull_down"; 424 | startup_state = "inactive"; 425 | function = "input"; 426 | }; // pin 427 | pin@p14 { function = "uart0"; termination = "no_pulling"; drive_strength_mA = < 8 >; }; // TX uart0 428 | pin@p15 { function = "uart0"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // RX uart0 429 | pin@p28 { function = "input"; termination = "pull_up"; }; // I2C 0 SDA 430 | pin@p29 { function = "input"; termination = "pull_up"; }; // I2C 0 SCL 431 | pin@p31 { function = "output"; termination = "pull_down"; startup_state = "active"; }; // LAN_RUN 432 | pin@p32 { function = "output"; termination = "pull_down"; }; // Camera LED 433 | pin@p35 { function = "input"; termination = "no_pulling"; polarity = "active_low"; }; // Power low 434 | pin@p38 { function = "output"; termination = "no_pulling"; }; // USB current limit (0=600mA, 1=1200mA) 435 | pin@p40 { function = "pwm"; termination = "no_pulling"; drive_strength_mA = < 16 >; }; // Right audio 436 | pin@p41 { function = "output"; termination = "no_pulling"; }; // Camera shutdown 437 | pin@p44 { function = "gp_clk"; termination = "pull_down"; }; // ETH_CLK - Ethernet 25MHz output 438 | pin@p45 { function = "pwm"; termination = "no_pulling"; drive_strength_mA = < 16 >; }; // Left audio 439 | pin@p46 { function = "input"; termination = "no_pulling"; polarity = "active_low"; }; // Hotplug 440 | pin@p47 { function = "output"; termination = "pull_down"; }; // activity LED 441 | pin@p48 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD CLK 442 | pin@p49 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD CMD 443 | pin@p50 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D0 444 | pin@p51 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D1 445 | pin@p52 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D2 446 | pin@p53 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D3 447 | }; // pin_config 448 | 449 | pin_defines { 450 | pin_define@HDMI_CONTROL_ATTACHED { 451 | type = "internal"; 452 | number = <46>; 453 | }; 454 | pin_define@NUM_CAMERAS { 455 | type = "internal"; 456 | number = <1>; 457 | }; 458 | pin_define@CAMERA_0_I2C_PORT { 459 | type = "internal"; 460 | number = <0>; 461 | }; 462 | pin_define@CAMERA_0_SDA_PIN { 463 | type = "internal"; 464 | number = <28>; 465 | }; 466 | pin_define@CAMERA_0_SCL_PIN { 467 | type = "internal"; 468 | number = <29>; 469 | }; 470 | pin_define@CAMERA_0_SHUTDOWN { 471 | type = "internal"; 472 | number = <41>; 473 | }; 474 | pin_define@CAMERA_0_UNICAM_PORT { 475 | type = "internal"; 476 | number = <1>; 477 | }; 478 | pin_define@CAMERA_0_LED { 479 | type = "internal"; 480 | number = <32>; 481 | }; 482 | pin_define@FLASH_0_ENABLE { 483 | type = "absent"; 484 | }; 485 | pin_define@FLASH_0_INDICATOR { 486 | type = "absent"; 487 | }; 488 | pin_define@FLASH_1_ENABLE { 489 | type = "absent"; 490 | }; 491 | pin_define@FLASH_1_INDICATOR { 492 | type = "absent"; 493 | }; 494 | pin_define@POWER_LOW { 495 | type = "internal"; 496 | number = <35>; 497 | }; 498 | pin_define@LEDS_DISK_ACTIVITY { 499 | type = "internal"; 500 | number = <47>; 501 | }; 502 | pin_define@LAN_RUN { 503 | type = "internal"; 504 | number = <31>; 505 | }; 506 | pin_define@SMPS_SDA { 507 | type = "absent"; 508 | }; 509 | pin_define@SMPS_SCL { 510 | type = "absent"; 511 | }; 512 | pin_define@ETH_CLK { 513 | type = "internal"; 514 | number = <44>; 515 | }; 516 | pin_define@USB_LIMIT_1A2 { 517 | type = "internal"; 518 | number = <38>; 519 | }; 520 | pin_define@SIO_1V8_SEL { 521 | type = "absent"; 522 | }; 523 | pin_define@PWML { 524 | type = "internal"; 525 | number = <45>; 526 | }; 527 | pin_define@PWMR { 528 | type = "internal"; 529 | number = <40>; 530 | }; 531 | pin_define@SAFE_MODE { 532 | type = "internal"; 533 | number = <3>; 534 | }; 535 | pin_define@SD_CARD_DETECT { 536 | type = "absent"; 537 | }; 538 | pin_define@ID_SDA { 539 | type = "internal"; 540 | number = <0>; 541 | }; 542 | pin_define@ID_SCL { 543 | type = "internal"; 544 | number = <1>; 545 | }; 546 | pin_define@DISPLAY_I2C_PORT { 547 | type = "internal"; 548 | number = <0>; 549 | }; 550 | pin_define@DISPLAY_SDA { 551 | type = "internal"; 552 | number = <28>; 553 | }; 554 | pin_define@DISPLAY_SCL { 555 | type = "internal"; 556 | number = <29>; 557 | }; 558 | }; // pin_defines 559 | }; // pins 560 | 561 | pins_aplus { 562 | pin_config { 563 | pin@default { 564 | polarity = "active_high"; 565 | termination = "pull_down"; 566 | startup_state = "inactive"; 567 | function = "input"; 568 | }; // pin 569 | pin@p14 { function = "uart0"; termination = "no_pulling"; drive_strength_mA = < 8 >; }; // TX uart0 570 | pin@p15 { function = "uart0"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // RX uart0 571 | pin@p28 { function = "input"; termination = "pull_up"; }; // I2C 0 SDA 572 | pin@p29 { function = "input"; termination = "pull_up"; }; // I2C 0 SCL 573 | pin@p32 { function = "output"; termination = "pull_down"; }; // Camera LED 574 | pin@p35 { function = "input"; termination = "no_pulling"; polarity = "active_low"; }; // Power low 575 | pin@p38 { function = "output"; termination = "no_pulling"; }; // USB current limit (0=600mA, 1=1200mA) 576 | pin@p40 { function = "pwm"; termination = "no_pulling"; drive_strength_mA = < 16 >; }; // Right audio 577 | pin@p41 { function = "output"; termination = "no_pulling"; }; // Camera shutdown 578 | pin@p45 { function = "pwm"; termination = "no_pulling"; drive_strength_mA = < 16 >; }; // Left audio 579 | pin@p46 { function = "input"; termination = "no_pulling"; polarity = "active_low"; }; // Hotplug 580 | pin@p47 { function = "output"; termination = "pull_down"; }; // activity LED 581 | pin@p48 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD CLK 582 | pin@p49 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD CMD 583 | pin@p50 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D0 584 | pin@p51 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D1 585 | pin@p52 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D2 586 | pin@p53 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D3 587 | }; // pin_config 588 | 589 | pin_defines { 590 | pin_define@HDMI_CONTROL_ATTACHED { 591 | type = "internal"; 592 | number = <46>; 593 | }; 594 | pin_define@NUM_CAMERAS { 595 | type = "internal"; 596 | number = <1>; 597 | }; 598 | pin_define@CAMERA_0_I2C_PORT { 599 | type = "internal"; 600 | number = <0>; 601 | }; 602 | pin_define@CAMERA_0_SDA_PIN { 603 | type = "internal"; 604 | number = <28>; 605 | }; 606 | pin_define@CAMERA_0_SCL_PIN { 607 | type = "internal"; 608 | number = <29>; 609 | }; 610 | pin_define@CAMERA_0_SHUTDOWN { 611 | type = "internal"; 612 | number = <41>; 613 | }; 614 | pin_define@CAMERA_0_UNICAM_PORT { 615 | type = "internal"; 616 | number = <1>; 617 | }; 618 | pin_define@CAMERA_0_LED { 619 | type = "internal"; 620 | number = <32>; 621 | }; 622 | pin_define@FLASH_0_ENABLE { 623 | type = "absent"; 624 | }; 625 | pin_define@FLASH_0_INDICATOR { 626 | type = "absent"; 627 | }; 628 | pin_define@FLASH_1_ENABLE { 629 | type = "absent"; 630 | }; 631 | pin_define@FLASH_1_INDICATOR { 632 | type = "absent"; 633 | }; 634 | pin_define@POWER_LOW { 635 | type = "internal"; 636 | number = <35>; 637 | }; 638 | pin_define@LEDS_DISK_ACTIVITY { 639 | type = "internal"; 640 | number = <47>; 641 | }; 642 | pin_define@LAN_RUN { 643 | type = "absent"; 644 | }; 645 | pin_define@SMPS_SDA { 646 | type = "absent"; 647 | }; 648 | pin_define@SMPS_SCL { 649 | type = "absent"; 650 | }; 651 | pin_define@ETH_CLK { 652 | type = "absent"; 653 | }; 654 | pin_define@USB_LIMIT_1A2 { 655 | type = "internal"; 656 | number = <38>; 657 | }; 658 | pin_define@SIO_1V8_SEL { 659 | type = "absent"; 660 | }; 661 | pin_define@PWML { 662 | type = "internal"; 663 | number = <45>; 664 | }; 665 | pin_define@PWMR { 666 | type = "internal"; 667 | number = <40>; 668 | }; 669 | pin_define@SAFE_MODE { 670 | type = "internal"; 671 | number = <3>; 672 | }; 673 | pin_define@SD_CARD_DETECT { 674 | type = "absent"; 675 | }; 676 | pin_define@ID_SDA { 677 | type = "internal"; 678 | number = <0>; 679 | }; 680 | pin_define@ID_SCL { 681 | type = "internal"; 682 | number = <1>; 683 | }; 684 | pin_define@DISPLAY_I2C_PORT { 685 | type = "internal"; 686 | number = <0>; 687 | }; 688 | pin_define@DISPLAY_SDA { 689 | type = "internal"; 690 | number = <28>; 691 | }; 692 | pin_define@DISPLAY_SCL { 693 | type = "internal"; 694 | number = <29>; 695 | }; 696 | }; // pin_defines 697 | }; // pins 698 | 699 | pins_2b1 { // Pi 2 Model B rev 1.0 700 | pin_config { 701 | pin@default { 702 | polarity = "active_high"; 703 | termination = "pull_down"; 704 | startup_state = "inactive"; 705 | function = "input"; 706 | }; // pin 707 | pin@p14 { function = "uart0"; termination = "no_pulling"; drive_strength_mA = < 8 >; }; // TX uart0 708 | pin@p15 { function = "uart0"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // RX uart0 709 | pin@p28 { function = "input"; termination = "pull_up"; }; // I2C 0 SDA / SMPS_SDA 710 | pin@p29 { function = "input"; termination = "pull_up"; }; // I2C 0 SCL / SMPS_SCL 711 | pin@p31 { function = "output"; termination = "pull_down"; startup_state = "active"; }; // LAN_RUN 712 | pin@p32 { function = "output"; termination = "pull_down"; }; // Camera LED 713 | pin@p35 { function = "input"; termination = "no_pulling"; polarity = "active_low"; }; // Power low 714 | pin@p38 { function = "output"; termination = "no_pulling"; }; // USB current limit (0=600mA, 1=1200mA) 715 | pin@p40 { function = "pwm"; termination = "no_pulling"; drive_strength_mA = < 16 >; }; // Right audio 716 | pin@p41 { function = "output"; termination = "no_pulling"; }; // Camera shutdown 717 | pin@p44 { function = "gp_clk"; termination = "pull_down"; }; // ETH_CLK - Ethernet 25MHz output 718 | pin@p45 { function = "pwm"; termination = "no_pulling"; drive_strength_mA = < 16 >; }; // Left audio 719 | pin@p46 { function = "input"; termination = "no_pulling"; polarity = "active_low"; }; // Hotplug 720 | pin@p47 { function = "output"; termination = "pull_down"; }; // activity LED 721 | pin@p48 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD CLK 722 | pin@p49 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD CMD 723 | pin@p50 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D0 724 | pin@p51 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D1 725 | pin@p52 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D2 726 | pin@p53 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D3 727 | }; // pin_config 728 | 729 | pin_defines { 730 | pin_define@HDMI_CONTROL_ATTACHED { 731 | type = "internal"; 732 | number = <46>; 733 | }; 734 | pin_define@NUM_CAMERAS { 735 | type = "internal"; 736 | number = <1>; 737 | }; 738 | pin_define@CAMERA_0_I2C_PORT { 739 | type = "internal"; 740 | number = <0>; 741 | }; 742 | pin_define@CAMERA_0_SDA_PIN { 743 | type = "internal"; 744 | number = <28>; 745 | }; 746 | pin_define@CAMERA_0_SCL_PIN { 747 | type = "internal"; 748 | number = <29>; 749 | }; 750 | pin_define@CAMERA_0_SHUTDOWN { 751 | type = "internal"; 752 | number = <41>; 753 | }; 754 | pin_define@CAMERA_0_UNICAM_PORT { 755 | type = "internal"; 756 | number = <1>; 757 | }; 758 | pin_define@CAMERA_0_LED { 759 | type = "internal"; 760 | number = <32>; 761 | }; 762 | pin_define@FLASH_0_ENABLE { 763 | type = "absent"; 764 | }; 765 | pin_define@FLASH_0_INDICATOR { 766 | type = "absent"; 767 | }; 768 | pin_define@FLASH_1_ENABLE { 769 | type = "absent"; 770 | }; 771 | pin_define@FLASH_1_INDICATOR { 772 | type = "absent"; 773 | }; 774 | pin_define@POWER_LOW { 775 | type = "internal"; 776 | number = <35>; 777 | }; 778 | pin_define@LEDS_DISK_ACTIVITY { 779 | type = "internal"; 780 | number = <47>; 781 | }; 782 | pin_define@LAN_RUN { 783 | type = "internal"; 784 | number = <31>; 785 | }; 786 | pin_define@SMPS_SDA { 787 | type = "internal"; 788 | number = <28>; 789 | }; 790 | pin_define@SMPS_SCL { 791 | type = "internal"; 792 | number = <29>; 793 | }; 794 | pin_define@ETH_CLK { 795 | type = "internal"; 796 | number = <44>; 797 | }; 798 | pin_define@USB_LIMIT_1A2 { 799 | type = "internal"; 800 | number = <38>; 801 | }; 802 | pin_define@SIO_1V8_SEL { 803 | type = "absent"; 804 | }; 805 | pin_define@PWML { 806 | type = "internal"; 807 | number = <45>; 808 | }; 809 | pin_define@PWMR { 810 | type = "internal"; 811 | number = <40>; 812 | }; 813 | pin_define@SAFE_MODE { 814 | type = "internal"; 815 | number = <3>; 816 | }; 817 | pin_define@SD_CARD_DETECT { 818 | type = "absent"; 819 | }; 820 | pin_define@ID_SDA { 821 | type = "internal"; 822 | number = <0>; 823 | }; 824 | pin_define@ID_SCL { 825 | type = "internal"; 826 | number = <1>; 827 | }; 828 | pin_define@DISPLAY_I2C_PORT { 829 | type = "internal"; 830 | number = <0>; 831 | }; 832 | pin_define@DISPLAY_SDA { 833 | type = "internal"; 834 | number = <28>; 835 | }; 836 | pin_define@DISPLAY_SCL { 837 | type = "internal"; 838 | number = <29>; 839 | }; 840 | }; // pin_defines 841 | }; // pins 842 | 843 | pins_2b2 { // Pi 2 Model B rev 1.1 844 | pin_config { 845 | pin@default { 846 | polarity = "active_high"; 847 | termination = "pull_down"; 848 | startup_state = "inactive"; 849 | function = "input"; 850 | }; // pin 851 | pin@p14 { function = "uart0"; termination = "no_pulling"; drive_strength_mA = < 8 >; }; // TX uart0 852 | pin@p15 { function = "uart0"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // RX uart0 853 | pin@p28 { function = "input"; termination = "pull_up"; }; // I2C 0 SDA 854 | pin@p29 { function = "input"; termination = "pull_up"; }; // I2C 0 SCL 855 | pin@p31 { function = "output"; termination = "pull_down"; startup_state = "active"; }; // LAN_RUN 856 | pin@p32 { function = "output"; termination = "pull_down"; }; // Camera LED 857 | pin@p35 { function = "input"; termination = "no_pulling"; polarity = "active_low"; }; // Power low 858 | pin@p38 { function = "output"; termination = "no_pulling"; }; // USB current limit (0=600mA, 1=1200mA) 859 | pin@p40 { function = "pwm"; termination = "no_pulling"; drive_strength_mA = < 16 >; }; // Right audio 860 | pin@p41 { function = "output"; termination = "no_pulling"; }; // Camera shutdown 861 | // Communicate with the SMPS by "bit-bashing" the I2C protocol on GPIOs 42 and 43 862 | pin@p42 { function = "output"; termination = "pull_up"; }; // SMPS_SCL 863 | pin@p43 { function = "input"; termination = "no_pulling"; }; // SMPS_SDA 864 | pin@p44 { function = "gp_clk"; termination = "pull_down"; }; // ETH_CLK - Ethernet 25MHz output 865 | pin@p45 { function = "pwm"; termination = "no_pulling"; drive_strength_mA = < 16 >; }; // Left audio 866 | pin@p46 { function = "input"; termination = "no_pulling"; polarity = "active_low"; }; // Hotplug 867 | pin@p47 { function = "output"; termination = "pull_down"; }; // activity LED 868 | pin@p48 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD CLK 869 | pin@p49 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD CMD 870 | pin@p50 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D0 871 | pin@p51 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D1 872 | pin@p52 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D2 873 | pin@p53 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D3 874 | }; // pin_config 875 | 876 | pin_defines { 877 | pin_define@HDMI_CONTROL_ATTACHED { 878 | type = "internal"; 879 | number = <46>; 880 | }; 881 | pin_define@NUM_CAMERAS { 882 | type = "internal"; 883 | number = <1>; 884 | }; 885 | pin_define@CAMERA_0_I2C_PORT { 886 | type = "internal"; 887 | number = <0>; 888 | }; 889 | pin_define@CAMERA_0_SDA_PIN { 890 | type = "internal"; 891 | number = <28>; 892 | }; 893 | pin_define@CAMERA_0_SCL_PIN { 894 | type = "internal"; 895 | number = <29>; 896 | }; 897 | pin_define@CAMERA_0_SHUTDOWN { 898 | type = "internal"; 899 | number = <41>; 900 | }; 901 | pin_define@CAMERA_0_UNICAM_PORT { 902 | type = "internal"; 903 | number = <1>; 904 | }; 905 | pin_define@CAMERA_0_LED { 906 | type = "internal"; 907 | number = <32>; 908 | }; 909 | pin_define@FLASH_0_ENABLE { 910 | type = "absent"; 911 | }; 912 | pin_define@FLASH_0_INDICATOR { 913 | type = "absent"; 914 | }; 915 | pin_define@FLASH_1_ENABLE { 916 | type = "absent"; 917 | }; 918 | pin_define@FLASH_1_INDICATOR { 919 | type = "absent"; 920 | }; 921 | pin_define@POWER_LOW { 922 | type = "internal"; 923 | number = <35>; 924 | }; 925 | pin_define@LEDS_DISK_ACTIVITY { 926 | type = "internal"; 927 | number = <47>; 928 | }; 929 | pin_define@LAN_RUN { 930 | type = "internal"; 931 | number = <31>; 932 | }; 933 | pin_define@SMPS_SDA { 934 | type = "internal"; 935 | number = <43>; 936 | }; 937 | pin_define@SMPS_SCL { 938 | type = "internal"; 939 | number = <42>; 940 | }; 941 | pin_define@ETH_CLK { 942 | type = "internal"; 943 | number = <44>; 944 | }; 945 | pin_define@USB_LIMIT_1A2 { 946 | type = "internal"; 947 | number = <38>; 948 | }; 949 | pin_define@SIO_1V8_SEL { 950 | type = "absent"; 951 | }; 952 | pin_define@PWML { 953 | type = "internal"; 954 | number = <45>; 955 | }; 956 | pin_define@PWMR { 957 | type = "internal"; 958 | number = <40>; 959 | }; 960 | pin_define@SAFE_MODE { 961 | type = "internal"; 962 | number = <3>; 963 | }; 964 | pin_define@SD_CARD_DETECT { 965 | type = "absent"; 966 | }; 967 | pin_define@ID_SDA { 968 | type = "internal"; 969 | number = <0>; 970 | }; 971 | pin_define@ID_SCL { 972 | type = "internal"; 973 | number = <1>; 974 | }; 975 | pin_define@DISPLAY_I2C_PORT { 976 | type = "internal"; 977 | number = <0>; 978 | }; 979 | pin_define@DISPLAY_SDA { 980 | type = "internal"; 981 | number = <28>; 982 | }; 983 | pin_define@DISPLAY_SCL { 984 | type = "internal"; 985 | number = <29>; 986 | }; 987 | }; // pin_defines 988 | }; // pins 989 | 990 | pins_3b1 { // Pi 3 Model B rev 1.0 991 | pin_config { 992 | pin@default { 993 | polarity = "active_high"; 994 | termination = "pull_down"; 995 | startup_state = "inactive"; 996 | function = "input"; 997 | }; // pin 998 | pin@p14 { function = "uart0"; termination = "no_pulling"; drive_strength_mA = < 8 >; }; // TX uart0 999 | pin@p15 { function = "uart0"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // RX uart0 1000 | pin@p34 { function = "input"; termination = "pull_up"; drive_strength_mA = < 8 >; }; 1001 | pin@p35 { function = "input"; termination = "pull_up"; drive_strength_mA = < 8 >; }; 1002 | pin@p36 { function = "input"; termination = "pull_up"; drive_strength_mA = < 8 >; }; 1003 | pin@p37 { function = "input"; termination = "pull_up"; drive_strength_mA = < 8 >; }; 1004 | pin@p38 { function = "input"; termination = "pull_up"; drive_strength_mA = < 8 >; }; 1005 | pin@p39 { function = "input"; termination = "pull_up"; drive_strength_mA = < 8 >; }; 1006 | pin@p40 { function = "pwm"; termination = "no_pulling"; drive_strength_mA = < 16 >; }; // Right audio 1007 | pin@p41 { function = "pwm"; termination = "no_pulling"; drive_strength_mA = < 16 >; }; // Left audio 1008 | pin@p42 { function = "gp_clk"; termination = "pull_down"; }; // ETH_CLK - Ethernet 25MHz output 1009 | pin@p43 { function = "gp_clk"; termination = "pull_down"; }; // WIFI_CLK - Wifi 32kHz output 1010 | pin@p44 { function = "input"; termination = "pull_up"; }; // I2C 0 SDA 1011 | pin@p45 { function = "input"; termination = "pull_up"; }; // I2C 0 SCL 1012 | pin@p47 { function = "output"; termination = "pull_down"; }; // activity LED 1013 | pin@p48 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD CLK 1014 | pin@p49 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD CMD 1015 | pin@p50 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D0 1016 | pin@p51 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D1 1017 | pin@p52 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D2 1018 | pin@p53 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D3 1019 | pin@p128 { function = "output"; termination = "no_pulling"; }; // BT_ON 1020 | pin@p129 { function = "output"; termination = "no_pulling"; }; // WL_ON 1021 | pin@p130 { function = "output"; termination = "no_pulling"; }; // Status LED 1022 | pin@p131 { function = "output"; termination = "no_pulling"; startup_state = "active"; }; // LAN_RUN 1023 | pin@p132 { function = "input"; termination = "no_pulling"; polarity = "active_low"; }; // Hotplug 1024 | pin@p133 { function = "output"; termination = "no_pulling"; }; // Camera LED 1025 | pin@p134 { function = "output"; termination = "no_pulling"; }; // Camera shutdown 1026 | pin@p135 { function = "input"; termination = "no_pulling"; polarity = "active_low"; }; // Power low 1027 | }; // pin_config 1028 | 1029 | pin_defines { 1030 | pin_define@HDMI_CONTROL_ATTACHED { 1031 | type = "external"; 1032 | number = <4>; 1033 | }; 1034 | pin_define@NUM_CAMERAS { 1035 | type = "internal"; 1036 | number = <1>; 1037 | }; 1038 | pin_define@CAMERA_0_I2C_PORT { 1039 | type = "internal"; 1040 | number = <0>; 1041 | }; 1042 | pin_define@CAMERA_0_SDA_PIN { 1043 | type = "internal"; 1044 | number = <44>; 1045 | }; 1046 | pin_define@CAMERA_0_SCL_PIN { 1047 | type = "internal"; 1048 | number = <45>; 1049 | }; 1050 | pin_define@CAMERA_0_SHUTDOWN { 1051 | type = "external"; 1052 | number = <6>; 1053 | }; 1054 | pin_define@CAMERA_0_UNICAM_PORT { 1055 | type = "internal"; 1056 | number = <1>; 1057 | }; 1058 | pin_define@CAMERA_0_LED { 1059 | type = "external"; 1060 | number = <5>; 1061 | }; 1062 | pin_define@FLASH_0_ENABLE { 1063 | type = "absent"; 1064 | }; 1065 | pin_define@FLASH_0_INDICATOR { 1066 | type = "absent"; 1067 | }; 1068 | pin_define@FLASH_1_ENABLE { 1069 | type = "absent"; 1070 | }; 1071 | pin_define@FLASH_1_INDICATOR { 1072 | type = "absent"; 1073 | }; 1074 | pin_define@POWER_LOW { 1075 | type = "external"; 1076 | number = <7>; 1077 | }; 1078 | pin_define@LEDS_DISK_ACTIVITY { 1079 | type = "internal"; 1080 | number = <47>; 1081 | }; 1082 | pin_define@LAN_RUN { 1083 | type = "external"; 1084 | number = <3>; 1085 | }; 1086 | pin_define@LAN_RUN_BOOT { 1087 | type = "internal"; 1088 | number = <29>; 1089 | }; 1090 | pin_define@BT_ON { 1091 | type = "external"; 1092 | number = <0>; 1093 | }; 1094 | pin_define@WL_ON { 1095 | type = "external"; 1096 | number = <1>; 1097 | }; 1098 | pin_define@SMPS_SDA { 1099 | type = "internal"; 1100 | number = <44>; 1101 | }; 1102 | pin_define@SMPS_SCL { 1103 | type = "internal"; 1104 | number = <45>; 1105 | }; 1106 | pin_define@ETH_CLK { 1107 | type = "internal"; 1108 | number = <42>; 1109 | }; 1110 | pin_define@WL_LPO_CLK { 1111 | type = "internal"; 1112 | number = <43>; 1113 | }; 1114 | pin_define@USB_LIMIT_1A2 { 1115 | type = "absent"; 1116 | }; 1117 | pin_define@SIO_1V8_SEL { 1118 | type = "absent"; 1119 | }; 1120 | pin_define@PWML { 1121 | type = "internal"; 1122 | number = <41>; 1123 | }; 1124 | pin_define@PWMR { 1125 | type = "internal"; 1126 | number = <40>; 1127 | }; 1128 | pin_define@SAFE_MODE { 1129 | type = "absent"; 1130 | }; 1131 | pin_define@SD_CARD_DETECT { 1132 | type = "absent"; 1133 | }; 1134 | pin_define@ID_SDA { 1135 | type = "internal"; 1136 | number = <0>; 1137 | }; 1138 | pin_define@ID_SCL { 1139 | type = "internal"; 1140 | number = <1>; 1141 | }; 1142 | pin_define@DISPLAY_I2C_PORT { 1143 | type = "internal"; 1144 | number = <0>; 1145 | }; 1146 | pin_define@DISPLAY_SDA { 1147 | type = "internal"; 1148 | number = <44>; 1149 | }; 1150 | pin_define@DISPLAY_SCL { 1151 | type = "internal"; 1152 | number = <45>; 1153 | }; 1154 | }; // pin_defines 1155 | }; // pins 1156 | 1157 | pins_3b2 { // Pi 3 Model B rev 1.2 1158 | pin_config { 1159 | pin@default { 1160 | polarity = "active_high"; 1161 | termination = "pull_down"; 1162 | startup_state = "inactive"; 1163 | function = "input"; 1164 | }; // pin 1165 | pin@p14 { function = "uart0"; termination = "no_pulling"; drive_strength_mA = < 8 >; }; // TX uart0 1166 | pin@p15 { function = "uart0"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // RX uart0 1167 | pin@p34 { function = "input"; termination = "pull_up"; drive_strength_mA = < 8 >; }; 1168 | pin@p35 { function = "input"; termination = "pull_up"; drive_strength_mA = < 8 >; }; 1169 | pin@p36 { function = "input"; termination = "pull_up"; drive_strength_mA = < 8 >; }; 1170 | pin@p37 { function = "input"; termination = "pull_up"; drive_strength_mA = < 8 >; }; 1171 | pin@p38 { function = "input"; termination = "pull_up"; drive_strength_mA = < 8 >; }; 1172 | pin@p39 { function = "input"; termination = "pull_up"; drive_strength_mA = < 8 >; }; 1173 | pin@p40 { function = "pwm"; termination = "no_pulling"; drive_strength_mA = < 16 >; }; // Right audio 1174 | pin@p41 { function = "pwm"; termination = "no_pulling"; drive_strength_mA = < 16 >; }; // Left audio 1175 | pin@p42 { function = "gp_clk"; termination = "pull_down"; }; // ETH_CLK - Ethernet 25MHz output 1176 | pin@p43 { function = "gp_clk"; termination = "pull_down"; }; // WIFI_CLK - Wifi 32kHz output 1177 | pin@p44 { function = "input"; termination = "pull_up"; }; // I2C 0 SDA 1178 | pin@p45 { function = "input"; termination = "pull_up"; }; // I2C 0 SCL 1179 | pin@p46 { function = "input"; termination = "pull_up"; }; // SMPS_SCL 1180 | pin@p47 { function = "input"; termination = "pull_up"; }; // SMPS_SDA 1181 | pin@p48 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD CLK 1182 | pin@p49 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD CMD 1183 | pin@p50 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D0 1184 | pin@p51 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D1 1185 | pin@p52 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D2 1186 | pin@p53 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D3 1187 | pin@p128 { function = "output"; termination = "no_pulling"; }; // BT_ON 1188 | pin@p129 { function = "output"; termination = "no_pulling"; }; // WL_ON 1189 | pin@p130 { function = "output"; termination = "no_pulling"; }; // ACT_LED 1190 | pin@p131 { function = "output"; termination = "no_pulling"; startup_state = "active"; }; // LAN_RUN 1191 | pin@p132 { function = "input"; termination = "no_pulling"; polarity = "active_low"; }; // Hotplug 1192 | pin@p133 { function = "output"; termination = "no_pulling"; }; // Camera shutdown 1193 | pin@p134 { function = "output"; termination = "no_pulling"; }; // Camera LED 1194 | pin@p135 { function = "input"; termination = "no_pulling"; polarity = "active_low"; }; // Power low 1195 | }; // pin_config 1196 | 1197 | pin_defines { 1198 | pin_define@HDMI_CONTROL_ATTACHED { 1199 | type = "external"; 1200 | number = <4>; 1201 | }; 1202 | pin_define@NUM_CAMERAS { 1203 | type = "internal"; 1204 | number = <1>; 1205 | }; 1206 | pin_define@CAMERA_0_I2C_PORT { 1207 | type = "internal"; 1208 | number = <0>; 1209 | }; 1210 | pin_define@CAMERA_0_SDA_PIN { 1211 | type = "internal"; 1212 | number = <44>; 1213 | }; 1214 | pin_define@CAMERA_0_SCL_PIN { 1215 | type = "internal"; 1216 | number = <45>; 1217 | }; 1218 | pin_define@CAMERA_0_SHUTDOWN { 1219 | type = "external"; 1220 | number = <5>; 1221 | }; 1222 | pin_define@CAMERA_0_UNICAM_PORT { 1223 | type = "internal"; 1224 | number = <1>; 1225 | }; 1226 | pin_define@CAMERA_0_LED { 1227 | type = "external"; 1228 | number = <6>; 1229 | }; 1230 | pin_define@FLASH_0_ENABLE { 1231 | type = "absent"; 1232 | }; 1233 | pin_define@FLASH_0_INDICATOR { 1234 | type = "absent"; 1235 | }; 1236 | pin_define@FLASH_1_ENABLE { 1237 | type = "absent"; 1238 | }; 1239 | pin_define@FLASH_1_INDICATOR { 1240 | type = "absent"; 1241 | }; 1242 | pin_define@POWER_LOW { 1243 | type = "external"; 1244 | number = <7>; 1245 | }; 1246 | pin_define@LEDS_DISK_ACTIVITY { 1247 | type = "external"; 1248 | number = <2>; 1249 | }; 1250 | pin_define@LAN_RUN { 1251 | type = "external"; 1252 | number = <3>; 1253 | }; 1254 | pin_define@LAN_RUN_BOOT { 1255 | type = "internal"; 1256 | number = <29>; 1257 | }; 1258 | pin_define@BT_ON { 1259 | type = "external"; 1260 | number = <0>; 1261 | }; 1262 | pin_define@WL_ON { 1263 | type = "external"; 1264 | number = <1>; 1265 | }; 1266 | pin_define@SMPS_SDA { 1267 | type = "internal"; 1268 | number = <46>; 1269 | }; 1270 | pin_define@SMPS_SCL { 1271 | type = "internal"; 1272 | number = <47>; 1273 | }; 1274 | pin_define@ETH_CLK { 1275 | type = "internal"; 1276 | number = <42>; 1277 | }; 1278 | pin_define@WL_LPO_CLK { 1279 | type = "internal"; 1280 | number = <43>; 1281 | }; 1282 | pin_define@USB_LIMIT_1A2 { 1283 | type = "absent"; 1284 | }; 1285 | pin_define@SIO_1V8_SEL { 1286 | type = "absent"; 1287 | }; 1288 | pin_define@PWML { 1289 | type = "internal"; 1290 | number = <41>; 1291 | }; 1292 | pin_define@PWMR { 1293 | type = "internal"; 1294 | number = <40>; 1295 | }; 1296 | pin_define@SAFE_MODE { 1297 | type = "absent"; 1298 | }; 1299 | pin_define@SD_CARD_DETECT { 1300 | type = "absent"; 1301 | }; 1302 | pin_define@ID_SDA { 1303 | type = "internal"; 1304 | number = <0>; 1305 | }; 1306 | pin_define@ID_SCL { 1307 | type = "internal"; 1308 | number = <1>; 1309 | }; 1310 | pin_define@DISPLAY_I2C_PORT { 1311 | type = "internal"; 1312 | number = <0>; 1313 | }; 1314 | pin_define@DISPLAY_SDA { 1315 | type = "internal"; 1316 | number = <44>; 1317 | }; 1318 | pin_define@DISPLAY_SCL { 1319 | type = "internal"; 1320 | number = <45>; 1321 | }; 1322 | }; // pin_defines 1323 | }; // pins 1324 | 1325 | pins_3bplus { 1326 | pin_config { 1327 | pin@default { 1328 | polarity = "active_high"; 1329 | termination = "pull_down"; 1330 | startup_state = "inactive"; 1331 | function = "input"; 1332 | }; // pin 1333 | pin@p14 { function = "uart0"; termination = "no_pulling"; drive_strength_mA = < 8 >; }; // TX uart0 1334 | pin@p15 { function = "uart0"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // RX uart0 1335 | pin@p28 { function = "input"; termination = "no_pulling"; polarity = "active_low"; }; // Hotplug 1336 | pin@p29 { function = "output"; termination = "no_pulling"; }; // ACT_LED (GREEN) 1337 | pin@p34 { function = "input"; termination = "pull_up"; drive_strength_mA = < 8 >; }; 1338 | pin@p35 { function = "input"; termination = "pull_up"; drive_strength_mA = < 8 >; }; 1339 | pin@p36 { function = "input"; termination = "pull_up"; drive_strength_mA = < 8 >; }; 1340 | pin@p37 { function = "input"; termination = "pull_up"; drive_strength_mA = < 8 >; }; 1341 | pin@p38 { function = "input"; termination = "pull_up"; drive_strength_mA = < 8 >; }; 1342 | pin@p39 { function = "input"; termination = "pull_up"; drive_strength_mA = < 8 >; }; 1343 | pin@p40 { function = "pwm"; termination = "no_pulling"; drive_strength_mA = < 16 >; }; // Right audio 1344 | pin@p41 { function = "pwm"; termination = "no_pulling"; drive_strength_mA = < 16 >; }; // Left audio 1345 | pin@p42 { function = "gp_clk"; termination = "pull_down"; }; // ETH_CLK - Ethernet 25MHz output 1346 | pin@p43 { function = "gp_clk"; termination = "pull_down"; }; // WIFI_CLK - Wifi 32kHz output 1347 | pin@p44 { function = "input"; termination = "pull_up"; }; // I2C 0 SDA 1348 | pin@p45 { function = "input"; termination = "pull_up"; }; // I2C 0 SCL 1349 | pin@p46 { function = "input"; termination = "pull_up"; }; // SMPS_SCL 1350 | pin@p47 { function = "input"; termination = "pull_up"; }; // SMPS_SDA 1351 | pin@p48 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD CLK 1352 | pin@p49 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD CMD 1353 | pin@p50 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D0 1354 | pin@p51 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D1 1355 | pin@p52 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D2 1356 | pin@p53 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D3 1357 | pin@p128 { function = "output"; termination = "no_pulling"; }; // BT_ON 1358 | pin@p129 { function = "output"; termination = "no_pulling"; }; // WL_ON 1359 | pin@p130 { function = "output"; termination = "no_pulling"; polarity = "active_low"; startup_state = "active"; }; // PWR_LED (RED) 1360 | pin@p131 { function = "output"; termination = "no_pulling"; startup_state = "active"; }; // LAN_RUN 1361 | pin@p133 { function = "output"; termination = "no_pulling"; }; // Camera shutdown 1362 | pin@p134 { function = "output"; termination = "no_pulling"; }; // Camera LED 1363 | }; // pin_config 1364 | 1365 | pin_defines { 1366 | pin_define@HDMI_CONTROL_ATTACHED { 1367 | type = "internal"; 1368 | number = <28>; 1369 | }; 1370 | pin_define@NUM_CAMERAS { 1371 | type = "internal"; 1372 | number = <1>; 1373 | }; 1374 | pin_define@CAMERA_0_I2C_PORT { 1375 | type = "internal"; 1376 | number = <0>; 1377 | }; 1378 | pin_define@CAMERA_0_SDA_PIN { 1379 | type = "internal"; 1380 | number = <44>; 1381 | }; 1382 | pin_define@CAMERA_0_SCL_PIN { 1383 | type = "internal"; 1384 | number = <45>; 1385 | }; 1386 | pin_define@CAMERA_0_SHUTDOWN { 1387 | type = "external"; 1388 | number = <5>; 1389 | }; 1390 | pin_define@CAMERA_0_UNICAM_PORT { 1391 | type = "internal"; 1392 | number = <1>; 1393 | }; 1394 | pin_define@CAMERA_0_LED { 1395 | type = "external"; 1396 | number = <6>; 1397 | }; 1398 | pin_define@FLASH_0_ENABLE { 1399 | type = "absent"; 1400 | }; 1401 | pin_define@FLASH_0_INDICATOR { 1402 | type = "absent"; 1403 | }; 1404 | pin_define@FLASH_1_ENABLE { 1405 | type = "absent"; 1406 | }; 1407 | pin_define@FLASH_1_INDICATOR { 1408 | type = "absent"; 1409 | }; 1410 | pin_define@POWER_LOW { 1411 | type = "absent"; 1412 | }; 1413 | pin_define@LEDS_PWR_OK { 1414 | type = "external"; 1415 | number = <2>; 1416 | }; 1417 | pin_define@LEDS_DISK_ACTIVITY { 1418 | type = "internal"; 1419 | number = <29>; 1420 | }; 1421 | pin_define@LAN_RUN { 1422 | type = "external"; 1423 | number = <3>; 1424 | }; 1425 | pin_define@LAN_RUN_BOOT { 1426 | type = "internal"; 1427 | number = <30>; 1428 | }; 1429 | pin_define@BT_ON { 1430 | type = "external"; 1431 | number = <0>; 1432 | }; 1433 | pin_define@WL_ON { 1434 | type = "external"; 1435 | number = <1>; 1436 | }; 1437 | pin_define@SMPS_SDA { 1438 | type = "internal"; 1439 | number = <46>; 1440 | }; 1441 | pin_define@SMPS_SCL { 1442 | type = "internal"; 1443 | number = <47>; 1444 | }; 1445 | pin_define@ETH_CLK { 1446 | type = "internal"; 1447 | number = <42>; 1448 | }; 1449 | pin_define@WL_LPO_CLK { 1450 | type = "internal"; 1451 | number = <43>; 1452 | }; 1453 | pin_define@USB_LIMIT_1A2 { 1454 | type = "absent"; 1455 | }; 1456 | pin_define@SIO_1V8_SEL { 1457 | type = "absent"; 1458 | }; 1459 | pin_define@PWML { 1460 | type = "internal"; 1461 | number = <41>; 1462 | }; 1463 | pin_define@PWMR { 1464 | type = "internal"; 1465 | number = <40>; 1466 | }; 1467 | pin_define@SAFE_MODE { 1468 | type = "absent"; 1469 | }; 1470 | pin_define@SD_CARD_DETECT { 1471 | type = "absent"; 1472 | }; 1473 | pin_define@ID_SDA { 1474 | type = "internal"; 1475 | number = <0>; 1476 | }; 1477 | pin_define@ID_SCL { 1478 | type = "internal"; 1479 | number = <1>; 1480 | }; 1481 | pin_define@DISPLAY_I2C_PORT { 1482 | type = "internal"; 1483 | number = <0>; 1484 | }; 1485 | pin_define@DISPLAY_SDA { 1486 | type = "internal"; 1487 | number = <44>; 1488 | }; 1489 | pin_define@DISPLAY_SCL { 1490 | type = "internal"; 1491 | number = <45>; 1492 | }; 1493 | }; // pin_defines 1494 | }; // pins 1495 | 1496 | pins_3aplus { 1497 | pin_config { 1498 | pin@default { 1499 | polarity = "active_high"; 1500 | termination = "pull_down"; 1501 | startup_state = "inactive"; 1502 | function = "input"; 1503 | }; // pin 1504 | pin@p14 { function = "uart0"; termination = "no_pulling"; drive_strength_mA = < 8 >; }; // TX uart0 1505 | pin@p15 { function = "uart0"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // RX uart0 1506 | pin@p28 { function = "input"; termination = "no_pulling"; polarity = "active_low"; }; // Hotplug 1507 | pin@p29 { function = "output"; termination = "no_pulling"; }; // ACT_LED (GREEN) 1508 | pin@p34 { function = "input"; termination = "pull_up"; drive_strength_mA = < 8 >; }; 1509 | pin@p35 { function = "input"; termination = "pull_up"; drive_strength_mA = < 8 >; }; 1510 | pin@p36 { function = "input"; termination = "pull_up"; drive_strength_mA = < 8 >; }; 1511 | pin@p37 { function = "input"; termination = "pull_up"; drive_strength_mA = < 8 >; }; 1512 | pin@p38 { function = "input"; termination = "pull_up"; drive_strength_mA = < 8 >; }; 1513 | pin@p39 { function = "input"; termination = "pull_up"; drive_strength_mA = < 8 >; }; 1514 | pin@p40 { function = "pwm"; termination = "no_pulling"; drive_strength_mA = < 16 >; }; // Right audio 1515 | pin@p41 { function = "pwm"; termination = "no_pulling"; drive_strength_mA = < 16 >; }; // Left audio 1516 | pin@p43 { function = "gp_clk"; termination = "pull_down"; }; // WIFI_CLK - Wifi 32kHz output 1517 | pin@p44 { function = "input"; termination = "pull_up"; }; // I2C 0 SDA 1518 | pin@p45 { function = "input"; termination = "pull_up"; }; // I2C 0 SCL 1519 | pin@p46 { function = "input"; termination = "pull_up"; }; // SMPS_SCL 1520 | pin@p47 { function = "input"; termination = "pull_up"; }; // SMPS_SDA 1521 | pin@p48 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD CLK 1522 | pin@p49 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD CMD 1523 | pin@p50 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D0 1524 | pin@p51 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D1 1525 | pin@p52 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D2 1526 | pin@p53 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D3 1527 | pin@p128 { function = "output"; termination = "no_pulling"; }; // BT_ON 1528 | pin@p129 { function = "output"; termination = "no_pulling"; }; // WL_ON 1529 | pin@p130 { function = "output"; termination = "no_pulling"; polarity = "active_low"; startup_state = "active"; }; // PWR_LED (RED) 1530 | pin@p133 { function = "output"; termination = "no_pulling"; }; // Camera shutdown 1531 | pin@p134 { function = "output"; termination = "no_pulling"; }; // Camera LED 1532 | }; // pin_config 1533 | 1534 | pin_defines { 1535 | pin_define@HDMI_CONTROL_ATTACHED { 1536 | type = "internal"; 1537 | number = <28>; 1538 | }; 1539 | pin_define@NUM_CAMERAS { 1540 | type = "internal"; 1541 | number = <1>; 1542 | }; 1543 | pin_define@CAMERA_0_I2C_PORT { 1544 | type = "internal"; 1545 | number = <0>; 1546 | }; 1547 | pin_define@CAMERA_0_SDA_PIN { 1548 | type = "internal"; 1549 | number = <44>; 1550 | }; 1551 | pin_define@CAMERA_0_SCL_PIN { 1552 | type = "internal"; 1553 | number = <45>; 1554 | }; 1555 | pin_define@CAMERA_0_SHUTDOWN { 1556 | type = "external"; 1557 | number = <5>; 1558 | }; 1559 | pin_define@CAMERA_0_UNICAM_PORT { 1560 | type = "internal"; 1561 | number = <1>; 1562 | }; 1563 | pin_define@CAMERA_0_LED { 1564 | type = "external"; 1565 | number = <6>; 1566 | }; 1567 | pin_define@FLASH_0_ENABLE { 1568 | type = "absent"; 1569 | }; 1570 | pin_define@FLASH_0_INDICATOR { 1571 | type = "absent"; 1572 | }; 1573 | pin_define@FLASH_1_ENABLE { 1574 | type = "absent"; 1575 | }; 1576 | pin_define@FLASH_1_INDICATOR { 1577 | type = "absent"; 1578 | }; 1579 | pin_define@POWER_LOW { 1580 | type = "absent"; 1581 | }; 1582 | pin_define@LEDS_PWR_OK { 1583 | type = "external"; 1584 | number = <2>; 1585 | }; 1586 | pin_define@LEDS_DISK_ACTIVITY { 1587 | type = "internal"; 1588 | number = <29>; 1589 | }; 1590 | pin_define@LAN_RUN { 1591 | type = "absent"; 1592 | }; 1593 | pin_define@LAN_RUN_BOOT { 1594 | type = "internal"; 1595 | number = <30>; 1596 | }; 1597 | pin_define@BT_ON { 1598 | type = "external"; 1599 | number = <0>; 1600 | }; 1601 | pin_define@WL_ON { 1602 | type = "external"; 1603 | number = <1>; 1604 | }; 1605 | pin_define@SMPS_SDA { 1606 | type = "internal"; 1607 | number = <46>; 1608 | }; 1609 | pin_define@SMPS_SCL { 1610 | type = "internal"; 1611 | number = <47>; 1612 | }; 1613 | pin_define@ETH_CLK { 1614 | type = "absent"; 1615 | }; 1616 | pin_define@WL_LPO_CLK { 1617 | type = "internal"; 1618 | number = <43>; 1619 | }; 1620 | pin_define@USB_LIMIT_1A2 { 1621 | type = "absent"; 1622 | }; 1623 | pin_define@SIO_1V8_SEL { 1624 | type = "absent"; 1625 | }; 1626 | pin_define@PWML { 1627 | type = "internal"; 1628 | number = <41>; 1629 | }; 1630 | pin_define@PWMR { 1631 | type = "internal"; 1632 | number = <40>; 1633 | }; 1634 | pin_define@SAFE_MODE { 1635 | type = "absent"; 1636 | }; 1637 | pin_define@SD_CARD_DETECT { 1638 | type = "absent"; 1639 | }; 1640 | pin_define@ID_SDA { 1641 | type = "internal"; 1642 | number = <0>; 1643 | }; 1644 | pin_define@ID_SCL { 1645 | type = "internal"; 1646 | number = <1>; 1647 | }; 1648 | pin_define@DISPLAY_I2C_PORT { 1649 | type = "internal"; 1650 | number = <0>; 1651 | }; 1652 | pin_define@DISPLAY_SDA { 1653 | type = "internal"; 1654 | number = <44>; 1655 | }; 1656 | pin_define@DISPLAY_SCL { 1657 | type = "internal"; 1658 | number = <45>; 1659 | }; 1660 | }; // pin_defines 1661 | }; // pins 1662 | 1663 | pins_cm3 { // Pi 3 CM3 1664 | pin_config { 1665 | pin@default { 1666 | polarity = "active_high"; 1667 | termination = "pull_down"; 1668 | startup_state = "inactive"; 1669 | function = "input"; 1670 | }; // pin 1671 | pin@p0 { function = "input"; termination = "pull_up"; }; // CAMERA 0 I2C0 SDA 1672 | pin@p1 { function = "input"; termination = "pull_up"; }; // CAMERA 0 I2C0 SCL 1673 | pin@p2 { function = "output"; termination = "no_pulling"; }; // CAMERA 0 LED 1674 | pin@p3 { function = "output"; termination = "no_pulling"; }; // CAMERA 0 SHUTDOWN 1675 | pin@p14 { function = "uart0"; termination = "no_pulling"; drive_strength_mA = < 8 >; }; // TX uart0 1676 | pin@p15 { function = "uart0"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // RX uart0 1677 | pin@p46 { function = "input"; termination = "pull_up"; }; // SMPS_SCL 1678 | pin@p47 { function = "input"; termination = "pull_up"; }; // SMPS_SDA 1679 | pin@p48 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD CLK 1680 | pin@p49 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD CMD 1681 | pin@p50 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D0 1682 | pin@p51 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D1 1683 | pin@p52 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D2 1684 | pin@p53 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D3 1685 | pin@p128 { function = "input"; termination = "no_pulling"; polarity = "active_low"; }; // Hotplug 1686 | pin@p129 { function = "output"; termination = "no_pulling"; polarity = "active_low"; }; // EMMC_ENABLE_N 1687 | }; // pin_config 1688 | 1689 | pin_defines { 1690 | pin_define@HDMI_CONTROL_ATTACHED { 1691 | type = "external"; 1692 | number = <0>; 1693 | }; 1694 | pin_define@EMMC_ENABLE { 1695 | type = "external"; 1696 | number = <1>; 1697 | }; 1698 | pin_define@NUM_CAMERAS { 1699 | type = "internal"; 1700 | number = <1>; 1701 | }; 1702 | pin_define@POWER_LOW { 1703 | type = "absent"; 1704 | }; 1705 | pin_define@LEDS_DISK_ACTIVITY { 1706 | type = "absent"; 1707 | }; 1708 | pin_define@LAN_RUN { 1709 | type = "absent"; 1710 | }; 1711 | pin_define@SMPS_SDA { 1712 | type = "internal"; 1713 | number = <46>; 1714 | }; 1715 | pin_define@SMPS_SCL { 1716 | type = "internal"; 1717 | number = <47>; 1718 | }; 1719 | pin_define@ETH_CLK { 1720 | type = "absent"; 1721 | }; 1722 | pin_define@WL_LPO_CLK { 1723 | type = "absent"; 1724 | }; 1725 | pin_define@USB_LIMIT_1A2 { 1726 | type = "absent"; 1727 | }; 1728 | pin_define@SIO_1V8_SEL { 1729 | type = "absent"; 1730 | }; 1731 | pin_define@PWML { 1732 | type = "absent"; 1733 | }; 1734 | pin_define@PWMR { 1735 | type = "absent"; 1736 | }; 1737 | pin_define@SAFE_MODE { 1738 | type = "absent"; 1739 | }; 1740 | pin_define@SD_CARD_DETECT { 1741 | type = "absent"; 1742 | }; 1743 | pin_define@ID_SDA { 1744 | type = "absent"; 1745 | }; 1746 | pin_define@ID_SCL { 1747 | type = "absent"; 1748 | }; 1749 | pin_define@CAMERA_0_LED { 1750 | type = "internal"; 1751 | number = <2>; 1752 | }; 1753 | pin_define@CAMERA_0_SHUTDOWN { 1754 | type = "internal"; 1755 | number = <3>; 1756 | }; 1757 | pin_define@CAMERA_0_UNICAM_PORT { 1758 | type = "internal"; 1759 | number = <1>; 1760 | }; 1761 | pin_define@CAMERA_0_I2C_PORT { 1762 | type = "internal"; 1763 | number = <0>; 1764 | }; 1765 | pin_define@CAMERA_0_SDA_PIN { 1766 | type = "internal"; 1767 | number = <0>; 1768 | }; 1769 | pin_define@CAMERA_0_SCL_PIN { 1770 | type = "internal"; 1771 | number = <1>; 1772 | }; 1773 | }; // pin_defines 1774 | }; // pins 1775 | 1776 | pins_cm4 { // Pi 4 CM4 1777 | pin_config { 1778 | pin@default { 1779 | polarity = "active_high"; 1780 | termination = "pull_down"; 1781 | startup_state = "inactive"; 1782 | function = "input"; 1783 | }; // pin 1784 | pin@p14 { function = "uart0"; termination = "no_pulling"; drive_strength_mA = < 8 >; }; // TX uart0 1785 | pin@p15 { function = "uart0"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // RX uart0 1786 | pin@p46 { function = "input"; termination = "pull_up"; }; // SMPS_SCL 1787 | pin@p47 { function = "input"; termination = "pull_up"; }; // SMPS_SDA 1788 | pin@p48 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD CLK 1789 | pin@p49 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD CMD 1790 | pin@p50 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D0 1791 | pin@p51 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D1 1792 | pin@p52 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D2 1793 | pin@p53 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D3 1794 | pin@p128 { function = "output"; termination = "no_pulling"; }; // BT_ON 1795 | pin@p129 { function = "output"; termination = "no_pulling"; }; // WL_ON 1796 | pin@p130 { function = "output"; termination = "no_pulling"; polarity = "active_low"; startup_state = "active"; }; // PWR_LED (RED) 1797 | pin@p131 { function = "output"; termination = "no_pulling"; }; // ANT1 1798 | pin@p132 { function = "output"; termination = "no_pulling"; }; // SD VDDIO 1799 | pin@p133 { function = "output"; termination = "no_pulling"; }; // Camera shutdown 1800 | pin@p134 { function = "output"; termination = "no_pulling"; startup_state = "active"; }; // SD_PWR_ON 1801 | pin@p135 { function = "output"; termination = "no_pulling"; }; // ANT2 1802 | }; // pin_config 1803 | 1804 | pin_defines { 1805 | pin_define@HDMI_CONTROL_ATTACHED { 1806 | type = "external"; 1807 | number = <0>; 1808 | }; 1809 | pin_define@EMMC_ENABLE { 1810 | type = "external"; 1811 | number = <1>; 1812 | }; 1813 | pin_define@NUM_CAMERAS { 1814 | type = "internal"; 1815 | number = <1>; 1816 | }; 1817 | pin_define@POWER_LOW { 1818 | type = "absent"; 1819 | }; 1820 | pin_define@LEDS_DISK_ACTIVITY { 1821 | type = "absent"; 1822 | }; 1823 | pin_define@LAN_RUN { 1824 | type = "absent"; 1825 | }; 1826 | pin_define@BT_ON { 1827 | type = "external"; 1828 | number = <0>; 1829 | }; 1830 | pin_define@WL_ON { 1831 | type = "external"; 1832 | number = <1>; 1833 | }; 1834 | pin_define@SMPS_SDA { 1835 | type = "internal"; 1836 | number = <46>; 1837 | }; 1838 | pin_define@SMPS_SCL { 1839 | type = "internal"; 1840 | number = <47>; 1841 | }; 1842 | pin_define@ETH_CLK { 1843 | type = "absent"; 1844 | }; 1845 | pin_define@WL_LPO_CLK { 1846 | type = "absent"; 1847 | }; 1848 | pin_define@USB_LIMIT_1A2 { 1849 | type = "absent"; 1850 | }; 1851 | pin_define@SIO_1V8_SEL { 1852 | type = "absent"; 1853 | }; 1854 | pin_define@PWML { 1855 | type = "absent"; 1856 | }; 1857 | pin_define@PWMR { 1858 | type = "absent"; 1859 | }; 1860 | pin_define@SAFE_MODE { 1861 | type = "absent"; 1862 | }; 1863 | pin_define@SD_CARD_DETECT { 1864 | type = "absent"; 1865 | }; 1866 | pin_define@ID_SDA { 1867 | type = "absent"; 1868 | }; 1869 | pin_define@ID_SCL { 1870 | type = "absent"; 1871 | }; 1872 | pin_define@CAMERA_0_I2C_PORT { 1873 | type = "internal"; 1874 | number = <0>; 1875 | }; 1876 | pin_define@CAMERA_0_SDA_PIN { 1877 | type = "internal"; 1878 | number = <44>; 1879 | }; 1880 | pin_define@CAMERA_0_SCL_PIN { 1881 | type = "internal"; 1882 | number = <45>; 1883 | }; 1884 | pin_define@CAMERA_0_SHUTDOWN { 1885 | type = "external"; 1886 | number = <5>; 1887 | }; 1888 | pin_define@CAMERA_0_UNICAM_PORT { 1889 | type = "internal"; 1890 | number = <1>; 1891 | }; 1892 | pin_define@CAMERA_0_LED { 1893 | type = "absent"; 1894 | }; 1895 | }; // pin_defines 1896 | }; // pins 1897 | 1898 | pins_pi0 { // Pi zero 1899 | pin_config { 1900 | pin@default { 1901 | polarity = "active_high"; 1902 | termination = "pull_down"; 1903 | startup_state = "inactive"; 1904 | function = "input"; 1905 | }; // pin 1906 | pin@p14 { function = "uart0"; termination = "no_pulling"; drive_strength_mA = < 8 >; }; // TX uart0 1907 | pin@p15 { function = "uart0"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // RX uart0 1908 | pin@p28 { function = "input"; termination = "pull_up"; }; // I2C 0 SDA 1909 | pin@p29 { function = "input"; termination = "pull_up"; }; // I2C 0 SCL 1910 | pin@p32 { function = "output"; termination = "pull_down"; }; // Camera LED 1911 | pin@p41 { function = "output"; termination = "no_pulling"; }; // Camera shutdown 1912 | pin@p46 { function = "input"; termination = "no_pulling"; polarity = "active_low"; }; // Hotplug 1913 | pin@p47 { function = "output"; termination = "pull_up"; polarity="active_low"; }; // activity LED 1914 | pin@p48 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD CLK 1915 | pin@p49 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD CMD 1916 | pin@p50 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D0 1917 | pin@p51 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D1 1918 | pin@p52 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D2 1919 | pin@p53 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D3 1920 | }; // pin_config 1921 | 1922 | pin_defines { 1923 | pin_define@HDMI_CONTROL_ATTACHED { 1924 | type = "internal"; 1925 | number = <46>; 1926 | }; 1927 | pin_define@NUM_CAMERAS { 1928 | type = "internal"; 1929 | number = <1>; 1930 | }; 1931 | pin_define@CAMERA_0_I2C_PORT { 1932 | type = "internal"; 1933 | number = <0>; 1934 | }; 1935 | pin_define@CAMERA_0_SDA_PIN { 1936 | type = "internal"; 1937 | number = <28>; 1938 | }; 1939 | pin_define@CAMERA_0_SCL_PIN { 1940 | type = "internal"; 1941 | number = <29>; 1942 | }; 1943 | pin_define@CAMERA_0_SHUTDOWN { 1944 | type = "internal"; 1945 | number = <41>; 1946 | }; 1947 | pin_define@CAMERA_0_UNICAM_PORT { 1948 | type = "internal"; 1949 | number = <1>; 1950 | }; 1951 | pin_define@CAMERA_0_LED { 1952 | type = "internal"; 1953 | number = <32>; 1954 | }; 1955 | pin_define@FLASH_0_ENABLE { 1956 | type = "absent"; 1957 | }; 1958 | pin_define@FLASH_0_INDICATOR { 1959 | type = "absent"; 1960 | }; 1961 | pin_define@FLASH_1_ENABLE { 1962 | type = "absent"; 1963 | }; 1964 | pin_define@FLASH_1_INDICATOR { 1965 | type = "absent"; 1966 | }; 1967 | pin_define@POWER_LOW { 1968 | type = "absent"; 1969 | }; 1970 | pin_define@LEDS_DISK_ACTIVITY { 1971 | type = "internal"; 1972 | number = <47>; 1973 | }; 1974 | pin_define@LAN_RUN { 1975 | type = "absent"; 1976 | }; 1977 | pin_define@SMPS_SDA { 1978 | type = "absent"; 1979 | }; 1980 | pin_define@SMPS_SCL { 1981 | type = "absent"; 1982 | }; 1983 | pin_define@ETH_CLK { 1984 | type = "absent"; 1985 | }; 1986 | pin_define@USB_LIMIT_1A2 { 1987 | type = "absent"; 1988 | }; 1989 | pin_define@SIO_1V8_SEL { 1990 | type = "absent"; 1991 | }; 1992 | pin_define@PWML { 1993 | type = "absent"; 1994 | }; 1995 | pin_define@PWMR { 1996 | type = "absent"; 1997 | }; 1998 | pin_define@SAFE_MODE { 1999 | type = "absent"; 2000 | }; 2001 | pin_define@SD_CARD_DETECT { 2002 | type = "absent"; 2003 | }; 2004 | pin_define@ID_SDA { 2005 | type = "internal"; 2006 | number = <0>; 2007 | }; 2008 | pin_define@ID_SCL { 2009 | type = "internal"; 2010 | number = <1>; 2011 | }; 2012 | pin_define@DISPLAY_I2C_PORT { 2013 | type = "absent"; 2014 | }; 2015 | pin_define@DISPLAY_SDA { 2016 | type = "absent"; 2017 | }; 2018 | pin_define@DISPLAY_SCL { 2019 | type = "absent"; 2020 | }; 2021 | }; // pin_defines 2022 | }; // pins 2023 | 2024 | pins_pi0w { // Pi zero W 2025 | pin_config { 2026 | pin@default { 2027 | polarity = "active_high"; 2028 | termination = "pull_down"; 2029 | startup_state = "inactive"; 2030 | function = "input"; 2031 | }; // pin 2032 | pin@p14 { function = "uart0"; termination = "no_pulling"; drive_strength_mA = < 8 >; }; // TX uart0 2033 | pin@p15 { function = "uart0"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // RX uart0 2034 | pin@p28 { function = "input"; termination = "pull_up"; }; // I2C 0 SDA 2035 | pin@p29 { function = "input"; termination = "pull_up"; }; // I2C 0 SCL 2036 | pin@p34 { function = "input"; termination = "pull_up"; drive_strength_mA = < 8 >; }; 2037 | pin@p35 { function = "input"; termination = "pull_up"; drive_strength_mA = < 8 >; }; 2038 | pin@p36 { function = "input"; termination = "pull_up"; drive_strength_mA = < 8 >; }; 2039 | pin@p37 { function = "input"; termination = "pull_up"; drive_strength_mA = < 8 >; }; 2040 | pin@p38 { function = "input"; termination = "pull_up"; drive_strength_mA = < 8 >; }; 2041 | pin@p39 { function = "input"; termination = "pull_up"; drive_strength_mA = < 8 >; }; 2042 | pin@p40 { function = "output"; termination = "pull_down"; }; // Camera LED 2043 | pin@p41 { function = "output"; termination = "no_pulling"; }; // WL_ON 2044 | pin@p43 { function = "gp_clk"; termination = "pull_down"; }; // WIFI_CLK - Wifi 32kHz output 2045 | pin@p44 { function = "output"; termination = "no_pulling"; }; // Camera shutdown 2046 | pin@p45 { function = "output"; termination = "no_pulling"; }; // BT_ON 2047 | pin@p46 { function = "input"; termination = "no_pulling"; polarity = "active_low"; }; // Hotplug 2048 | pin@p47 { function = "output"; termination = "pull_up"; polarity="active_low"; }; // activity LED 2049 | pin@p48 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD CLK 2050 | pin@p49 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD CMD 2051 | pin@p50 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D0 2052 | pin@p51 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D1 2053 | pin@p52 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D2 2054 | pin@p53 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D3 2055 | }; // pin_config 2056 | 2057 | pin_defines { 2058 | pin_define@HDMI_CONTROL_ATTACHED { 2059 | type = "internal"; 2060 | number = <46>; 2061 | }; 2062 | pin_define@NUM_CAMERAS { 2063 | type = "internal"; 2064 | number = <1>; 2065 | }; 2066 | pin_define@CAMERA_0_I2C_PORT { 2067 | type = "internal"; 2068 | number = <0>; 2069 | }; 2070 | pin_define@CAMERA_0_SDA_PIN { 2071 | type = "internal"; 2072 | number = <28>; 2073 | }; 2074 | pin_define@CAMERA_0_SCL_PIN { 2075 | type = "internal"; 2076 | number = <29>; 2077 | }; 2078 | pin_define@CAMERA_0_SHUTDOWN { 2079 | type = "internal"; 2080 | number = <44>; 2081 | }; 2082 | pin_define@CAMERA_0_UNICAM_PORT { 2083 | type = "internal"; 2084 | number = <1>; 2085 | }; 2086 | pin_define@CAMERA_0_LED { 2087 | type = "internal"; 2088 | number = <40>; 2089 | }; 2090 | pin_define@FLASH_0_ENABLE { 2091 | type = "absent"; 2092 | }; 2093 | pin_define@FLASH_0_INDICATOR { 2094 | type = "absent"; 2095 | }; 2096 | pin_define@FLASH_1_ENABLE { 2097 | type = "absent"; 2098 | }; 2099 | pin_define@FLASH_1_INDICATOR { 2100 | type = "absent"; 2101 | }; 2102 | pin_define@POWER_LOW { 2103 | type = "absent"; 2104 | }; 2105 | pin_define@LEDS_DISK_ACTIVITY { 2106 | type = "internal"; 2107 | number = <47>; 2108 | }; 2109 | pin_define@LAN_RUN { 2110 | type = "absent"; 2111 | }; 2112 | pin_define@BT_ON { 2113 | type = "internal"; 2114 | number = <45>; 2115 | }; 2116 | pin_define@WL_ON { 2117 | type = "internal"; 2118 | number = <41>; 2119 | }; 2120 | pin_define@WL_LPO_CLK { 2121 | type = "internal"; 2122 | number = <43>; 2123 | }; 2124 | pin_define@SMPS_SDA { 2125 | type = "absent"; 2126 | }; 2127 | pin_define@SMPS_SCL { 2128 | type = "absent"; 2129 | }; 2130 | pin_define@ETH_CLK { 2131 | type = "absent"; 2132 | }; 2133 | pin_define@USB_LIMIT_1A2 { 2134 | type = "absent"; 2135 | }; 2136 | pin_define@SIO_1V8_SEL { 2137 | type = "absent"; 2138 | }; 2139 | pin_define@PWML { 2140 | type = "absent"; 2141 | }; 2142 | pin_define@PWMR { 2143 | type = "absent"; 2144 | }; 2145 | pin_define@SAFE_MODE { 2146 | type = "absent"; 2147 | }; 2148 | pin_define@SD_CARD_DETECT { 2149 | type = "absent"; 2150 | }; 2151 | pin_define@ID_SDA { 2152 | type = "internal"; 2153 | number = <0>; 2154 | }; 2155 | pin_define@ID_SCL { 2156 | type = "internal"; 2157 | number = <1>; 2158 | }; 2159 | pin_define@DISPLAY_I2C_PORT { 2160 | type = "absent"; 2161 | }; 2162 | pin_define@DISPLAY_SDA { 2163 | type = "absent"; 2164 | }; 2165 | pin_define@DISPLAY_SCL { 2166 | type = "absent"; 2167 | }; 2168 | }; // pin_defines 2169 | }; // pins 2170 | 2171 | pins_cm { 2172 | pin_config { 2173 | pin@default { 2174 | polarity = "active_high"; 2175 | termination = "pull_down"; 2176 | startup_state = "inactive"; 2177 | function = "input"; 2178 | }; // pin 2179 | pin@p0 { function = "input"; termination = "pull_up"; }; // CAMERA 0 I2C0 SDA 2180 | pin@p1 { function = "input"; termination = "pull_up"; }; // CAMERA 0 I2C0 SCL 2181 | pin@p2 { function = "output"; termination = "no_pulling"; }; // CAMERA 0 LED 2182 | pin@p3 { function = "output"; termination = "no_pulling"; }; // CAMERA 0 SHUTDOWN 2183 | pin@p14 { function = "uart0"; termination = "no_pulling"; }; // TX uart0 2184 | pin@p15 { function = "uart0"; termination = "pull_up"; }; // RX uart0 2185 | pin@p47 { function = "output"; termination = "no_pulling"; polarity = "active_low"; }; // EMMC_ENABLE_N 2186 | pin@p48 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD CLK 2187 | pin@p49 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD CMD 2188 | pin@p50 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D0 2189 | pin@p51 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D1 2190 | pin@p52 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D2 2191 | pin@p53 { function = "sdcard"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // SD D3 2192 | }; // pin_config 2193 | 2194 | pin_defines { 2195 | pin_define@EMMC_ENABLE { 2196 | type = "internal"; 2197 | number = <47>; 2198 | }; 2199 | pin_define@NUM_CAMERAS { 2200 | type = "internal"; 2201 | number = <1>; 2202 | }; 2203 | pin_define@POWER_LOW { 2204 | type = "absent"; 2205 | }; 2206 | pin_define@LEDS_DISK_ACTIVITY { 2207 | type = "absent"; 2208 | }; 2209 | pin_define@LAN_RUN { 2210 | type = "absent"; 2211 | }; 2212 | pin_define@SMPS_SDA { 2213 | type = "absent"; 2214 | }; 2215 | pin_define@SMPS_SCL { 2216 | type = "absent"; 2217 | }; 2218 | pin_define@ETH_CLK { 2219 | type = "absent"; 2220 | }; 2221 | pin_define@WL_LPO_CLK { 2222 | type = "absent"; 2223 | }; 2224 | pin_define@USB_LIMIT_1A2 { 2225 | type = "absent"; 2226 | }; 2227 | pin_define@SIO_1V8_SEL { 2228 | type = "absent"; 2229 | }; 2230 | pin_define@PWML { 2231 | type = "absent"; 2232 | }; 2233 | pin_define@PWMR { 2234 | type = "absent"; 2235 | }; 2236 | pin_define@SAFE_MODE { 2237 | type = "absent"; 2238 | }; 2239 | pin_define@SD_CARD_DETECT { 2240 | type = "absent"; 2241 | }; 2242 | pin_define@ID_SDA { 2243 | type = "absent"; 2244 | }; 2245 | pin_define@ID_SCL { 2246 | type = "absent"; 2247 | }; 2248 | pin_define@CAMERA_0_LED { 2249 | type = "internal"; 2250 | number = <2>; 2251 | }; 2252 | pin_define@CAMERA_0_SHUTDOWN { 2253 | type = "internal"; 2254 | number = <3>; 2255 | }; 2256 | pin_define@CAMERA_0_UNICAM_PORT { 2257 | type = "internal"; 2258 | number = <1>; 2259 | }; 2260 | pin_define@CAMERA_0_I2C_PORT { 2261 | type = "internal"; 2262 | number = <0>; 2263 | }; 2264 | pin_define@CAMERA_0_SDA_PIN { 2265 | type = "internal"; 2266 | number = <0>; 2267 | }; 2268 | pin_define@CAMERA_0_SCL_PIN { 2269 | type = "internal"; 2270 | number = <1>; 2271 | }; 2272 | }; // pin_defines 2273 | }; // pins_cm 2274 | 2275 | pins_4b { // Pi4 Model B 2276 | pin_config { 2277 | pin@default { 2278 | polarity = "active_high"; 2279 | termination = "pull_down"; 2280 | startup_state = "inactive"; 2281 | function = "input"; 2282 | }; // pin 2283 | pin@p14 { function = "uart0"; termination = "no_pulling"; drive_strength_mA = < 8 >; }; // TX uart0 2284 | pin@p15 { function = "uart0"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // RX uart0 2285 | pin@p34 { function = "input"; termination = "pull_up"; drive_strength_mA = < 8 >; }; 2286 | pin@p35 { function = "input"; termination = "pull_up"; drive_strength_mA = < 8 >; }; 2287 | pin@p36 { function = "input"; termination = "pull_up"; drive_strength_mA = < 8 >; }; 2288 | pin@p37 { function = "input"; termination = "pull_up"; drive_strength_mA = < 8 >; }; 2289 | pin@p38 { function = "input"; termination = "pull_up"; drive_strength_mA = < 8 >; }; 2290 | pin@p39 { function = "input"; termination = "pull_up"; drive_strength_mA = < 8 >; }; 2291 | pin@p40 { function = "pwm"; termination = "no_pulling"; drive_strength_mA = < 16 >; }; // Right audio 2292 | pin@p41 { function = "pwm"; termination = "no_pulling"; drive_strength_mA = < 16 >; }; // Left audio 2293 | pin@p42 { function = "output"; termination = "pull_up"; }; // activity LED 2294 | pin@p43 { function = "input"; termination = "pull_up"; }; // SPIFLASH_CE_N 2295 | pin@p44 { function = "input"; termination = "pull_up"; }; // I2C 0 SDA 2296 | pin@p45 { function = "input"; termination = "pull_up"; }; // I2C 0 SCL 2297 | pin@p46 { function = "input"; termination = "pull_up"; drive_strength_mA = < 14 >; }; // Dummy pin for HSTL drive on bank 2 2298 | pin@p128 { function = "output"; termination = "no_pulling"; }; // BT_ON 2299 | pin@p129 { function = "output"; termination = "no_pulling"; }; // WL_ON 2300 | pin@p130 { function = "output"; termination = "no_pulling"; polarity = "active_low"; startup_state = "active"; }; // PWR_LED (RED) 2301 | pin@p131 { function = "output"; termination = "no_pulling"; }; // GLOBAL_RESET 2302 | pin@p132 { function = "output"; termination = "no_pulling"; }; // SD VDDIO 2303 | pin@p133 { function = "output"; termination = "no_pulling"; }; // Camera shutdown 2304 | pin@p134 { function = "output"; termination = "no_pulling"; startup_state = "active"; }; // SD_PWR_ON 2305 | }; // pin_config 2306 | 2307 | pin_defines { 2308 | pin_define@HDMI_CONTROL_ATTACHED { 2309 | type = "absent"; 2310 | }; 2311 | pin_define@EMMC_ENABLE { 2312 | type = "absent"; 2313 | }; 2314 | pin_define@NUM_CAMERAS { 2315 | type = "internal"; 2316 | number = <1>; 2317 | }; 2318 | pin_define@CAMERA_0_I2C_PORT { 2319 | type = "internal"; 2320 | number = <0>; 2321 | }; 2322 | pin_define@CAMERA_0_SDA_PIN { 2323 | type = "internal"; 2324 | number = <44>; 2325 | }; 2326 | pin_define@CAMERA_0_SCL_PIN { 2327 | type = "internal"; 2328 | number = <45>; 2329 | }; 2330 | pin_define@CAMERA_0_SHUTDOWN { 2331 | type = "external"; 2332 | number = <5>; 2333 | }; 2334 | pin_define@CAMERA_0_UNICAM_PORT { 2335 | type = "internal"; 2336 | number = <1>; 2337 | }; 2338 | pin_define@CAMERA_0_LED { 2339 | type = "absent"; 2340 | }; 2341 | pin_define@FLASH_0_ENABLE { 2342 | type = "absent"; 2343 | }; 2344 | pin_define@FLASH_0_INDICATOR { 2345 | type = "absent"; 2346 | }; 2347 | pin_define@FLASH_1_ENABLE { 2348 | type = "absent"; 2349 | }; 2350 | pin_define@FLASH_1_INDICATOR { 2351 | type = "absent"; 2352 | }; 2353 | pin_define@POWER_LOW { 2354 | type = "absent"; 2355 | }; 2356 | pin_define@LEDS_PWR_OK { 2357 | type = "external"; 2358 | number = <2>; 2359 | }; 2360 | pin_define@LEDS_DISK_ACTIVITY { 2361 | type = "internal"; 2362 | number = <42>; 2363 | }; 2364 | pin_define@LAN_RUN { 2365 | type = "absent"; 2366 | }; 2367 | pin_define@BT_ON { 2368 | type = "external"; 2369 | number = <0>; 2370 | }; 2371 | pin_define@WL_ON { 2372 | type = "external"; 2373 | number = <1>; 2374 | }; 2375 | pin_define@GLOBAL_RESET { 2376 | type = "external"; 2377 | number = <3>; 2378 | }; 2379 | pin_define@SMPS_SDA { 2380 | type = "absent"; 2381 | }; 2382 | pin_define@SMPS_SCL { 2383 | type = "absent"; 2384 | }; 2385 | pin_define@ETH_CLK { 2386 | type = "absent"; 2387 | }; 2388 | pin_define@WL_LPO_CLK { 2389 | type = "absent"; 2390 | }; 2391 | pin_define@USB_LIMIT_1A2 { 2392 | type = "absent"; 2393 | }; 2394 | pin_define@SIO_1V8_SEL { 2395 | type = "external"; 2396 | number = <4>; 2397 | }; 2398 | pin_define@SD_PWR_ON { 2399 | type = "external"; 2400 | number = <6>; 2401 | }; 2402 | pin_define@PWML { 2403 | type = "internal"; 2404 | number = <41>; 2405 | }; 2406 | pin_define@PWMR { 2407 | type = "internal"; 2408 | number = <40>; 2409 | }; 2410 | pin_define@SAFE_MODE { 2411 | type = "absent"; 2412 | }; 2413 | pin_define@SD_CARD_DETECT { 2414 | type = "absent"; 2415 | }; 2416 | pin_define@ID_SDA { 2417 | type = "internal"; 2418 | number = <0>; 2419 | }; 2420 | pin_define@ID_SCL { 2421 | type = "internal"; 2422 | number = <1>; 2423 | }; 2424 | pin_define@DISPLAY_I2C_PORT { 2425 | type = "internal"; 2426 | number = <0>; 2427 | }; 2428 | pin_define@DISPLAY_SDA { 2429 | type = "internal"; 2430 | number = <44>; 2431 | }; 2432 | pin_define@DISPLAY_SCL { 2433 | type = "internal"; 2434 | number = <45>; 2435 | }; 2436 | }; // pin_defines 2437 | }; // pins 2438 | 2439 | pins_400 { // Pi400 2440 | pin_config { 2441 | pin@default { 2442 | polarity = "active_high"; 2443 | termination = "pull_down"; 2444 | startup_state = "inactive"; 2445 | function = "input"; 2446 | }; // pin 2447 | pin@p14 { function = "uart0"; termination = "no_pulling"; drive_strength_mA = < 8 >; }; // TX uart0 2448 | pin@p15 { function = "uart0"; termination = "pull_up"; drive_strength_mA = < 8 >; }; // RX uart0 2449 | pin@p34 { function = "input"; termination = "pull_up"; drive_strength_mA = < 8 >; }; 2450 | pin@p35 { function = "input"; termination = "pull_up"; drive_strength_mA = < 8 >; }; 2451 | pin@p36 { function = "input"; termination = "pull_up"; drive_strength_mA = < 8 >; }; 2452 | pin@p37 { function = "input"; termination = "pull_up"; drive_strength_mA = < 8 >; }; 2453 | pin@p38 { function = "input"; termination = "pull_up"; drive_strength_mA = < 8 >; }; 2454 | pin@p39 { function = "input"; termination = "pull_up"; drive_strength_mA = < 8 >; }; 2455 | pin@p40 { function = "input"; termination = "no_pulling"; drive_strength_mA = < 8 >; }; // Used for SPI flash 2456 | pin@p41 { function = "input"; termination = "no_pulling"; drive_strength_mA = < 8 >; }; // Used for SPI flash 2457 | pin@p42 { function = "output"; termination = "pull_up"; polarity = "active_high"; startup_state = "active"; }; // power LED 2458 | pin@p43 { function = "input"; termination = "pull_up"; }; // SPIFLASH_CE_N 2459 | pin@p44 { function = "input"; termination = "pull_up"; }; // I2C 0 SDA 2460 | pin@p45 { function = "input"; termination = "pull_up"; }; // I2C 0 SCL 2461 | pin@p46 { function = "input"; termination = "pull_up"; drive_strength_mA = < 14 >; }; // Dummy pin for HSTL drive on bank 2 2462 | pin@p128 { function = "output"; termination = "no_pulling"; }; // BT_ON 2463 | pin@p129 { function = "output"; termination = "no_pulling"; }; // WL_ON 2464 | pin@p130 { function = "output"; termination = "no_pulling"; polarity = "active_low"; startup_state = "active"; }; // PWR_LED (RED) 2465 | pin@p131 { function = "output"; termination = "no_pulling"; }; // GLOBAL_RESET 2466 | pin@p132 { function = "output"; termination = "no_pulling"; }; // SD VDDIO 2467 | pin@p133 { function = "output"; termination = "no_pulling"; }; // GLOBAL_SHUTDOWN 2468 | pin@p134 { function = "output"; termination = "no_pulling"; startup_state = "active"; }; // SD_PWR_ON 2469 | }; // pin_config 2470 | 2471 | pin_defines { 2472 | pin_define@HDMI_CONTROL_ATTACHED { 2473 | type = "absent"; 2474 | }; 2475 | pin_define@EMMC_ENABLE { 2476 | type = "absent"; 2477 | }; 2478 | pin_define@NUM_CAMERAS { 2479 | type = "internal"; 2480 | number = <0>; 2481 | }; 2482 | pin_define@POWER_LOW { 2483 | type = "absent"; 2484 | }; 2485 | pin_define@LEDS_PWR_OK { 2486 | type = "external"; 2487 | number = <2>; 2488 | }; 2489 | pin_define@LEDS_DISK_ACTIVITY { 2490 | type = "absent"; 2491 | }; 2492 | pin_define@LAN_RUN { 2493 | type = "absent"; 2494 | }; 2495 | pin_define@BT_ON { 2496 | type = "external"; 2497 | number = <0>; 2498 | }; 2499 | pin_define@WL_ON { 2500 | type = "external"; 2501 | number = <1>; 2502 | }; 2503 | pin_define@GLOBAL_RESET { 2504 | type = "external"; 2505 | number = <3>; 2506 | }; 2507 | pin_define@GLOBAL_SHUTDOWN { 2508 | type = "external"; 2509 | number = <5>; 2510 | }; 2511 | pin_define@SHUTDOWN_REQUEST { 2512 | type = "external"; 2513 | number = <7>; 2514 | }; 2515 | pin_define@SMPS_SDA { 2516 | type = "absent"; 2517 | }; 2518 | pin_define@SMPS_SCL { 2519 | type = "absent"; 2520 | }; 2521 | pin_define@ETH_CLK { 2522 | type = "absent"; 2523 | }; 2524 | pin_define@WL_LPO_CLK { 2525 | type = "absent"; 2526 | }; 2527 | pin_define@USB_LIMIT_1A2 { 2528 | type = "absent"; 2529 | }; 2530 | pin_define@SIO_1V8_SEL { 2531 | type = "external"; 2532 | number = <4>; 2533 | }; 2534 | pin_define@SD_PWR_ON { 2535 | type = "external"; 2536 | number = <6>; 2537 | }; 2538 | pin_define@PWML { 2539 | type = "absent"; 2540 | }; 2541 | pin_define@PWMR { 2542 | type = "absent"; 2543 | }; 2544 | pin_define@SAFE_MODE { 2545 | type = "absent"; 2546 | }; 2547 | pin_define@SD_CARD_DETECT { 2548 | type = "absent"; 2549 | }; 2550 | pin_define@ID_SDA { 2551 | type = "internal"; 2552 | number = <0>; 2553 | }; 2554 | pin_define@ID_SCL { 2555 | type = "internal"; 2556 | number = <1>; 2557 | }; 2558 | pin_define@DISPLAY_I2C_PORT { 2559 | type = "internal"; 2560 | number = <0>; 2561 | }; 2562 | pin_define@DISPLAY_SDA { 2563 | type = "internal"; 2564 | number = <44>; 2565 | }; 2566 | pin_define@DISPLAY_SCL { 2567 | type = "internal"; 2568 | number = <45>; 2569 | }; 2570 | }; // pin_defines 2571 | }; // pins 2572 | }; 2573 | }; 2574 | -------------------------------------------------------------------------------- /Display/cutiepi-panel-overlay.dts: -------------------------------------------------------------------------------- 1 | /dts-v1/; 2 | /plugin/; 3 | 4 | / { 5 | compatible = "brcm,bcm2835"; 6 | 7 | fragment@0 { 8 | target=<&dsi1>; 9 | 10 | __overlay__ { 11 | status = "okay"; 12 | 13 | #address-cells = <1>; 14 | #size-cells = <0>; 15 | 16 | port { 17 | dsi1_out_port: endpoint { 18 | remote-endpoint = <&panel_dsi_in1>; 19 | }; 20 | }; 21 | 22 | display1: panel@0 { 23 | compatible = "nwe,nwe080"; 24 | reg=<0>; 25 | reset-gpios = <&gpio 20 0>; 26 | port { 27 | panel_dsi_in1: endpoint { 28 | remote-endpoint = <&dsi1_out_port>; 29 | }; 30 | }; 31 | }; 32 | }; 33 | }; 34 | 35 | fragment@1 { 36 | target = <&gpio>; 37 | __overlay__ { 38 | pwm_pins: pwm_pins { 39 | brcm,pins = <12>; 40 | brcm,function = <4>; // ALT0 41 | }; 42 | }; 43 | }; 44 | 45 | fragment@2 { 46 | target = <&pwm>; 47 | frag1: __overlay__ { 48 | pinctrl-names = "default"; 49 | pinctrl-0 = <&pwm_pins>; 50 | assigned-clock-rates = <1000000>; 51 | status = "okay"; 52 | }; 53 | }; 54 | 55 | fragment@3 { 56 | target-path = "/"; 57 | __overlay__ { 58 | rpi_backlight: rpi_backlight { 59 | compatible = "pwm-backlight"; 60 | brightness-levels = <0 6 8 12 16 24 32 40 48 64 96 128 160 192 224 255>; 61 | default-brightness-level = <6>; 62 | pwms = <&pwm 0 200000>; 63 | power-supply = <&vdd_3v3_reg>; 64 | status = "okay"; 65 | }; 66 | }; 67 | }; 68 | 69 | fragment@4 { 70 | target = <&i2c6>; 71 | frag0: __overlay__ { 72 | status = "okay"; 73 | pinctrl-names = "default"; 74 | pinctrl-0 = <&i2c6_pins>; 75 | clock-frequency = <100000>; 76 | }; 77 | }; 78 | 79 | fragment@5 { 80 | target = <&i2c6_pins>; 81 | __dormant__ { 82 | brcm,pins = <0 1>; 83 | }; 84 | }; 85 | 86 | fragment@6 { 87 | target = <&i2c6_pins>; 88 | __overlay__ { 89 | brcm,pins = <22 23>; 90 | }; 91 | }; 92 | 93 | fragment@7 { 94 | target = <&gpio>; 95 | __overlay__ { 96 | goodix_pins: goodix_pins { 97 | brcm,pins = <21 26>; // interrupt and reset 98 | brcm,function = <0 0>; // in 99 | brcm,pull = <2 2>; // pull-up 100 | }; 101 | }; 102 | }; 103 | 104 | fragment@8 { 105 | target = <&i2c6>; 106 | __overlay__ { 107 | #address-cells = <1>; 108 | #size-cells = <0>; 109 | status = "okay"; 110 | 111 | gt9xx: gt9xx@5d { 112 | compatible = "goodix,gt9271"; 113 | reg = <0x5D>; 114 | pinctrl-names = "default"; 115 | pinctrl-0 = <&goodix_pins>; 116 | interrupt-parent = <&gpio>; 117 | interrupts = <21 2>; // high-to-low edge triggered 118 | irq-gpios = <&gpio 21 0>; 119 | reset-gpios = <&gpio 26 0>; 120 | }; 121 | }; 122 | }; 123 | }; 124 | -------------------------------------------------------------------------------- /Display/cutiepi-panel.dtbo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cutiepi-io/cutiepi-drivers/34618f0d5b649b85bfe4ef565d68e3814b815104/Display/cutiepi-panel.dtbo -------------------------------------------------------------------------------- /Display/drivers/gpu/drm/panel/Kconfig: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: GPL-2.0-only 2 | config DRM_PANEL 3 | bool 4 | depends on DRM 5 | help 6 | Panel registration and lookup framework. 7 | 8 | menu "Display Panels" 9 | depends on DRM && DRM_PANEL 10 | 11 | config DRM_PANEL_ARM_VERSATILE 12 | tristate "ARM Versatile panel driver" 13 | depends on OF 14 | depends on MFD_SYSCON 15 | select VIDEOMODE_HELPERS 16 | help 17 | This driver supports the ARM Versatile panels connected to ARM 18 | reference designs. The panel is detected using special registers 19 | in the Versatile family syscon registers. 20 | 21 | config DRM_PANEL_ASUS_Z00T_TM5P5_NT35596 22 | tristate "ASUS Z00T TM5P5 NT35596 panel" 23 | depends on GPIOLIB && OF 24 | depends on DRM_MIPI_DSI 25 | depends on BACKLIGHT_CLASS_DEVICE 26 | help 27 | Say Y here if you want to enable support for the ASUS TMP5P5 28 | NT35596 1080x1920 video mode panel as found in some Asus 29 | Zenfone 2 Laser Z00T devices. 30 | 31 | config DRM_PANEL_BOE_HIMAX8279D 32 | tristate "Boe Himax8279d panel" 33 | depends on OF 34 | depends on DRM_MIPI_DSI 35 | depends on BACKLIGHT_CLASS_DEVICE 36 | help 37 | Say Y here if you want to enable support for Boe Himax8279d 38 | TFT-LCD modules. The panel has a 1200x1920 resolution and uses 39 | 24 bit RGB per pixel. It provides a MIPI DSI interface to 40 | the host and has a built-in LED backlight. 41 | 42 | config DRM_PANEL_BOE_TV101WUM_NL6 43 | tristate "BOE TV101WUM and AUO KD101N80 45NA 1200x1920 panel" 44 | depends on OF 45 | depends on DRM_MIPI_DSI 46 | depends on BACKLIGHT_CLASS_DEVICE 47 | help 48 | Say Y here if you want to support for BOE TV101WUM and AUO KD101N80 49 | 45NA WUXGA PANEL DSI Video Mode panel 50 | 51 | config DRM_PANEL_LVDS 52 | tristate "Generic LVDS panel driver" 53 | depends on OF 54 | depends on BACKLIGHT_CLASS_DEVICE 55 | select VIDEOMODE_HELPERS 56 | help 57 | This driver supports LVDS panels that don't require device-specific 58 | handling of power supplies or control signals. It implements automatic 59 | backlight handling if the panel is attached to a backlight controller. 60 | 61 | config DRM_PANEL_SIMPLE 62 | tristate "support for simple panels" 63 | depends on OF 64 | depends on BACKLIGHT_CLASS_DEVICE 65 | select VIDEOMODE_HELPERS 66 | help 67 | DRM panel driver for dumb panels that need at most a regulator and 68 | a GPIO to be powered up. Optionally a backlight can be attached so 69 | that it can be automatically turned off when the panel goes into a 70 | low power state. 71 | 72 | config DRM_PANEL_ELIDA_KD35T133 73 | tristate "Elida KD35T133 panel driver" 74 | depends on OF 75 | depends on DRM_MIPI_DSI 76 | depends on BACKLIGHT_CLASS_DEVICE 77 | help 78 | Say Y here if you want to enable support for the Elida 79 | KD35T133 controller for 320x480 LCD panels with MIPI-DSI 80 | system interfaces. 81 | 82 | config DRM_PANEL_FEIXIN_K101_IM2BA02 83 | tristate "Feixin K101 IM2BA02 panel" 84 | depends on OF 85 | depends on DRM_MIPI_DSI 86 | depends on BACKLIGHT_CLASS_DEVICE 87 | help 88 | Say Y here if you want to enable support for the Feixin K101 IM2BA02 89 | 4-lane 800x1280 MIPI DSI panel. 90 | 91 | config DRM_PANEL_FEIYANG_FY07024DI26A30D 92 | tristate "Feiyang FY07024DI26A30-D MIPI-DSI LCD panel" 93 | depends on OF 94 | depends on DRM_MIPI_DSI 95 | depends on BACKLIGHT_CLASS_DEVICE 96 | help 97 | Say Y if you want to enable support for panels based on the 98 | Feiyang FY07024DI26A30-D MIPI-DSI interface. 99 | 100 | config DRM_PANEL_ILITEK_IL9322 101 | tristate "Ilitek ILI9322 320x240 QVGA panels" 102 | depends on OF && SPI 103 | select REGMAP 104 | help 105 | Say Y here if you want to enable support for Ilitek IL9322 106 | QVGA (320x240) RGB, YUV and ITU-T BT.656 panels. 107 | 108 | config DRM_PANEL_ILITEK_ILI9881C 109 | tristate "Ilitek ILI9881C-based panels" 110 | depends on OF 111 | depends on DRM_MIPI_DSI 112 | depends on BACKLIGHT_CLASS_DEVICE 113 | help 114 | Say Y if you want to enable support for panels based on the 115 | Ilitek ILI9881c controller. 116 | 117 | config DRM_PANEL_INNOLUX_P079ZCA 118 | tristate "Innolux P079ZCA panel" 119 | depends on OF 120 | depends on DRM_MIPI_DSI 121 | depends on BACKLIGHT_CLASS_DEVICE 122 | help 123 | Say Y here if you want to enable support for Innolux P079ZCA 124 | TFT-LCD modules. The panel has a 1024x768 resolution and uses 125 | 24 bit RGB per pixel. It provides a MIPI DSI interface to 126 | the host and has a built-in LED backlight. 127 | 128 | config DRM_PANEL_JDI_LT070ME05000 129 | tristate "JDI LT070ME05000 WUXGA DSI panel" 130 | depends on OF 131 | depends on DRM_MIPI_DSI 132 | depends on BACKLIGHT_CLASS_DEVICE 133 | help 134 | Say Y here if you want to enable support for JDI DSI video mode 135 | panel as found in Google Nexus 7 (2013) devices. 136 | The panel has a 1200(RGB)×1920 (WUXGA) resolution and uses 137 | 24 bit per pixel. 138 | 139 | config DRM_PANEL_KINGDISPLAY_KD097D04 140 | tristate "Kingdisplay kd097d04 panel" 141 | depends on OF 142 | depends on DRM_MIPI_DSI 143 | depends on BACKLIGHT_CLASS_DEVICE 144 | help 145 | Say Y here if you want to enable support for Kingdisplay kd097d04 146 | TFT-LCD modules. The panel has a 1536x2048 resolution and uses 147 | 24 bit RGB per pixel. It provides a MIPI DSI interface to 148 | the host and has a built-in LED backlight. 149 | 150 | config DRM_PANEL_LEADTEK_LTK050H3146W 151 | tristate "Leadtek LTK050H3146W panel" 152 | depends on OF 153 | depends on DRM_MIPI_DSI 154 | depends on BACKLIGHT_CLASS_DEVICE 155 | help 156 | Say Y here if you want to enable support for Leadtek LTK050H3146W 157 | TFT-LCD modules. The panel has a 720x1280 resolution and uses 158 | 24 bit RGB per pixel. It provides a MIPI DSI interface to 159 | the host and has a built-in LED backlight. 160 | 161 | config DRM_PANEL_LEADTEK_LTK500HD1829 162 | tristate "Leadtek LTK500HD1829 panel" 163 | depends on OF 164 | depends on DRM_MIPI_DSI 165 | depends on BACKLIGHT_CLASS_DEVICE 166 | help 167 | Say Y here if you want to enable support for Kingdisplay kd097d04 168 | TFT-LCD modules. The panel has a 1536x2048 resolution and uses 169 | 24 bit RGB per pixel. It provides a MIPI DSI interface to 170 | the host and has a built-in LED backlight. 171 | 172 | config DRM_PANEL_SAMSUNG_LD9040 173 | tristate "Samsung LD9040 RGB/SPI panel" 174 | depends on OF && SPI 175 | select VIDEOMODE_HELPERS 176 | 177 | config DRM_PANEL_LG_LB035Q02 178 | tristate "LG LB035Q024573 RGB panel" 179 | depends on GPIOLIB && OF && SPI 180 | help 181 | Say Y here if you want to enable support for the LB035Q02 RGB panel 182 | (found on the Gumstix Overo Palo35 board). To compile this driver as 183 | a module, choose M here. 184 | 185 | config DRM_PANEL_LG_LG4573 186 | tristate "LG4573 RGB/SPI panel" 187 | depends on OF && SPI 188 | select VIDEOMODE_HELPERS 189 | help 190 | Say Y here if you want to enable support for LG4573 RGB panel. 191 | To compile this driver as a module, choose M here. 192 | 193 | config DRM_PANEL_NEC_NL8048HL11 194 | tristate "NEC NL8048HL11 RGB panel" 195 | depends on GPIOLIB && OF && SPI 196 | help 197 | Say Y here if you want to enable support for the NEC NL8048HL11 RGB 198 | panel (found on the Zoom2/3/3630 SDP boards). To compile this driver 199 | as a module, choose M here. 200 | 201 | config DRM_PANEL_NOVATEK_NT35510 202 | tristate "Novatek NT35510 RGB panel driver" 203 | depends on OF 204 | depends on DRM_MIPI_DSI 205 | depends on BACKLIGHT_CLASS_DEVICE 206 | help 207 | Say Y here if you want to enable support for the panels built 208 | around the Novatek NT35510 display controller, such as some 209 | Hydis panels. 210 | 211 | config DRM_PANEL_NOVATEK_NT39016 212 | tristate "Novatek NT39016 RGB/SPI panel" 213 | depends on OF && SPI 214 | depends on BACKLIGHT_CLASS_DEVICE 215 | select REGMAP_SPI 216 | help 217 | Say Y here if you want to enable support for the panels built 218 | around the Novatek NT39016 display controller. 219 | 220 | config DRM_PANEL_MANTIX_MLAF057WE51 221 | tristate "Mantix MLAF057WE51-X MIPI-DSI LCD panel" 222 | depends on OF 223 | depends on DRM_MIPI_DSI 224 | depends on BACKLIGHT_CLASS_DEVICE 225 | help 226 | Say Y here if you want to enable support for the Mantix 227 | MLAF057WE51-X MIPI DSI panel as e.g. used in the Librem 5. It 228 | has a resolution of 720x1440 pixels, a built in backlight and touch 229 | controller. 230 | 231 | config DRM_PANEL_OLIMEX_LCD_OLINUXINO 232 | tristate "Olimex LCD-OLinuXino panel" 233 | depends on OF 234 | depends on I2C 235 | depends on BACKLIGHT_CLASS_DEVICE 236 | help 237 | The panel is used with different sizes LCDs, from 480x272 to 238 | 1280x800, and 24 bit per pixel. 239 | 240 | Say Y here if you want to enable support for Olimex Ltd. 241 | LCD-OLinuXino panel. 242 | 243 | config DRM_PANEL_ORISETECH_OTM8009A 244 | tristate "Orise Technology otm8009a 480x800 dsi 2dl panel" 245 | depends on OF 246 | depends on DRM_MIPI_DSI 247 | depends on BACKLIGHT_CLASS_DEVICE 248 | help 249 | Say Y here if you want to enable support for Orise Technology 250 | otm8009a 480x800 dsi 2dl panel. 251 | 252 | config DRM_PANEL_OSD_OSD101T2587_53TS 253 | tristate "OSD OSD101T2587-53TS DSI 1920x1200 video mode panel" 254 | depends on OF 255 | depends on DRM_MIPI_DSI 256 | depends on BACKLIGHT_CLASS_DEVICE 257 | help 258 | Say Y here if you want to enable support for One Stop Displays 259 | OSD101T2587-53TS 10.1" 1920x1200 dsi panel. 260 | 261 | config DRM_PANEL_PANASONIC_VVX10F034N00 262 | tristate "Panasonic VVX10F034N00 1920x1200 video mode panel" 263 | depends on OF 264 | depends on DRM_MIPI_DSI 265 | depends on BACKLIGHT_CLASS_DEVICE 266 | help 267 | Say Y here if you want to enable support for Panasonic VVX10F034N00 268 | WUXGA (1920x1200) Novatek NT1397-based DSI panel as found in some 269 | Xperia Z2 tablets 270 | 271 | config DRM_PANEL_RASPBERRYPI_TOUCHSCREEN 272 | tristate "Raspberry Pi 7-inch touchscreen panel" 273 | depends on DRM_MIPI_DSI 274 | help 275 | Say Y here if you want to enable support for the Raspberry 276 | Pi 7" Touchscreen. To compile this driver as a module, 277 | choose M here. 278 | 279 | config DRM_PANEL_RAYDIUM_RM67191 280 | tristate "Raydium RM67191 FHD 1080x1920 DSI video mode panel" 281 | depends on OF 282 | depends on DRM_MIPI_DSI 283 | depends on BACKLIGHT_CLASS_DEVICE 284 | help 285 | Say Y here if you want to enable support for Raydium RM67191 FHD 286 | (1080x1920) DSI panel. 287 | 288 | config DRM_PANEL_RAYDIUM_RM68200 289 | tristate "Raydium RM68200 720x1280 DSI video mode panel" 290 | depends on OF 291 | depends on DRM_MIPI_DSI 292 | depends on BACKLIGHT_CLASS_DEVICE 293 | help 294 | Say Y here if you want to enable support for Raydium RM68200 295 | 720x1280 DSI video mode panel. 296 | 297 | config DRM_PANEL_RONBO_RB070D30 298 | tristate "Ronbo Electronics RB070D30 panel" 299 | depends on OF 300 | depends on DRM_MIPI_DSI 301 | depends on BACKLIGHT_CLASS_DEVICE 302 | help 303 | Say Y here if you want to enable support for Ronbo Electronics 304 | RB070D30 1024x600 DSI panel. 305 | 306 | config DRM_PANEL_SAMSUNG_S6D16D0 307 | tristate "Samsung S6D16D0 DSI video mode panel" 308 | depends on OF 309 | depends on DRM_MIPI_DSI 310 | select VIDEOMODE_HELPERS 311 | 312 | config DRM_PANEL_SAMSUNG_S6E3HA2 313 | tristate "Samsung S6E3HA2 DSI video mode panel" 314 | depends on OF 315 | depends on DRM_MIPI_DSI 316 | depends on BACKLIGHT_CLASS_DEVICE 317 | select VIDEOMODE_HELPERS 318 | 319 | config DRM_PANEL_SAMSUNG_S6E63J0X03 320 | tristate "Samsung S6E63J0X03 DSI command mode panel" 321 | depends on OF 322 | depends on DRM_MIPI_DSI 323 | depends on BACKLIGHT_CLASS_DEVICE 324 | select VIDEOMODE_HELPERS 325 | 326 | config DRM_PANEL_SAMSUNG_S6E63M0 327 | tristate "Samsung S6E63M0 RGB panel" 328 | depends on OF 329 | depends on BACKLIGHT_CLASS_DEVICE 330 | help 331 | Say Y here if you want to enable support for Samsung S6E63M0 332 | AMOLED LCD panel. This panel can be accessed using SPI or 333 | DSI. 334 | 335 | config DRM_PANEL_SAMSUNG_S6E63M0_SPI 336 | tristate "Samsung S6E63M0 RGB SPI interface" 337 | depends on SPI 338 | depends on DRM_PANEL_SAMSUNG_S6E63M0 339 | default DRM_PANEL_SAMSUNG_S6E63M0 340 | help 341 | Say Y here if you want to be able to access the Samsung 342 | S6E63M0 panel using SPI. 343 | 344 | config DRM_PANEL_SAMSUNG_S6E63M0_DSI 345 | tristate "Samsung S6E63M0 RGB DSI interface" 346 | depends on DRM_MIPI_DSI 347 | depends on DRM_PANEL_SAMSUNG_S6E63M0 348 | help 349 | Say Y here if you want to be able to access the Samsung 350 | S6E63M0 panel using DSI. 351 | 352 | config DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01 353 | tristate "Samsung AMS452EF01 panel with S6E88A0 DSI video mode controller" 354 | depends on OF 355 | select DRM_MIPI_DSI 356 | select VIDEOMODE_HELPERS 357 | 358 | config DRM_PANEL_SAMSUNG_S6E8AA0 359 | tristate "Samsung S6E8AA0 DSI video mode panel" 360 | depends on OF 361 | select DRM_MIPI_DSI 362 | select VIDEOMODE_HELPERS 363 | 364 | config DRM_PANEL_SEIKO_43WVF1G 365 | tristate "Seiko 43WVF1G panel" 366 | depends on OF 367 | depends on BACKLIGHT_CLASS_DEVICE 368 | select VIDEOMODE_HELPERS 369 | help 370 | Say Y here if you want to enable support for the Seiko 371 | 43WVF1G controller for 800x480 LCD panels 372 | 373 | config DRM_PANEL_SHARP_LQ101R1SX01 374 | tristate "Sharp LQ101R1SX01 panel" 375 | depends on OF 376 | depends on DRM_MIPI_DSI 377 | depends on BACKLIGHT_CLASS_DEVICE 378 | help 379 | Say Y here if you want to enable support for Sharp LQ101R1SX01 380 | TFT-LCD modules. The panel has a 2560x1600 resolution and uses 381 | 24 bit RGB per pixel. It provides a dual MIPI DSI interface to 382 | the host and has a built-in LED backlight. 383 | 384 | To compile this driver as a module, choose M here: the module 385 | will be called panel-sharp-lq101r1sx01. 386 | 387 | config DRM_PANEL_SHARP_LS037V7DW01 388 | tristate "Sharp LS037V7DW01 VGA LCD panel" 389 | depends on GPIOLIB && OF && REGULATOR 390 | help 391 | Say Y here if you want to enable support for Sharp LS037V7DW01 VGA 392 | (480x640) LCD panel (found on the TI SDP3430 board). 393 | 394 | config DRM_PANEL_SHARP_LS043T1LE01 395 | tristate "Sharp LS043T1LE01 qHD video mode panel" 396 | depends on OF 397 | depends on DRM_MIPI_DSI 398 | depends on BACKLIGHT_CLASS_DEVICE 399 | help 400 | Say Y here if you want to enable support for Sharp LS043T1LE01 qHD 401 | (540x960) DSI panel as found on the Qualcomm APQ8074 Dragonboard 402 | 403 | config DRM_PANEL_SITRONIX_ST7701 404 | tristate "Sitronix ST7701 panel driver" 405 | depends on OF 406 | depends on DRM_MIPI_DSI 407 | depends on BACKLIGHT_CLASS_DEVICE 408 | help 409 | Say Y here if you want to enable support for the Sitronix 410 | ST7701 controller for 480X864 LCD panels with MIPI/RGB/SPI 411 | system interfaces. 412 | 413 | config DRM_PANEL_SITRONIX_ST7703 414 | tristate "Sitronix ST7703 based MIPI touchscreen panels" 415 | depends on OF 416 | depends on DRM_MIPI_DSI 417 | depends on BACKLIGHT_CLASS_DEVICE 418 | help 419 | Say Y here if you want to enable support for Sitronix ST7703 based 420 | panels, souch as Rocktech JH057N00900 MIPI DSI panel as e.g. used in 421 | the Librem 5 devkit. It has a resolution of 720x1440 pixels, a built 422 | in backlight and touch controller. 423 | Touch input support is provided by the goodix driver and needs to be 424 | selected separately. 425 | 426 | config DRM_PANEL_SITRONIX_ST7789V 427 | tristate "Sitronix ST7789V panel" 428 | depends on OF && SPI 429 | depends on BACKLIGHT_CLASS_DEVICE 430 | help 431 | Say Y here if you want to enable support for the Sitronix 432 | ST7789V controller for 240x320 LCD panels 433 | 434 | config DRM_PANEL_SONY_ACX424AKP 435 | tristate "Sony ACX424AKP DSI command mode panel" 436 | depends on OF 437 | depends on DRM_MIPI_DSI 438 | depends on BACKLIGHT_CLASS_DEVICE 439 | select VIDEOMODE_HELPERS 440 | help 441 | Say Y here if you want to enable the Sony ACX424 display 442 | panel. This panel supports DSI in both command and video 443 | mode. 444 | 445 | config DRM_PANEL_SONY_ACX565AKM 446 | tristate "Sony ACX565AKM panel" 447 | depends on GPIOLIB && OF && SPI 448 | depends on BACKLIGHT_CLASS_DEVICE 449 | help 450 | Say Y here if you want to enable support for the Sony ACX565AKM 451 | 800x600 3.5" panel (found on the Nokia N900). 452 | 453 | config DRM_PANEL_TPO_TD028TTEC1 454 | tristate "Toppoly (TPO) TD028TTEC1 panel driver" 455 | depends on OF && SPI 456 | depends on BACKLIGHT_CLASS_DEVICE 457 | help 458 | Say Y here if you want to enable support for TPO TD028TTEC1 480x640 459 | 2.8" panel (found on the OpenMoko Neo FreeRunner and Neo 1973). 460 | 461 | config DRM_PANEL_TPO_TD043MTEA1 462 | tristate "Toppoly (TPO) TD043MTEA1 panel driver" 463 | depends on GPIOLIB && OF && REGULATOR && SPI 464 | help 465 | Say Y here if you want to enable support for TPO TD043MTEA1 800x480 466 | 4.3" panel (found on the OMAP3 Pandora board). 467 | 468 | config DRM_PANEL_TPO_TPG110 469 | tristate "TPO TPG 800x400 panel" 470 | depends on OF && SPI && GPIOLIB 471 | depends on BACKLIGHT_CLASS_DEVICE 472 | help 473 | Say Y here if you want to enable support for TPO TPG110 474 | 400CH LTPS TFT LCD Single Chip Digital Driver for up to 475 | 800x400 LCD panels. 476 | 477 | config DRM_PANEL_TRULY_NT35597_WQXGA 478 | tristate "Truly WQXGA" 479 | depends on OF 480 | depends on DRM_MIPI_DSI 481 | help 482 | Say Y here if you want to enable support for Truly NT35597 WQXGA Dual DSI 483 | Video Mode panel 484 | 485 | config DRM_PANEL_VISIONOX_RM69299 486 | tristate "Visionox RM69299" 487 | depends on OF 488 | depends on DRM_MIPI_DSI 489 | help 490 | Say Y here if you want to enable support for Visionox 491 | RM69299 DSI Video Mode panel. 492 | 493 | config DRM_PANEL_XINPENG_XPP055C272 494 | tristate "Xinpeng XPP055C272 panel driver" 495 | depends on OF 496 | depends on DRM_MIPI_DSI 497 | depends on BACKLIGHT_CLASS_DEVICE 498 | help 499 | Say Y here if you want to enable support for the Xinpeng 500 | XPP055C272 controller for 720x1280 LCD panels with MIPI/RGB/SPI 501 | system interfaces. 502 | 503 | config DRM_PANEL_JD9366 504 | tristate "JD9366 panel" 505 | depends on OF 506 | depends on DRM_MIPI_DSI 507 | depends on BACKLIGHT_CLASS_DEVICE 508 | help 509 | Say Y here if you want to enable support for BOE JD9366 510 | TFT-LCD modules. The panel has a 2560x1600 resolution and uses 511 | 24 bit RGB per pixel. It provides a dual MIPI DSI interface to 512 | the host and has a built-in LED backlight. 513 | 514 | To compile this driver as a module, choose M here: the module 515 | will be called panel-ld9366. 516 | 517 | config DRM_PANEL_NWE080 518 | tristate "NWE080 panel" 519 | depends on OF 520 | depends on DRM_MIPI_DSI 521 | depends on BACKLIGHT_CLASS_DEVICE 522 | help 523 | Say Y here if you want to enable support for NWE080 524 | TFT-LCD modules. The panel has a 2560x1600 resolution and uses 525 | 24 bit RGB per pixel. It provides a dual MIPI DSI interface to 526 | the host and has a built-in LED backlight. 527 | 528 | To compile this driver as a module, choose M here: the module 529 | will be called panel-nwe080. 530 | endmenu 531 | -------------------------------------------------------------------------------- /Display/drivers/gpu/drm/panel/Makefile: -------------------------------------------------------------------------------- 1 | # SPDX-License-Identifier: GPL-2.0 2 | obj-$(CONFIG_DRM_PANEL_ARM_VERSATILE) += panel-arm-versatile.o 3 | obj-$(CONFIG_DRM_PANEL_ASUS_Z00T_TM5P5_NT35596) += panel-asus-z00t-tm5p5-n35596.o 4 | obj-$(CONFIG_DRM_PANEL_BOE_HIMAX8279D) += panel-boe-himax8279d.o 5 | obj-$(CONFIG_DRM_PANEL_BOE_TV101WUM_NL6) += panel-boe-tv101wum-nl6.o 6 | obj-$(CONFIG_DRM_PANEL_LVDS) += panel-lvds.o 7 | obj-$(CONFIG_DRM_PANEL_SIMPLE) += panel-simple.o 8 | obj-$(CONFIG_DRM_PANEL_ELIDA_KD35T133) += panel-elida-kd35t133.o 9 | obj-$(CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02) += panel-feixin-k101-im2ba02.o 10 | obj-$(CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D) += panel-feiyang-fy07024di26a30d.o 11 | obj-$(CONFIG_DRM_PANEL_ILITEK_IL9322) += panel-ilitek-ili9322.o 12 | obj-$(CONFIG_DRM_PANEL_ILITEK_ILI9881C) += panel-ilitek-ili9881c.o 13 | obj-$(CONFIG_DRM_PANEL_INNOLUX_P079ZCA) += panel-innolux-p079zca.o 14 | obj-$(CONFIG_DRM_PANEL_JDI_LT070ME05000) += panel-jdi-lt070me05000.o 15 | obj-$(CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04) += panel-kingdisplay-kd097d04.o 16 | obj-$(CONFIG_DRM_PANEL_LEADTEK_LTK050H3146W) += panel-leadtek-ltk050h3146w.o 17 | obj-$(CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829) += panel-leadtek-ltk500hd1829.o 18 | obj-$(CONFIG_DRM_PANEL_LG_LB035Q02) += panel-lg-lb035q02.o 19 | obj-$(CONFIG_DRM_PANEL_LG_LG4573) += panel-lg-lg4573.o 20 | obj-$(CONFIG_DRM_PANEL_NEC_NL8048HL11) += panel-nec-nl8048hl11.o 21 | obj-$(CONFIG_DRM_PANEL_NOVATEK_NT35510) += panel-novatek-nt35510.o 22 | obj-$(CONFIG_DRM_PANEL_NOVATEK_NT39016) += panel-novatek-nt39016.o 23 | obj-$(CONFIG_DRM_PANEL_MANTIX_MLAF057WE51) += panel-mantix-mlaf057we51.o 24 | obj-$(CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO) += panel-olimex-lcd-olinuxino.o 25 | obj-$(CONFIG_DRM_PANEL_ORISETECH_OTM8009A) += panel-orisetech-otm8009a.o 26 | obj-$(CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS) += panel-osd-osd101t2587-53ts.o 27 | obj-$(CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00) += panel-panasonic-vvx10f034n00.o 28 | obj-$(CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN) += panel-raspberrypi-touchscreen.o 29 | obj-$(CONFIG_DRM_PANEL_RAYDIUM_RM67191) += panel-raydium-rm67191.o 30 | obj-$(CONFIG_DRM_PANEL_RAYDIUM_RM68200) += panel-raydium-rm68200.o 31 | obj-$(CONFIG_DRM_PANEL_RONBO_RB070D30) += panel-ronbo-rb070d30.o 32 | obj-$(CONFIG_DRM_PANEL_SAMSUNG_LD9040) += panel-samsung-ld9040.o 33 | obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6D16D0) += panel-samsung-s6d16d0.o 34 | obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2) += panel-samsung-s6e3ha2.o 35 | obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03) += panel-samsung-s6e63j0x03.o 36 | obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6E63M0) += panel-samsung-s6e63m0.o 37 | obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6E63M0_SPI) += panel-samsung-s6e63m0-spi.o 38 | obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6E63M0_DSI) += panel-samsung-s6e63m0-dsi.o 39 | obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01) += panel-samsung-s6e88a0-ams452ef01.o 40 | obj-$(CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0) += panel-samsung-s6e8aa0.o 41 | obj-$(CONFIG_DRM_PANEL_SEIKO_43WVF1G) += panel-seiko-43wvf1g.o 42 | obj-$(CONFIG_DRM_PANEL_SHARP_LQ101R1SX01) += panel-sharp-lq101r1sx01.o 43 | obj-$(CONFIG_DRM_PANEL_SHARP_LS037V7DW01) += panel-sharp-ls037v7dw01.o 44 | obj-$(CONFIG_DRM_PANEL_SHARP_LS043T1LE01) += panel-sharp-ls043t1le01.o 45 | obj-$(CONFIG_DRM_PANEL_SITRONIX_ST7701) += panel-sitronix-st7701.o 46 | obj-$(CONFIG_DRM_PANEL_SITRONIX_ST7703) += panel-sitronix-st7703.o 47 | obj-$(CONFIG_DRM_PANEL_SITRONIX_ST7789V) += panel-sitronix-st7789v.o 48 | obj-$(CONFIG_DRM_PANEL_SONY_ACX424AKP) += panel-sony-acx424akp.o 49 | obj-$(CONFIG_DRM_PANEL_SONY_ACX565AKM) += panel-sony-acx565akm.o 50 | obj-$(CONFIG_DRM_PANEL_TPO_TD028TTEC1) += panel-tpo-td028ttec1.o 51 | obj-$(CONFIG_DRM_PANEL_TPO_TD043MTEA1) += panel-tpo-td043mtea1.o 52 | obj-$(CONFIG_DRM_PANEL_TPO_TPG110) += panel-tpo-tpg110.o 53 | obj-$(CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA) += panel-truly-nt35597.o 54 | obj-$(CONFIG_DRM_PANEL_VISIONOX_RM69299) += panel-visionox-rm69299.o 55 | obj-$(CONFIG_DRM_PANEL_XINPENG_XPP055C272) += panel-xinpeng-xpp055c272.o 56 | obj-$(CONFIG_DRM_PANEL_JD9366) += panel-jd9366.o 57 | obj-$(CONFIG_DRM_PANEL_NWE080) += panel-nwe080.o 58 | -------------------------------------------------------------------------------- /Display/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c: -------------------------------------------------------------------------------- 1 | // SPDX-License-Identifier: GPL-2.0 2 | /* 3 | * Copyright (C) 2017-2018, Bootlin 4 | * Copyright (C) 2021, Henson Li 5 | * Copyright (C) 2021, Penk Chen 6 | */ 7 | 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | 17 | #include 18 | #include 19 | 20 | #include 21 | #include 22 | #include 23 | 24 | #include