diff --git a/docs/hardware/SoC_board/SoC_pinout.png b/docs/hardware/SoC_board/SoC_pinout.png new file mode 100644 index 0000000..13e5655 Binary files /dev/null and b/docs/hardware/SoC_board/SoC_pinout.png differ diff --git a/docs/hardware/SoC_board/gpio.md b/docs/hardware/SoC_board/gpio.md new file mode 100644 index 0000000..585a2c6 --- /dev/null +++ b/docs/hardware/SoC_board/gpio.md @@ -0,0 +1,453 @@ +``` +root@x6100:~# cat /sys/kernel/debug/pinctrl/*/pinmux-pins +Pinmux settings per pin +Format: pin (name): mux_owner gpio_owner hog? +pin 32 (PB0): 1c28000.serial (GPIO UNCLAIMED) function uart0 group PB0 +pin 33 (PB1): 1c28000.serial (GPIO UNCLAIMED) function uart0 group PB1 +pin 34 (PB2): rotary@0 1c20800.pinctrl:34 function gpio_in group PB2 +pin 35 (PB3): rotary@0 1c20800.pinctrl:35 function gpio_in group PB3 +pin 36 (PB4): rotary@1 1c20800.pinctrl:36 function gpio_in group PB4 +pin 37 (PB5): rotary@3 1c20800.pinctrl:37 function gpio_in group PB5 +pin 38 (PB6): rotary@1 1c20800.pinctrl:38 function gpio_in group PB6 +pin 39 (PB7): rotary@3 1c20800.pinctrl:39 function gpio_in group PB7 +pin 64 (PC0): (MUX UNCLAIMED) 1c20800.pinctrl:64 +pin 65 (PC1): (MUX UNCLAIMED) (GPIO UNCLAIMED) +pin 66 (PC2): (MUX UNCLAIMED) (GPIO UNCLAIMED) +pin 67 (PC3): (MUX UNCLAIMED) (GPIO UNCLAIMED) +pin 68 (PC4): (MUX UNCLAIMED) (GPIO UNCLAIMED) +pin 69 (PC5): 1c11000.mmc (GPIO UNCLAIMED) function mmc2 group PC5 +pin 70 (PC6): 1c11000.mmc (GPIO UNCLAIMED) function mmc2 group PC6 +pin 71 (PC7): (MUX UNCLAIMED) (GPIO UNCLAIMED) +pin 72 (PC8): 1c11000.mmc (GPIO UNCLAIMED) function mmc2 group PC8 +pin 73 (PC9): 1c11000.mmc (GPIO UNCLAIMED) function mmc2 group PC9 +pin 74 (PC10): 1c11000.mmc (GPIO UNCLAIMED) function mmc2 group PC10 +pin 75 (PC11): 1c11000.mmc (GPIO UNCLAIMED) function mmc2 group PC11 +pin 76 (PC12): 1c11000.mmc (GPIO UNCLAIMED) function mmc2 group PC12 +pin 77 (PC13): 1c11000.mmc (GPIO UNCLAIMED) function mmc2 group PC13 +pin 78 (PC14): 1c11000.mmc (GPIO UNCLAIMED) function mmc2 group PC14 +pin 79 (PC15): 1c11000.mmc (GPIO UNCLAIMED) function mmc2 group PC15 +pin 80 (PC16): 1c11000.mmc (GPIO UNCLAIMED) function mmc2 group PC16 +pin 98 (PD2): 1c0c000.lcd-controller (GPIO UNCLAIMED) function lcd0 group PD2 +pin 99 (PD3): 1c0c000.lcd-controller (GPIO UNCLAIMED) function lcd0 group PD3 +pin 100 (PD4): 1c0c000.lcd-controller (GPIO UNCLAIMED) function lcd0 group PD4 +pin 101 (PD5): 1c0c000.lcd-controller (GPIO UNCLAIMED) function lcd0 group PD5 +pin 102 (PD6): 1c0c000.lcd-controller (GPIO UNCLAIMED) function lcd0 group PD6 +pin 103 (PD7): 1c0c000.lcd-controller (GPIO UNCLAIMED) function lcd0 group PD7 +pin 106 (PD10): 1c0c000.lcd-controller (GPIO UNCLAIMED) function lcd0 group PD10 +pin 107 (PD11): 1c0c000.lcd-controller (GPIO UNCLAIMED) function lcd0 group PD11 +pin 108 (PD12): 1c0c000.lcd-controller 1c20800.pinctrl:108 function lcd0 group PD12 +pin 109 (PD13): 1c0c000.lcd-controller (GPIO UNCLAIMED) function lcd0 group PD13 +pin 110 (PD14): 1c0c000.lcd-controller (GPIO UNCLAIMED) function lcd0 group PD14 +pin 111 (PD15): 1c0c000.lcd-controller (GPIO UNCLAIMED) function lcd0 group PD15 +pin 114 (PD18): 1c0c000.lcd-controller (GPIO UNCLAIMED) function lcd0 group PD18 +pin 115 (PD19): 1c0c000.lcd-controller (GPIO UNCLAIMED) function lcd0 group PD19 +pin 116 (PD20): 1c0c000.lcd-controller (GPIO UNCLAIMED) function lcd0 group PD20 +pin 117 (PD21): 1c0c000.lcd-controller (GPIO UNCLAIMED) function lcd0 group PD21 +pin 118 (PD22): 1c0c000.lcd-controller (GPIO UNCLAIMED) function lcd0 group PD22 +pin 119 (PD23): 1c0c000.lcd-controller (GPIO UNCLAIMED) function lcd0 group PD23 +pin 120 (PD24): 1c0c000.lcd-controller (GPIO UNCLAIMED) function lcd0 group PD24 +pin 121 (PD25): 1c0c000.lcd-controller (GPIO UNCLAIMED) function lcd0 group PD25 +pin 122 (PD26): 1c0c000.lcd-controller (GPIO UNCLAIMED) function lcd0 group PD26 +pin 123 (PD27): 1c0c000.lcd-controller (GPIO UNCLAIMED) function lcd0 group PD27 +pin 128 (PE0): (MUX UNCLAIMED) (GPIO UNCLAIMED) +pin 129 (PE1): (MUX UNCLAIMED) (GPIO UNCLAIMED) +pin 130 (PE2): (MUX UNCLAIMED) (GPIO UNCLAIMED) +pin 131 (PE3): (MUX UNCLAIMED) 1c20800.pinctrl:131 +pin 132 (PE4): (MUX UNCLAIMED) (GPIO UNCLAIMED) +pin 133 (PE5): (MUX UNCLAIMED) (GPIO UNCLAIMED) +pin 134 (PE6): (MUX UNCLAIMED) (GPIO UNCLAIMED) +pin 135 (PE7): (MUX UNCLAIMED) (GPIO UNCLAIMED) +pin 136 (PE8): (MUX UNCLAIMED) (GPIO UNCLAIMED) +pin 137 (PE9): (MUX UNCLAIMED) (GPIO UNCLAIMED) +pin 138 (PE10): (MUX UNCLAIMED) 1c20800.pinctrl:138 +pin 139 (PE11): (MUX UNCLAIMED) 1c20800.pinctrl:139 +pin 140 (PE12): (MUX UNCLAIMED) 1c20800.pinctrl:140 +pin 141 (PE13): (MUX UNCLAIMED) 1c20800.pinctrl:141 +pin 142 (PE14): (MUX UNCLAIMED) 1c20800.pinctrl:142 +pin 143 (PE15): (MUX UNCLAIMED) 1c20800.pinctrl:143 +pin 144 (PE16): (MUX UNCLAIMED) 1c20800.pinctrl:144 +pin 145 (PE17): (MUX UNCLAIMED) 1c20800.pinctrl:145 +pin 160 (PF0): 1c0f000.mmc (GPIO UNCLAIMED) function mmc0 group PF0 +pin 161 (PF1): 1c0f000.mmc (GPIO UNCLAIMED) function mmc0 group PF1 +pin 162 (PF2): 1c0f000.mmc (GPIO UNCLAIMED) function mmc0 group PF2 +pin 163 (PF3): 1c0f000.mmc (GPIO UNCLAIMED) function mmc0 group PF3 +pin 164 (PF4): 1c0f000.mmc (GPIO UNCLAIMED) function mmc0 group PF4 +pin 165 (PF5): 1c0f000.mmc (GPIO UNCLAIMED) function mmc0 group PF5 +pin 192 (PG0): 1c10000.mmc (GPIO UNCLAIMED) function mmc1 group PG0 +pin 193 (PG1): 1c10000.mmc (GPIO UNCLAIMED) function mmc1 group PG1 +pin 194 (PG2): 1c10000.mmc (GPIO UNCLAIMED) function mmc1 group PG2 +pin 195 (PG3): 1c10000.mmc (GPIO UNCLAIMED) function mmc1 group PG3 +pin 196 (PG4): 1c10000.mmc (GPIO UNCLAIMED) function mmc1 group PG4 +pin 197 (PG5): 1c10000.mmc (GPIO UNCLAIMED) function mmc1 group PG5 +pin 198 (PG6): (MUX UNCLAIMED) 1c20800.pinctrl:198 +pin 199 (PG7): (MUX UNCLAIMED) 1c20800.pinctrl:199 +pin 200 (PG8): (MUX UNCLAIMED) 1c20800.pinctrl:200 +pin 201 (PG9): (MUX UNCLAIMED) 1c20800.pinctrl:201 +pin 202 (PG10): (MUX UNCLAIMED) 1c20800.pinctrl:202 +pin 203 (PG11): (MUX UNCLAIMED) (GPIO UNCLAIMED) +pin 204 (PG12): (MUX UNCLAIMED) (GPIO UNCLAIMED) +pin 205 (PG13): (MUX UNCLAIMED) (GPIO UNCLAIMED) +pin 224 (PH0): 1c21400.pwm (GPIO UNCLAIMED) function pwm0 group PH0 +pin 225 (PH1): (MUX UNCLAIMED) (GPIO UNCLAIMED) +pin 226 (PH2): 1c2ac00.i2c (GPIO UNCLAIMED) function i2c0 group PH2 +pin 227 (PH3): 1c2ac00.i2c (GPIO UNCLAIMED) function i2c0 group PH3 +pin 228 (PH4): 1c2b000.i2c (GPIO UNCLAIMED) function i2c1 group PH4 +pin 229 (PH5): 1c2b000.i2c (GPIO UNCLAIMED) function i2c1 group PH5 +pin 230 (PH6): 1c28c00.serial (GPIO UNCLAIMED) function uart3 group PH6 +pin 231 (PH7): 1c28c00.serial (GPIO UNCLAIMED) function uart3 group PH7 +pin 232 (PH8): 1c19400.phy 1c20800.pinctrl:232 function gpio_in group PH8 +pin 233 (PH9): (MUX UNCLAIMED) (GPIO UNCLAIMED) +Pinmux settings per pin +Format: pin (name): mux_owner gpio_owner hog? +pin 352 (PL0): 1f03400.rsb (GPIO UNCLAIMED) function s_rsb group PL0 +pin 353 (PL1): 1f03400.rsb (GPIO UNCLAIMED) function s_rsb group PL1 +pin 354 (PL2): 1f02800.serial (GPIO UNCLAIMED) function s_uart group PL2 +pin 355 (PL3): 1f02800.serial (GPIO UNCLAIMED) function s_uart group PL3 +pin 356 (PL4): (MUX UNCLAIMED) (GPIO UNCLAIMED) +pin 357 (PL5): (MUX UNCLAIMED) 1f02c00.pinctrl:357 +pin 358 (PL6): (MUX UNCLAIMED) 1f02c00.pinctrl:358 +pin 359 (PL7): (MUX UNCLAIMED) 1f02c00.pinctrl:359 +pin 360 (PL8): (MUX UNCLAIMED) 1f02c00.pinctrl:360 +pin 361 (PL9): (MUX UNCLAIMED) 1f02c00.pinctrl:361 +pin 362 (PL10): (MUX UNCLAIMED) (GPIO UNCLAIMED) +pin 363 (PL11): (MUX UNCLAIMED) 1f02c00.pinctrl:363 +``` + +``` +root@x6100:~# cat /sys/kernel/debug/pinctrl/*/pinmux-functions +function: gpio_in, groups = [ PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7 PC8 PC9 PC10 PC11 PC12 PC13 PC14 PC15 PC16 PD2 PD3 PD4 PD5 PD6 PD7 PD10 PD11 PD12 PD13 PD14 PD15 PD18 PD19 PD20 PD21 PD22 PD23 PD24 PD25 PD26 PD27 PE0 PE1 PE2 PE3 PE4 PE5 PE6 PE7 PE8 PE9 PE10 PE11 PE12 PE13 PE14 PE15 PE16 PE17 PF0 PF1 PF2 PF3 PF4 PF5 PG0 PG1 PG2 PG3 PG4 PG5 PG6 PG7 PG8 PG9 PG10 PG11 PG12 PG13 PH0 PH1 PH2 PH3 PH4 PH5 PH6 PH7 PH8 PH9 ] +function: gpio_out, groups = [ PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7 PC8 PC9 PC10 PC11 PC12 PC13 PC14 PC15 PC16 PD2 PD3 PD4 PD5 PD6 PD7 PD10 PD11 PD12 PD13 PD14 PD15 PD18 PD19 PD20 PD21 PD22 PD23 PD24 PD25 PD26 PD27 PE0 PE1 PE2 PE3 PE4 PE5 PE6 PE7 PE8 PE9 PE10 PE11 PE12 PE13 PE14 PE15 PE16 PE17 PF0 PF1 PF2 PF3 PF4 PF5 PG0 PG1 PG2 PG3 PG4 PG5 PG6 PG7 PG8 PG9 PG10 PG11 PG12 PG13 PH0 PH1 PH2 PH3 PH4 PH5 PH6 PH7 PH8 PH9 ] +function: uart2, groups = [ PB0 PB1 PB2 PB3 ] +function: uart0, groups = [ PB0 PB1 PF2 PF4 ] +function: irq, groups = [ PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PG0 PG1 PG2 PG3 PG4 PG5 PG6 PG7 PG8 PG9 PG10 PG11 PG12 PG13 ] +function: i2s0, groups = [ PB4 PB5 PB6 PB7 ] +function: aif2, groups = [ PB4 PB5 PB6 PB7 ] +function: nand0, groups = [ PC0 PC1 PC2 PC3 PC4 PC5 PC6 PC7 PC8 PC9 PC10 PC11 PC12 PC13 PC14 PC15 PC16 ] +function: spi0, groups = [ PC0 PC1 PC2 PC3 PH6 PH7 PH8 PH9 ] +function: mmc2, groups = [ PC5 PC6 PC8 PC9 PC10 PC11 PC12 PC13 PC14 PC15 PC16 ] +function: lcd0, groups = [ PD2 PD3 PD4 PD5 PD6 PD7 PD10 PD11 PD12 PD13 PD14 PD15 PD18 PD19 PD20 PD21 PD22 PD23 PD24 PD25 PD26 PD27 ] +function: mmc1, groups = [ PD2 PD3 PD4 PD5 PD6 PD7 PG0 PG1 PG2 PG3 PG4 PG5 ] +function: uart1, groups = [ PD10 PD11 PD12 PD13 PG6 PG7 PG8 PG9 ] +function: lvds0, groups = [ PD18 PD19 PD20 PD21 PD22 PD23 PD24 PD25 PD26 PD27 ] +function: csi, groups = [ PE0 PE1 PE2 PE3 PE4 PE5 PE6 PE7 PE8 PE9 PE10 PE11 PE12 PE13 ] +function: i2c2, groups = [ PE12 PE13 ] +function: mmc0, groups = [ PF0 PF1 PF2 PF3 PF4 PF5 ] +function: jtag, groups = [ PF0 PF1 PF3 PF5 ] +function: i2s1, groups = [ PG10 PG11 PG12 PG13 ] +function: pwm0, groups = [ PH0 ] +function: pwm1, groups = [ PH1 ] +function: i2c0, groups = [ PH2 PH3 ] +function: i2c1, groups = [ PH4 PH5 ] +function: uart3, groups = [ PH6 PH7 PH8 PH9 ] + + +function: gpio_in, groups = [ PL0 PL1 PL2 PL3 PL4 PL5 PL6 PL7 PL8 PL9 PL10 PL11 ] +function: gpio_out, groups = [ PL0 PL1 PL2 PL3 PL4 PL5 PL6 PL7 PL8 PL9 PL10 PL11 ] +function: s_rsb, groups = [ PL0 PL1 ] +function: s_i2c, groups = [ PL0 PL1 ] +function: irq, groups = [ PL0 PL1 PL2 PL3 PL4 PL5 PL6 PL7 PL8 PL9 PL10 PL11 ] +function: s_uart, groups = [ PL2 PL3 ] +function: s_jtag, groups = [ PL4 PL5 PL6 PL7 ] +function: s_twi, groups = [ PL8 PL9 ] +function: s_pwm, groups = [ PL10 ] +``` + +``` +root@x6100:~# gpiodetect +gpiochip0 [1c20800.pinctrl] (256 lines) +gpiochip1 [1f02c00.pinctrl] (32 lines) +``` + +``` +root@x6100:~# gpioinfo +gpiochip0 - 256 lines: + line 0: unnamed unused input active-high + line 1: unnamed unused input active-high + line 2: unnamed unused input active-high + line 3: unnamed unused input active-high + line 4: unnamed unused input active-high + line 5: unnamed unused input active-high + line 6: unnamed unused input active-high + line 7: unnamed unused input active-high + line 8: unnamed unused input active-high + line 9: unnamed unused input active-high + line 10: unnamed unused input active-high + line 11: unnamed unused input active-high + line 12: unnamed unused input active-high + line 13: unnamed unused input active-high + line 14: unnamed unused input active-high + line 15: unnamed unused input active-high + line 16: unnamed unused input active-high + line 17: unnamed unused input active-high + line 18: unnamed unused input active-high + line 19: unnamed unused input active-high + line 20: unnamed unused input active-high + line 21: unnamed unused input active-high + line 22: unnamed unused input active-high + line 23: unnamed unused input active-high + line 24: unnamed unused input active-high + line 25: unnamed unused input active-high + line 26: unnamed unused input active-high + line 27: unnamed unused input active-high + line 28: unnamed unused input active-high + line 29: unnamed unused input active-high + line 30: unnamed unused input active-high + line 31: unnamed unused input active-high + line 32: unnamed unused input active-high + line 33: unnamed unused input active-high + line 34: unnamed "rotary@0" input active-low [used] + line 35: unnamed "rotary@0" input active-low [used] + line 36: unnamed "rotary@1" input active-low [used] + line 37: unnamed "rotary@3" input active-low [used] + line 38: unnamed "rotary@1" input active-low [used] + line 39: unnamed "rotary@3" input active-low [used] + line 40: unnamed unused input active-high + line 41: unnamed unused input active-high + line 42: unnamed unused input active-high + line 43: unnamed unused input active-high + line 44: unnamed unused input active-high + line 45: unnamed unused input active-high + line 46: unnamed unused input active-high + line 47: unnamed unused input active-high + line 48: unnamed unused input active-high + line 49: unnamed unused input active-high + line 50: unnamed unused input active-high + line 51: unnamed unused input active-high + line 52: unnamed unused input active-high + line 53: unnamed unused input active-high + line 54: unnamed unused input active-high + line 55: unnamed unused input active-high + line 56: unnamed unused input active-high + line 57: unnamed unused input active-high + line 58: unnamed unused input active-high + line 59: unnamed unused input active-high + line 60: unnamed unused input active-high + line 61: unnamed unused input active-high + line 62: unnamed unused input active-high + line 63: unnamed unused input active-high + line 64: unnamed "reset" output active-low [used] + line 65: unnamed unused input active-high + line 66: unnamed unused input active-high + line 67: unnamed unused input active-high + line 68: unnamed unused input active-high + line 69: unnamed unused input active-high + line 70: unnamed unused input active-high + line 71: unnamed unused input active-high + line 72: unnamed unused input active-high + line 73: unnamed unused input active-high + line 74: unnamed unused input active-high + line 75: unnamed unused input active-high + line 76: unnamed unused input active-high + line 77: unnamed unused input active-high + line 78: unnamed unused input active-high + line 79: unnamed unused input active-high + line 80: unnamed unused input active-high + line 81: unnamed unused input active-high + line 82: unnamed unused input active-high + line 83: unnamed unused input active-high + line 84: unnamed unused input active-high + line 85: unnamed unused input active-high + line 86: unnamed unused input active-high + line 87: unnamed unused input active-high + line 88: unnamed unused input active-high + line 89: unnamed unused input active-high + line 90: unnamed unused input active-high + line 91: unnamed unused input active-high + line 92: unnamed unused input active-high + line 93: unnamed unused input active-high + line 94: unnamed unused input active-high + line 95: unnamed unused input active-high + line 96: unnamed unused input active-high + line 97: unnamed unused input active-high + line 98: unnamed unused input active-high + line 99: unnamed unused input active-high + line 100: unnamed unused input active-high + line 101: unnamed unused input active-high + line 102: unnamed unused input active-high + line 103: unnamed unused input active-high + line 104: unnamed unused input active-high + line 105: unnamed unused input active-high + line 106: unnamed unused input active-high + line 107: unnamed unused input active-high + line 108: unnamed "usb1_vbus" output active-high [used] + line 109: unnamed unused input active-high + line 110: unnamed unused input active-high + line 111: unnamed unused input active-high + line 112: unnamed unused input active-high + line 113: unnamed unused input active-high + line 114: unnamed unused input active-high + line 115: unnamed unused input active-high + line 116: unnamed unused input active-high + line 117: unnamed unused input active-high + line 118: unnamed unused input active-high + line 119: unnamed unused input active-high + line 120: unnamed unused input active-high + line 121: unnamed unused input active-high + line 122: unnamed unused input active-high + line 123: unnamed unused input active-high + line 124: unnamed unused input active-high + line 125: unnamed unused input active-high + line 126: unnamed unused input active-high + line 127: unnamed unused input active-high + line 128: unnamed unused input active-high + line 129: unnamed unused input active-high + line 130: unnamed unused input active-high + line 131: unnamed "cd" input active-low [used] + line 132: unnamed unused input active-high + line 133: unnamed unused input active-high + line 134: unnamed unused input active-high + line 135: unnamed unused input active-high + line 136: unnamed unused input active-high + line 137: unnamed unused input active-high + line 138: unnamed "sysfs" output active-high [used] + line 139: unnamed "matrix_kbd_col" output active-high [used] + line 140: unnamed "matrix_kbd_col" output active-high [used] + line 141: unnamed "matrix_kbd_col" output active-high [used] + line 142: unnamed "matrix_kbd_col" output active-high [used] + line 143: unnamed "sysfs" output active-high [used] + line 144: unnamed "matrix_kbd_col" output active-high [used] + line 145: unnamed "matrix_kbd_col" output active-high [used] + line 146: unnamed unused input active-high + line 147: unnamed unused input active-high + line 148: unnamed unused input active-high + line 149: unnamed unused input active-high + line 150: unnamed unused input active-high + line 151: unnamed unused input active-high + line 152: unnamed unused input active-high + line 153: unnamed unused input active-high + line 154: unnamed unused input active-high + line 155: unnamed unused input active-high + line 156: unnamed unused input active-high + line 157: unnamed unused input active-high + line 158: unnamed unused input active-high + line 159: unnamed unused input active-high + line 160: unnamed unused input active-high + line 161: unnamed unused input active-high + line 162: unnamed unused input active-high + line 163: unnamed unused input active-high + line 164: unnamed unused input active-high + line 165: unnamed unused input active-high + line 166: unnamed unused input active-high + line 167: unnamed unused input active-high + line 168: unnamed unused input active-high + line 169: unnamed unused input active-high + line 170: unnamed unused input active-high + line 171: unnamed unused input active-high + line 172: unnamed unused input active-high + line 173: unnamed unused input active-high + line 174: unnamed unused input active-high + line 175: unnamed unused input active-high + line 176: unnamed unused input active-high + line 177: unnamed unused input active-high + line 178: unnamed unused input active-high + line 179: unnamed unused input active-high + line 180: unnamed unused input active-high + line 181: unnamed unused input active-high + line 182: unnamed unused input active-high + line 183: unnamed unused input active-high + line 184: unnamed unused input active-high + line 185: unnamed unused input active-high + line 186: unnamed unused input active-high + line 187: unnamed unused input active-high + line 188: unnamed unused input active-high + line 189: unnamed unused input active-high + line 190: unnamed unused input active-high + line 191: unnamed unused input active-high + line 192: unnamed unused input active-high + line 193: unnamed unused input active-high + line 194: unnamed unused input active-high + line 195: unnamed unused input active-high + line 196: unnamed unused input active-high + line 197: unnamed unused input active-high + line 198: unnamed "matrix_kbd_row" input active-high [used] + line 199: unnamed "matrix_kbd_row" input active-high [used] + line 200: unnamed "matrix_kbd_row" input active-high [used] + line 201: unnamed "matrix_kbd_row" input active-high [used] + line 202: unnamed "matrix_kbd_row" input active-high [used] + line 203: unnamed unused input active-high + line 204: unnamed unused input active-high + line 205: unnamed "interrupt" input active-high [used] + line 206: unnamed unused input active-high + line 207: unnamed unused input active-high + line 208: unnamed unused input active-high + line 209: unnamed unused input active-high + line 210: unnamed unused input active-high + line 211: unnamed unused input active-high + line 212: unnamed unused input active-high + line 213: unnamed unused input active-high + line 214: unnamed unused input active-high + line 215: unnamed unused input active-high + line 216: unnamed unused input active-high + line 217: unnamed unused input active-high + line 218: unnamed unused input active-high + line 219: unnamed unused input active-high + line 220: unnamed unused input active-high + line 221: unnamed unused input active-high + line 222: unnamed unused input active-high + line 223: unnamed unused input active-high + line 224: unnamed unused input active-high + line 225: unnamed unused input active-high + line 226: unnamed unused input active-high + line 227: unnamed unused input active-high + line 228: unnamed unused input active-high + line 229: unnamed unused input active-high + line 230: unnamed unused input active-high + line 231: unnamed unused input active-high + line 232: unnamed "usb0_id_det" input active-high [used] + line 233: unnamed unused input active-high + line 234: unnamed unused input active-high + line 235: unnamed unused input active-high + line 236: unnamed unused input active-high + line 237: unnamed unused input active-high + line 238: unnamed unused input active-high + line 239: unnamed unused input active-high + line 240: unnamed unused input active-high + line 241: unnamed unused input active-high + line 242: unnamed unused input active-high + line 243: unnamed unused input active-high + line 244: unnamed unused input active-high + line 245: unnamed unused input active-high + line 246: unnamed unused input active-high + line 247: unnamed unused input active-high + line 248: unnamed unused input active-high + line 249: unnamed unused input active-high + line 250: unnamed unused input active-high + line 251: unnamed unused input active-high + line 252: unnamed unused input active-high + line 253: unnamed unused input active-high + line 254: unnamed unused input active-high + line 255: unnamed unused input active-high +gpiochip1 - 32 lines: + line 0: unnamed unused input active-high + line 1: unnamed unused input active-high + line 2: unnamed unused input active-high + line 3: unnamed unused input active-high + line 4: unnamed unused input active-high + line 5: unnamed "sysfs" output active-high [used] + line 6: unnamed "enable" output active-high [used] + line 7: unnamed "spi0 CS0" output active-low [used] + line 8: unnamed "mosi" output active-high [used] + line 9: unnamed "sck" output active-high [used] + line 10: unnamed unused input active-high + line 11: unnamed "reset" output active-low [used] + line 12: unnamed unused input active-high + line 13: unnamed unused input active-high + line 14: unnamed unused input active-high + line 15: unnamed unused input active-high + line 16: unnamed unused input active-high + line 17: unnamed unused input active-high + line 18: unnamed unused input active-high + line 19: unnamed unused input active-high + line 20: unnamed unused input active-high + line 21: unnamed unused input active-high + line 22: unnamed unused input active-high + line 23: unnamed unused input active-high + line 24: unnamed unused input active-high + line 25: unnamed unused input active-high + line 26: unnamed unused input active-high + line 27: unnamed unused input active-high + line 28: unnamed unused input active-high + line 29: unnamed unused input active-high + line 30: unnamed unused input active-high + line 31: unnamed unused input active-high +``` diff --git a/docs/hardware/SoC_board/overview.png b/docs/hardware/SoC_board/overview.png new file mode 100644 index 0000000..bef4099 Binary files /dev/null and b/docs/hardware/SoC_board/overview.png differ diff --git a/docs/hardware/SoC_board/readme.md b/docs/hardware/SoC_board/readme.md new file mode 100644 index 0000000..552b55f --- /dev/null +++ b/docs/hardware/SoC_board/readme.md @@ -0,0 +1,242 @@ + +![overview](overview.png | width=100%) + +![SoC](SoC_pinout.png | width=100%) + +# I2C0 bus +SoC Module Pins: 039 (PH2), 040(PH3) +goes to DSP board via PIN 10+11 + +devices: +- ? + +# I2C1 bus +SoC Module Pins: 041 (PH4), 042(PH5) + +devices: +- PCF8583 @ 0x51 + +# I2C2 bus +SoC Module Pins: + +devices: +- ? + + +# SoC Board to DSP Board + +Pin 1 by SD card + +| Pin | Name | Conection | +| 01 | VDD for PCF8583 (RTC) | via Diodes from the yellow 3V3 battery | +| 02 | Red LED | via Diodes and MOS | +| 03 | Green LED | via Diodes and MOS | +| 04 | ? PCM DOUT ? | SoC 051 | +| 05 | ? PCM CLK ? | SoC 050 | +| 06 | USB dev Serial 1 | CH342F CTS1 | +| 07 | USB dev Serial 1 | CH342F RTS1 | +| 08 | USB dev Serial 1 TX | CH342F TXD1 via MUX 2B1 | +| 09 | USB dev Serial 1 RX | CH342F RXD1 via MUX 1B1 | +| 10 | I2C0 SCK | SoC 040 | +| 11 | I2C0 SDA | SoC 039 | +| 12 | ? | SoC 035 | +| 13 | ? | SoC 034 | +| 14 | +5.5V (if powerd on) | | +| 15 | +5.5V (if powerd on) | | +| 16 | +5.5V (if powerd on) | | +| 17 | +5.5V (if powerd on) | | +| 18 | Power ON | SoC 093 via Diode and Power Button | +| 19 | GND | | +| 20 | GND | | +| 21 | AGND | | +| 22 | AGND | | +| 23 | +| 24 | +| 25 | +| 26 | +| 27 | +| 28 | +| 29 | +| 30 | +| 31 | +| 32 | ? Audio Out ? | MIC1P? Soc 013 | +| 33 | Audio Out | CM108B MICIN Pin 27 | +| 34 | +| 35 | +| 36 | ? Audio In ? | HPL? Soc 014 | +| 37 | Audio In | CM108B Line Out L Pin 30 | +| 38 | +| 39 | Onboard MIC || +| 40 | Onboard MIC || + + +# SoC Board + +|No.|Signal Name|Function|GPIO| +|-----|-----|-----|-----| +|001|GND|—| +|002|LRADC0||| +|003|RESET-N||| +|004|AP-CK32KO|OSC|| +|005|GND|—|| +|006|PHOUTN|AUDIO|| +|007|PHOUTP| || +|008|PHINP| || +|009|PHINN| || +|010|MIC2N| || +|011|MIC2P| || +|012|MIC1N| || +|013|MIC1P| || +|014|HPL| to DSP (PIN 36) || +|015|HPR| || +|016|MIC-MBIAS| | +|017|MIC-HBIAS| | +|018|AGND| | +|019|VRP|Reference 3.0V|| +|020|VRA2|Reference 1.5V|| +|021|VRA1|Reference 1.5V|| +|022|HPCOMFB| || +|023|HPCOM| || +|024|GND|—| +|025|AP-UART2-RX| USB dev Serail / 3pin header by SDcard | PB0 | +|026|AP-UART2-TX| USB dev Serail / 3pin header by SDcard | PB1 | +|027|AP-UART2-CTS|| PB2 | +|028|AP-UART2-RTS|| PB3 | +|029|TP-INT| | +|030|LS-INT| | +|031|GS-INT| | +|032|T-CARD-DET| | +|033|GND|—| +|034|LCD-RST | to DSP (PIN 13) | +|035|LCD-BL-EN | to DSP (PIN 12) | +|036|LCD-PWM| | +|037|PA-SHDN| Red LED - via Diodes and MOS || +|038|TP-RST| Green LED - via Diodes and MOS || +|039|TP-SCK| I2C SCK to DSP PIN 10 | PH2 | +|040|TP-SDA| I2C SDA to DSP PIN 11 | PH3 | +|041|SENSOR-SCK| I2C SCK PCF8583 | PH4 | +|042|SENSOR-SDA| I2C SDA PCF8583 | PH5 | +|043|GND|—| +|044|AP-WAKE-BB|| +|045|AP-UART1-RX| | PG6 | +|046|AP-UART1-TX| | PG7 | +|047|AP-UART1-RTS| | PG8 | +|048|AP-UART1-CTS| | PG9 | +|049|GND| | +|050|PCM1_CLK| to DSP (PIN 04) | PG11 | +|051|PCM1_DOUT| to DSP (PIN 05) | PG12 | +|052|PCM1_DIN| | PG13 | +|053|WL-SDIO-CLK| | +|054|WL-SDIO-CMD| | +|055|WL-SDIO-D0| | +|056|WL-SDIO-D1| | +|057|WL-SDIO-D2| | +|058|WL-SDIO-D3| | +|059|GND|—| +|060|ND-WE|| +|061|ND-ALE| | +|062|ND-CLE| | +|063|ND-RB1| | +|064|ND-CE0| | +|065|ND-CE1| | +|066|GND|—| +|067|SDC0-D1| SDCARD | PF0 | +|068|SDC0-D0| SDCARD | PF1 | +|069|SDC0-CLK| SDCARD | PF2 | +|070|SDC0-CMD| SDCARD | PF3 | +|071|SDC0-D3| SDCARD | PF4 | +|072|SDC0-D2| SDCARD | PF5 | +|073|GND|—| +|074|CSI-VSYNC| SDCARD detect | PE3 | +|075|CSI-HSYNC| | PE2 | +|076|CSI-MCLK| | PE1 | +|077|CSI-PCLK| | PE0 | +|078|CSI-D0| | PE4 | +|079|CSI-D1| | PE5 | +|080|CSI-D2| | PE6 | +|081|CSI-D3| | PE7 | +|082|CSI-D4| | PE8 | +|083|CSI-D5| | PE9 | +|084|CSI-D6| | PE10 | +|085|CSI-D7| Keypad | PE11 | +|086|CSI-STBY-F| Keypad | PE17 | +|087|CSI-RST-F| Keypad | PE16 | +|088|CSI-STBY-R| LED Backlight | 143 | +|089|CSI-RST-R| | +|090|CSI-SCK| Keypad | PE12 | +|091|CSI-SDA| Keypad | PE13 | +|092|GND|—| +|093|POWER_ON | to DSP (PIN 18) via Diode an Power Button | +|094|USB-DRVVBUS| | +|095|CHGLED| | +|096|TS| | +|097|DOVDD-CSI|POWER| +|098|VCC-3V0| | +|099|DVDD1V8-CSI| | +|100|VCC-LCD| | +|101|VCC-CTP| | +|102|VCC-USB| | +|103|AVCC| | +|104|AVDD-CSI| | +|105|USBVBUS| powered via diodes from DSP +5.5V || +|106|USBVBUS| powered via diodes from DSP +5.5V || +|107|USBVBUS| powered via diodes from DSP +5.5V || +|108|VCC-WIFI| | +|109|VBAT| | +|110|VBAT| | +|111|VBAT| | +|112|GND|—| +|113|DSI-CKN|| +|114|DSI-CKP| | +|115|DSI-D0N| | +|116|DSI-D0P| | +|117|DSI-D1N| | +|118|DSI-D1P| | +|119|DSI-D2P| | +|120|DSI-D2N| | +|121|DSI-D3N| | +|122|DSI-D3P| | +|123|GND|—| +|124|LCD-VSYNC|RGB LCD VSYNC|PD27| +|125|LCD-HSYNC|RGB LCD HSYNC|PD26| +|126|GND|—| +|127|LCD-DE|RGB LCD DE|PD25| +|128|LCD-CLK|RGB LCD DCLK|PD24| +|129|GND|—| +|130|LCD-D23|RGB LCD Red|PD23| +|131|LCD-D22|RGB LCD Red|PD22| +|132|LCD-D21|RGB LCD Red|PD21| +|133|LCD-D20|RGB LCD Red|PD20| +|134|LCD-D19|RGB LCD Red|PD19| +|135|LCD-D18|RGB LCD Red|PD18| +|136|LCD-D15|RGB LCD Green|PD15| +|137|LCD-D14|RGB LCD Green|PD14| +|138|LCD-D13|RGB LCD Green|PD13| +|139|LCD-D12|RGB LCD Green|PD12| +|140|LCD-D11|RGB LCD Green|PD11| +|141|LCD-D10|RGB LCD Green|PD10| +|142|LCD-D7|RGB LCD Blue|PD7| +|143|LCD-D6|RGB LCD Blue|PD6| +|144|LCD-D5|RGB LCD Blue|PD5| +|145|LCD-D4|RGB LCD Blue|PD4| +|146|LCD-D3|RGB LCD Blue|PD3| +|147|LCD-D2|RGB LCD Blue|PD2| +|148|GND|—| +|149|AP-WAKE-BT|| +|150|WL-RST-N| | +|151|WL-PMU-EN| | +|152|BT-RST-N| | +|153|WL-WAKE-AP| | +|154|BT-WAKE-AP| | +|155|BB-WAKE-AP | ttyS2 TX to MUX 1B2 | +|156|BB-PWREN | ttyS2 RX to NUX 2B2 | +|157|BB-PWR-BAT| | +|158|BB-RST| WIFI/BT Power | 357 | +|159|PMIC-SDA| | +|160|PMIC-SCK| | +|161|GND|—| +|162|USB-DM1| USB Host Port | +|163|USB-DP1| USB Host Port | +|164|USB-DM0| WIFI/BT - USB | +|165|USB-DP0| WIFI/BT - USB | +|166|USB-ID| | diff --git a/docs/hardware/SoC_board/uboot.md b/docs/hardware/SoC_board/uboot.md new file mode 100644 index 0000000..41f1d1c --- /dev/null +++ b/docs/hardware/SoC_board/uboot.md @@ -0,0 +1,342 @@ +``` +=> gpio status -a +Bank PA: +PA0: func +PA1: func +PA2: func +PA3: func +PA4: func +PA5: func +PA6: func +PA7: func +PA8: input: 0 [ ] +PA9: input: 0 [ ] +PA10: input: 0 [ ] +PA11: input: 0 [ ] +PA12: input: 0 [ ] +PA13: input: 0 [ ] +PA14: input: 0 [ ] +PA15: input: 0 [ ] +PA16: input: 0 [ ] +PA17: input: 0 [ ] +PA18: input: 0 [ ] +PA19: input: 0 [ ] +PA20: input: 0 [ ] +PA21: input: 0 [ ] +PA22: input: 0 [ ] +PA23: input: 0 [ ] +PA24: input: 0 [ ] +PA25: input: 0 [ ] +PA26: input: 0 [ ] +PA27: input: 0 [ ] +PA28: input: 0 [ ] +PA29: input: 0 [ ] +PA30: input: 0 [ ] +PA31: input: 0 [ ] + +Bank PB: +PB0: func +PB1: func +PB2: func +PB3: func +PB4: func +PB5: func +PB6: func +PB7: func +PB8: input: 0 [ ] +PB9: input: 0 [ ] +PB10: input: 0 [ ] +PB11: input: 0 [ ] +PB12: input: 0 [ ] +PB13: input: 0 [ ] +PB14: input: 0 [ ] +PB15: input: 0 [ ] +PB16: input: 0 [ ] +PB17: input: 0 [ ] +PB18: input: 0 [ ] +PB19: input: 0 [ ] +PB20: input: 0 [ ] +PB21: input: 0 [ ] +PB22: input: 0 [ ] +PB23: input: 0 [ ] +PB24: input: 0 [ ] +PB25: input: 0 [ ] +PB26: input: 0 [ ] +PB27: input: 0 [ ] +PB28: input: 0 [ ] +PB29: input: 0 [ ] +PB30: input: 0 [ ] +PB31: input: 0 [ ] + +Bank PC: +PC0: func +PC1: func +PC2: func +PC3: func +PC4: func +PC5: func +PC6: func +PC7: func +PC8: func +PC9: func +PC10: func +PC11: func +PC12: func +PC13: func +PC14: func +PC15: func +PC16: func +PC17: func +PC18: func +PC19: input: 0 [ ] +PC20: input: 0 [ ] +PC21: input: 0 [ ] +PC22: input: 0 [ ] +PC23: input: 0 [ ] +PC24: input: 0 [ ] +PC25: input: 0 [ ] +PC26: input: 0 [ ] +PC27: input: 0 [ ] +PC28: input: 0 [ ] +PC29: input: 0 [ ] +PC30: input: 0 [ ] +PC31: input: 0 [ ] + +Bank PD: +PD0: func +PD1: func +PD2: func +PD3: func +PD4: func +PD5: func +PD6: func +PD7: func +PD8: func +PD9: func +PD10: func +PD11: func +PD12: func +PD13: func +PD14: func +PD15: func +PD16: func +PD17: func +PD18: func +PD19: func +PD20: func +PD21: func +PD22: func +PD23: func +PD24: func +PD25: func +PD26: func +PD27: func +PD28: input: 0 [ ] +PD29: input: 0 [ ] +PD30: input: 0 [ ] +PD31: input: 0 [ ] + +Bank PE: +PE0: func +PE1: func +PE2: func +PE3: input: 1 [x] mmc_cd +PE4: func +PE5: func +PE6: func +PE7: func +PE8: func +PE9: func +PE10: func +PE11: func +PE12: func +PE13: func +PE14: func +PE15: func +PE16: func +PE17: func +PE18: input: 0 [ ] +PE19: input: 0 [ ] +PE20: input: 0 [ ] +PE21: input: 0 [ ] +PE22: input: 0 [ ] +PE23: input: 0 [ ] +PE24: input: 0 [ ] +PE25: input: 0 [ ] +PE26: input: 0 [ ] +PE27: input: 0 [ ] +PE28: input: 0 [ ] +PE29: input: 0 [ ] +PE30: input: 0 [ ] +PE31: input: 0 [ ] + +Bank PF: +PF0: func +PF1: func +PF2: func +PF3: func +PF4: func +PF5: func +PF6: input: 0 [ ] +PF7: input: 0 [ ] +PF8: input: 0 [ ] +PF9: input: 0 [ ] +PF10: input: 0 [ ] +PF11: input: 0 [ ] +PF12: input: 0 [ ] +PF13: input: 0 [ ] +PF14: input: 0 [ ] +PF15: input: 0 [ ] +PF16: input: 0 [ ] +PF17: input: 0 [ ] +PF18: input: 0 [ ] +PF19: input: 0 [ ] +PF20: input: 0 [ ] +PF21: input: 0 [ ] +PF22: input: 0 [ ] +PF23: input: 0 [ ] +PF24: input: 0 [ ] +PF25: input: 0 [ ] +PF26: input: 0 [ ] +PF27: input: 0 [ ] +PF28: input: 0 [ ] +PF29: input: 0 [ ] +PF30: input: 0 [ ] +PF31: input: 0 [ ] + +Bank PG: +PG0: func +PG1: func +PG2: func +PG3: func +PG4: func +PG5: func +PG6: func +PG7: func +PG8: func +PG9: func +PG10: func +PG11: func +PG12: func +PG13: func +PG14: input: 0 [ ] +PG15: input: 0 [ ] +PG16: input: 0 [ ] +PG17: input: 0 [ ] +PG18: input: 0 [ ] +PG19: input: 0 [ ] +PG20: input: 0 [ ] +PG21: input: 0 [ ] +PG22: input: 0 [ ] +PG23: input: 0 [ ] +PG24: input: 0 [ ] +PG25: input: 0 [ ] +PG26: input: 0 [ ] +PG27: input: 0 [ ] +PG28: input: 0 [ ] +PG29: input: 0 [ ] +PG30: input: 0 [ ] +PG31: input: 0 [ ] + +Bank PH: +PH0: func +PH1: func +PH2: func +PH3: func +PH4: func +PH5: func +PH6: func +PH7: func +PH8: input: 1 [x] usb_id_det +PH9: func +PH10: input: 0 [ ] +PH11: input: 0 [ ] +PH12: input: 0 [ ] +PH13: input: 0 [ ] +PH14: input: 0 [ ] +PH15: input: 0 [ ] +PH16: input: 0 [ ] +PH17: input: 0 [ ] +PH18: input: 0 [ ] +PH19: input: 0 [ ] +PH20: input: 0 [ ] +PH21: input: 0 [ ] +PH22: input: 0 [ ] +PH23: input: 0 [ ] +PH24: input: 0 [ ] +PH25: input: 0 [ ] +PH26: input: 0 [ ] +PH27: input: 0 [ ] +PH28: input: 0 [ ] +PH29: input: 0 [ ] +PH30: input: 0 [ ] +PH31: input: 0 [ ] + +Bank PI: +PI0: input: 0 [ ] +PI1: input: 0 [ ] +PI2: input: 0 [ ] +PI3: input: 0 [ ] +PI4: input: 0 [ ] +PI5: input: 0 [ ] +PI6: input: 0 [ ] +PI7: input: 0 [ ] +PI8: input: 0 [ ] +PI9: input: 0 [ ] +PI10: input: 0 [ ] +PI11: input: 0 [ ] +PI12: input: 0 [ ] +PI13: input: 0 [ ] +PI14: input: 0 [ ] +PI15: input: 0 [ ] +PI16: input: 0 [ ] +PI17: input: 0 [ ] +PI18: input: 0 [ ] +PI19: input: 0 [ ] +PI20: input: 0 [ ] +PI21: input: 0 [ ] +PI22: input: 0 [ ] +PI23: input: 0 [ ] +PI24: input: 0 [ ] +PI25: input: 0 [ ] +PI26: input: 0 [ ] +PI27: input: 0 [ ] +PI28: input: 0 [ ] +PI29: input: 0 [ ] +PI30: input: 0 [ ] +PI31: input: 0 [ ] + +Bank PL: +PL0: func +PL1: func +PL2: func +PL3: func +PL4: output: 1 [x] usb_vbus +PL5: func +PL6: output: 1 [x] lcd_backlight_enable +PL7: output: 1 [ ] +PL8: output: 0 [ ] +PL9: output: 1 [ ] +PL10: output: 1 [ ] +PL11: output: 1 [x] lcd_reset +PL12: input: 0 [ ] +PL13: input: 0 [ ] +PL14: input: 0 [ ] +PL15: input: 0 [ ] +PL16: input: 0 [ ] +PL17: input: 0 [ ] +PL18: input: 0 [ ] +PL19: input: 0 [ ] +PL20: input: 0 [ ] +PL21: input: 0 [ ] +PL22: input: 0 [ ] +PL23: input: 0 [ ] +PL24: input: 0 [ ] +PL25: input: 0 [ ] +PL26: input: 0 [ ] +PL27: input: 0 [ ] +PL28: input: 0 [ ] +PL29: input: 0 [ ] +PL30: input: 0 [ ] +PL31: input: 0 [ ] +```