Simran Basi | e750a34 | 2013-03-12 13:45:26 -0700 | [diff] [blame] | 1 | # Copyright (c) 2011 The Chromium OS Authors. All rights reserved. |
| 2 | # Use of this source code is governed by a BSD-style license that can be |
| 3 | # found in the LICENSE file. |
| 4 | """Defines the interfaces for the different servo models.""" |
Simran Basi | 5492bde | 2013-05-16 17:08:47 -0700 | [diff] [blame] | 5 | |
Simran Basi | e750a34 | 2013-03-12 13:45:26 -0700 | [diff] [blame] | 6 | import collections |
| 7 | |
| 8 | INTERFACE_DEFAULTS = collections.defaultdict(dict) |
| 9 | |
Puthikorn Voravootivat | 01ead15 | 2018-03-23 15:38:40 -0700 | [diff] [blame] | 10 | SERVO_ID_DEFAULTS = [(0x0403, 0x6014), (0x18d1, 0x5001), (0x18d1, 0x5002), |
| 11 | (0x18d1, 0x5004), (0x18d1, 0x500f), (0x18d1, 0x5014), |
Ruben Rodriguez Buchillon | a20217d | 2020-04-19 19:59:11 -0700 | [diff] [blame] | 12 | (0x18d1, 0x501a)] |
Simran Basi | e750a34 | 2013-03-12 13:45:26 -0700 | [diff] [blame] | 13 | |
Simran Basi | e750a34 | 2013-03-12 13:45:26 -0700 | [diff] [blame] | 14 | # servo v1 |
Wai-Hong Tam | 564c170 | 2017-04-24 09:23:38 -0700 | [diff] [blame] | 15 | INTERFACE_DEFAULTS[0x18d1][0x5001] = \ |
| 16 | ['dummy', |
| 17 | 'ftdi_gpio', |
| 18 | 'ftdi_i2c', |
| 19 | 'ftdi_gpio', |
| 20 | 'ftdi_gpio', |
Puthikorn Voravootivat | 01ead15 | 2018-03-23 15:38:40 -0700 | [diff] [blame] | 21 | ] |
Wai-Hong Tam | 564c170 | 2017-04-24 09:23:38 -0700 | [diff] [blame] | 22 | |
Simran Basi | e750a34 | 2013-03-12 13:45:26 -0700 | [diff] [blame] | 23 | # servo V2 |
Wai-Hong Tam | 564c170 | 2017-04-24 09:23:38 -0700 | [diff] [blame] | 24 | # Dummy interface 1 == JTAG via openocd |
| 25 | # Dummy interface 5,6 == SPI via flashrom |
| 26 | # ec3po_uart interface 9,10 == usbpd console, ec console. Applicable to servo v3 |
Aseda Aboagye | a492221 | 2015-11-20 15:19:08 -0800 | [diff] [blame] | 27 | # as well. |
Aseda Aboagye | a492221 | 2015-11-20 15:19:08 -0800 | [diff] [blame] | 28 | SERVO_V2_DEFAULTS = [(0x18d1, 0x5002)] |
| 29 | for vid, pid in SERVO_V2_DEFAULTS: |
| 30 | INTERFACE_DEFAULTS[vid][pid] = \ |
Wai-Hong Tam | 564c170 | 2017-04-24 09:23:38 -0700 | [diff] [blame] | 31 | ['dummy', |
Wai-Hong Tam | 4b97c16 | 2017-04-24 11:58:54 -0700 | [diff] [blame] | 32 | 'ftdi_dummy', # 1 |
| 33 | 'ftdi_i2c', # 2 |
| 34 | 'ftdi_uart', # 3: uart3/legacy |
| 35 | 'ftdi_uart', # 4: ATMEGA |
| 36 | 'ftdi_dummy', # 5 |
| 37 | 'ftdi_dummy', # 6 |
| 38 | 'ftdi_uart', # 7: EC |
| 39 | 'ftdi_uart', # 8: AP |
| 40 | {'name': 'ec3po_uart', # 9: EC3PO(USBPD) |
Nick Sanders | 116ed9e | 2018-03-09 19:05:16 -0800 | [diff] [blame] | 41 | 'raw_pty': 'raw_usbpd_uart_pty', 'source': 'PD/Cr50'}, |
Wai-Hong Tam | 4b97c16 | 2017-04-24 11:58:54 -0700 | [diff] [blame] | 42 | {'name': 'ec3po_uart', #10: EC3PO(EC) |
Nick Sanders | 116ed9e | 2018-03-09 19:05:16 -0800 | [diff] [blame] | 43 | 'raw_pty': 'raw_ec_uart_pty', 'source': 'EC'}, |
Mary Ruthven | 15a1f2a | 2019-04-26 16:21:51 -0700 | [diff] [blame] | 44 | {'name': 'ec3po_uart', #11: EC3PO(AP) |
| 45 | 'raw_pty': 'raw_cpu_uart_pty', 'source': 'CPU'}, |
Wai-Hong Tam | 6c0fa59 | 2017-04-21 12:41:33 -0700 | [diff] [blame] | 46 | ] |
Simran Basi | e750a34 | 2013-03-12 13:45:26 -0700 | [diff] [blame] | 47 | |
| 48 | # servo v3 |
Aseda Aboagye | a492221 | 2015-11-20 15:19:08 -0800 | [diff] [blame] | 49 | SERVO_V3_DEFAULTS = [(0x18d1, 0x5004)] |
| 50 | for vid, pid in SERVO_V3_DEFAULTS: |
| 51 | INTERFACE_DEFAULTS[vid][pid] = \ |
Wai-Hong Tam | 564c170 | 2017-04-24 09:23:38 -0700 | [diff] [blame] | 52 | ['dummy', |
Wai-Hong Tam | 4b97c16 | 2017-04-24 11:58:54 -0700 | [diff] [blame] | 53 | 'bb_gpio', # 1 |
| 54 | {'name': 'dev_i2c', 'bus_num': 1}, # 2 |
| 55 | {'name': 'bb_uart', 'uart_num': 5, # 3: uart3/legacy |
| 56 | 'txd': ['lcd_data8', 0x4], |
| 57 | 'rxd': ['lcd_data9', 0x4]}, |
| 58 | {'name': 'bb_uart', 'uart_num': 4}, # 4: ATMEGA |
| 59 | 'bb_adc', # 5 |
| 60 | {'name': 'dev_i2c', 'bus_num': 2}, # 6 |
| 61 | {'name': 'bb_uart', 'uart_num': 1}, # 7: EC |
| 62 | {'name': 'bb_uart', 'uart_num': 2}, # 8: AP |
| 63 | 'dummy', # 9 |
| 64 | {'name': 'ec3po_uart', #10: EC3PO(EC) |
Nick Sanders | 116ed9e | 2018-03-09 19:05:16 -0800 | [diff] [blame] | 65 | 'raw_pty': 'raw_ec_uart_pty', 'source': 'EC'}, |
Mary Ruthven | 15a1f2a | 2019-04-26 16:21:51 -0700 | [diff] [blame] | 66 | {'name': 'ec3po_uart', #11: EC3PO(AP) |
| 67 | 'raw_pty': 'raw_cpu_uart_pty', 'source': 'CPU'}, |
Wai-Hong Tam | 6c0fa59 | 2017-04-21 12:41:33 -0700 | [diff] [blame] | 68 | ] |
Simran Basi | e750a34 | 2013-03-12 13:45:26 -0700 | [diff] [blame] | 69 | |
Simran Basi | a9ad25e | 2013-04-23 11:57:00 -0700 | [diff] [blame] | 70 | INTERFACE_DEFAULTS[0x0403][0x6014] = INTERFACE_DEFAULTS[0x18d1][0x5004] |
| 71 | |
Nick Sanders | 12d4cd1 | 2016-04-11 22:47:48 -0700 | [diff] [blame] | 72 | # Ryu Raiden CCD |
| 73 | RAIDEN_DEFAULTS = [(0x18d1, 0x500f)] |
| 74 | for vid, pid in RAIDEN_DEFAULTS: |
| 75 | INTERFACE_DEFAULTS[vid][pid] = \ |
Wai-Hong Tam | 564c170 | 2017-04-24 09:23:38 -0700 | [diff] [blame] | 76 | ['dummy', |
| 77 | {'name': 'stm32_uart', 'interface': 0}, # 1: EC_PD |
Nick Sanders | 12d4cd1 | 2016-04-11 22:47:48 -0700 | [diff] [blame] | 78 | {'name': 'stm32_uart', 'interface': 1}, # 2: AP |
| 79 | 'dummy', # 3 |
| 80 | 'dummy', # 4 |
| 81 | 'dummy', # 5 |
| 82 | 'dummy', # 6 |
| 83 | 'dummy', # 7 |
| 84 | 'dummy', # 8 |
| 85 | 'dummy', # 9 |
| 86 | {'name': 'ec3po_uart', #10: dut ec console |
Nick Sanders | 116ed9e | 2018-03-09 19:05:16 -0800 | [diff] [blame] | 87 | 'raw_pty': 'raw_ec_uart_pty', 'source': 'EC'}, |
Mary Ruthven | 256b81f | 2019-04-26 15:55:25 -0700 | [diff] [blame] | 88 | 'dummy', #11 |
Nick Sanders | 12d4cd1 | 2016-04-11 22:47:48 -0700 | [diff] [blame] | 89 | ] |
Nick Sanders | 97bc446 | 2016-01-04 15:37:31 -0800 | [diff] [blame] | 90 | |
Nick Sanders | 5bf796b | 2016-07-20 23:30:04 -0700 | [diff] [blame] | 91 | # cr50 CCD |
| 92 | CCD_DEFAULTS = [(0x18d1, 0x5014)] |
| 93 | for vid, pid in CCD_DEFAULTS: |
| 94 | INTERFACE_DEFAULTS[vid][pid] = \ |
Wai-Hong Tam | 564c170 | 2017-04-24 09:23:38 -0700 | [diff] [blame] | 95 | ['dummy', |
Wai-Hong Tam | 08f6e85 | 2017-05-17 17:03:07 -0700 | [diff] [blame] | 96 | {'name': 'stm32_uart', 'interface': 0}, # 1: Cr50 console |
Mary Ruthven | d25113b | 2016-11-16 13:16:30 -0800 | [diff] [blame] | 97 | {'name': 'stm32_i2c', 'interface': 5}, # 2: i2c |
Wai-Hong Tam | b74b791 | 2017-04-24 12:35:35 -0700 | [diff] [blame] | 98 | 'dummy', # 3 |
Wai-Hong Tam | 08f6e85 | 2017-05-17 17:03:07 -0700 | [diff] [blame] | 99 | 'dummy', # 4 |
Wai-Hong Tam | b74b791 | 2017-04-24 12:35:35 -0700 | [diff] [blame] | 100 | 'dummy', # 5 |
| 101 | 'dummy', # 6 |
| 102 | {'name': 'stm32_uart', 'interface': 2}, # 7: EC/PD |
| 103 | {'name': 'stm32_uart', 'interface': 1}, # 8: AP |
| 104 | {'name': 'ec3po_uart', # 9: EC3PO(Cr50) |
Nick Sanders | 116ed9e | 2018-03-09 19:05:16 -0800 | [diff] [blame] | 105 | 'raw_pty': 'raw_cr50_uart_pty', 'source': 'Cr50'}, |
Wai-Hong Tam | b74b791 | 2017-04-24 12:35:35 -0700 | [diff] [blame] | 106 | {'name': 'ec3po_uart', #10: EC3PO(EC) |
Nick Sanders | 116ed9e | 2018-03-09 19:05:16 -0800 | [diff] [blame] | 107 | 'raw_pty': 'raw_ec_uart_pty', 'source': 'EC'}, |
Mary Ruthven | 15a1f2a | 2019-04-26 16:21:51 -0700 | [diff] [blame] | 108 | {'name': 'ec3po_uart', #11: EC3PO(AP) |
| 109 | 'raw_pty': 'raw_cpu_uart_pty', 'source': 'CPU'}, |
Nick Sanders | 5bf796b | 2016-07-20 23:30:04 -0700 | [diff] [blame] | 110 | ] |
| 111 | |
Ruben Rodriguez Buchillon | 8c61301 | 2018-05-09 13:04:54 +0800 | [diff] [blame] | 112 | # Sweetberry |
| 113 | SWEETBERRY_ID_DEFAULTS = [(0x18d1, 0x5020)] |
| 114 | for vid, pid in SWEETBERRY_ID_DEFAULTS: |
| 115 | INTERFACE_DEFAULTS[vid][pid] = \ |
| 116 | ['dummy', |
| 117 | 'dummy', |
| 118 | {'name': 'stm32_i2c', 'interface': 3}, # 2: i2c |
| 119 | {'name': 'stm32_uart', 'interface': 0}, # 3: sweetberry console |
| 120 | ] |
| 121 | |
| 122 | SERVO_ID_DEFAULTS.extend(SWEETBERRY_ID_DEFAULTS) |
| 123 | |
Nick Sanders | 97bc446 | 2016-01-04 15:37:31 -0800 | [diff] [blame] | 124 | # Servo micro |
| 125 | SERVO_MICRO_DEFAULTS = [(0x18d1, 0x501a)] |
| 126 | for vid, pid in SERVO_MICRO_DEFAULTS: |
| 127 | INTERFACE_DEFAULTS[vid][pid] = \ |
Wai-Hong Tam | 564c170 | 2017-04-24 09:23:38 -0700 | [diff] [blame] | 128 | ['dummy', |
Wai-Hong Tam | 08f6e85 | 2017-05-17 17:03:07 -0700 | [diff] [blame] | 129 | {'name': 'stm32_uart', 'interface': 0}, # 1: PD/Cr50 console |
Nicolas Boichat | 11be0fb | 2017-06-30 14:38:37 +0800 | [diff] [blame] | 130 | {'name': 'stm32_i2c', 'interface': 4}, # 2: i2c |
Nick Sanders | 97bc446 | 2016-01-04 15:37:31 -0800 | [diff] [blame] | 131 | {'name': 'stm32_uart', 'interface': 3}, # 3: servo console |
Nicolas Boichat | 11be0fb | 2017-06-30 14:38:37 +0800 | [diff] [blame] | 132 | 'dummy', # 4: dummy |
Wai-Hong Tam | 7312f81 | 2017-04-24 12:13:24 -0700 | [diff] [blame] | 133 | 'dummy', # 5: dummy |
Wai-Hong Tam | cadc919 | 2017-04-24 12:23:52 -0700 | [diff] [blame] | 134 | {'name': 'ec3po_uart', # 6: servo console |
Mary Ruthven | ab7d6fd | 2018-12-07 11:13:19 -0800 | [diff] [blame] | 135 | 'raw_pty': 'raw_servo_micro_uart_pty', 'source': 'servo_micro'}, |
Wai-Hong Tam | cadc919 | 2017-04-24 12:23:52 -0700 | [diff] [blame] | 136 | {'name': 'stm32_uart', 'interface': 6}, # 7: uart1/EC console |
Wai-Hong Tam | 7312f81 | 2017-04-24 12:13:24 -0700 | [diff] [blame] | 137 | {'name': 'stm32_uart', 'interface': 5}, # 8: uart2/AP console |
Wai-Hong Tam | 08f6e85 | 2017-05-17 17:03:07 -0700 | [diff] [blame] | 138 | {'name': 'ec3po_uart', # 9: EC3PO for PD/Cr50 |
Nick Sanders | 116ed9e | 2018-03-09 19:05:16 -0800 | [diff] [blame] | 139 | 'raw_pty': 'raw_usbpd_uart_pty', 'source': 'PD/Cr50'}, |
Wai-Hong Tam | 08f6e85 | 2017-05-17 17:03:07 -0700 | [diff] [blame] | 140 | {'name': 'ec3po_uart', #10: EC3PO for EC |
Nick Sanders | 116ed9e | 2018-03-09 19:05:16 -0800 | [diff] [blame] | 141 | 'raw_pty': 'raw_ec_uart_pty', 'source': 'EC'}, |
Mary Ruthven | 15a1f2a | 2019-04-26 16:21:51 -0700 | [diff] [blame] | 142 | {'name': 'ec3po_uart', #11: EC3PO for CPU |
| 143 | 'raw_pty': 'raw_cpu_uart_pty', 'source': 'CPU'}, |
Nick Sanders | 97bc446 | 2016-01-04 15:37:31 -0800 | [diff] [blame] | 144 | ] |
| 145 | |
Jett Rink | 43281fb | 2019-12-13 15:02:40 -0700 | [diff] [blame] | 146 | # C2D2 |
| 147 | C2D2_DEFAULTS = [(0x18d1, 0x5041)] |
| 148 | for vid, pid in C2D2_DEFAULTS: |
| 149 | INTERFACE_DEFAULTS[vid][pid] = \ |
| 150 | ['dummy', |
| 151 | {'name': 'stm32_uart', 'interface': 0}, # 1: H1 console |
Jett Rink | 2985a0b | 2020-02-13 15:26:24 -0700 | [diff] [blame] | 152 | {'name': 'stm32_i2c', 'interface': 4}, # 2: i2c |
Jett Rink | 43281fb | 2019-12-13 15:02:40 -0700 | [diff] [blame] | 153 | {'name': 'stm32_uart', 'interface': 3}, # 3: servo console |
| 154 | 'dummy', # 4: dummy |
| 155 | 'dummy', # 5: dummy |
| 156 | {'name': 'ec3po_uart', # 6: servo console |
| 157 | 'raw_pty': 'raw_c2d2_uart_pty', 'source': 'c2d2'}, |
| 158 | {'name': 'stm32_uart', 'interface': 6}, # 7: uart1/EC console |
| 159 | {'name': 'stm32_uart', 'interface': 5}, # 8: uart2/AP console |
| 160 | {'name': 'ec3po_uart', # 9: EC3PO for H1 |
| 161 | 'raw_pty': 'raw_usbpd_uart_pty', 'source': 'H1'}, |
| 162 | {'name': 'ec3po_uart', #10: EC3PO for EC |
| 163 | 'raw_pty': 'raw_ec_uart_pty', 'source': 'EC'}, |
| 164 | {'name': 'ec3po_uart', #11: EC3PO for CPU |
| 165 | 'raw_pty': 'raw_cpu_uart_pty', 'source': 'CPU'}, |
| 166 | ] |
| 167 | |
| 168 | SERVO_ID_DEFAULTS.extend(C2D2_DEFAULTS) |
| 169 | |
Nick Sanders | 97bc446 | 2016-01-04 15:37:31 -0800 | [diff] [blame] | 170 | # Servo v4 |
Ruben Rodriguez Buchillon | a20217d | 2020-04-19 19:59:11 -0700 | [diff] [blame] | 171 | # Note: the (0x18d1, 0x520d) pair is actually servo v4.1 |
| 172 | # However, servo v4 and v4.1 have the same usb end-points and therefore |
| 173 | # interfaces (for now). Should this change, break v4.1 into its own logic. |
| 174 | SERVO_V4_DEFAULTS = [(0x18d1, 0x501b), (0x18d1, 0x520d)] |
Wai-Hong Tam | 4544c30 | 2017-05-24 19:44:53 -0700 | [diff] [blame] | 175 | SERVO_V4_SLOT_SIZE = 20 |
| 176 | SERVO_V4_SLOT_POSITIONS = { |
Puthikorn Voravootivat | 01ead15 | 2018-03-23 15:38:40 -0700 | [diff] [blame] | 177 | 'default': 1, |
| 178 | 'hammer': 41, |
| 179 | 'staff': 41, |
Ruben Rodriguez Buchillon | d18c6eb | 2019-07-10 14:40:22 -0700 | [diff] [blame] | 180 | 'secondary_ccd': 61, |
Wai-Hong Tam | 4544c30 | 2017-05-24 19:44:53 -0700 | [diff] [blame] | 181 | } |
| 182 | SERVO_V4_CONFIGS = { |
Puthikorn Voravootivat | 01ead15 | 2018-03-23 15:38:40 -0700 | [diff] [blame] | 183 | 'hammer': 'servo_micro_for_hammer.xml', |
| 184 | 'staff': 'servo_micro_for_hammer.xml', |
Wai-Hong Tam | 4544c30 | 2017-05-24 19:44:53 -0700 | [diff] [blame] | 185 | } |
Nick Sanders | 97bc446 | 2016-01-04 15:37:31 -0800 | [diff] [blame] | 186 | for vid, pid in SERVO_V4_DEFAULTS: |
Wai-Hong Tam | 564c170 | 2017-04-24 09:23:38 -0700 | [diff] [blame] | 187 | # Interface #0 is reserved for no use. |
| 188 | INTERFACE_DEFAULTS[vid][pid] = ['dummy'] |
| 189 | |
Wai-Hong Tam | 4544c30 | 2017-05-24 19:44:53 -0700 | [diff] [blame] | 190 | # Dummy slots for servo micro/CCD use (interface #1-20). |
| 191 | INTERFACE_DEFAULTS[vid][pid] += ['dummy'] * SERVO_V4_SLOT_SIZE |
Kevin Cheng | 5c66721 | 2016-07-07 10:58:04 -0700 | [diff] [blame] | 192 | |
| 193 | # Servo v4 interfaces. |
| 194 | INTERFACE_DEFAULTS[vid][pid] += \ |
Nick Sanders | 9d05d63 | 2017-11-01 22:06:25 -0700 | [diff] [blame] | 195 | ['dummy', #21: just nothing. |
Kevin Cheng | 5c66721 | 2016-07-07 10:58:04 -0700 | [diff] [blame] | 196 | {'name': 'stm32_uart', 'interface': 0}, #22: servo console. |
| 197 | {'name': 'stm32_i2c', 'interface': 2}, #23: i2c |
| 198 | {'name': 'stm32_uart', 'interface': 3}, #24: dut sbu uart |
| 199 | {'name': 'stm32_uart', 'interface': 4}, #25: atmega uart |
| 200 | {'name': 'ec3po_uart', #26: servo v4 console |
Mary Ruthven | c7d8189 | 2018-12-07 11:15:02 -0800 | [diff] [blame] | 201 | 'raw_pty': 'raw_servo_v4_uart_pty', 'source': 'servo_v4'}, |
Nick Sanders | 97bc446 | 2016-01-04 15:37:31 -0800 | [diff] [blame] | 202 | ] |
| 203 | |
Wai-Hong Tam | 4544c30 | 2017-05-24 19:44:53 -0700 | [diff] [blame] | 204 | # Buffer slots for servo v4 (interface #27-40). |
| 205 | INTERFACE_DEFAULTS[vid][pid] += ['dummy'] * (40 - 27 + 1) |
| 206 | |
| 207 | # Slots for relocating Hammer interfaces. |
| 208 | INTERFACE_DEFAULTS[vid][pid] += ['dummy'] * SERVO_V4_SLOT_SIZE |
| 209 | |
Ruben Rodriguez Buchillon | a20217d | 2020-04-19 19:59:11 -0700 | [diff] [blame] | 210 | SERVO_ID_DEFAULTS.extend(SERVO_V4_DEFAULTS) |
| 211 | |
Simran Basi | e750a34 | 2013-03-12 13:45:26 -0700 | [diff] [blame] | 212 | # miniservo |
| 213 | MINISERVO_ID_DEFAULTS = [(0x403, 0x6001), (0x18d1, 0x5000)] |
| 214 | for vid, pid in MINISERVO_ID_DEFAULTS: |
Wai-Hong Tam | 6c0fa59 | 2017-04-21 12:41:33 -0700 | [diff] [blame] | 215 | INTERFACE_DEFAULTS[vid][pid] = \ |
Wai-Hong Tam | 564c170 | 2017-04-24 09:23:38 -0700 | [diff] [blame] | 216 | ['dummy', |
Wai-Hong Tam | d8a94d6 | 2017-04-28 10:11:51 -0700 | [diff] [blame] | 217 | 'ftdi_gpiouart', # occupies 2 slots |
| 218 | 'dummy', # reserved for the above ftdi_gpiouart |
Nick Sanders | 116ed9e | 2018-03-09 19:05:16 -0800 | [diff] [blame] | 219 | {'name': 'ec3po_uart', 'raw_pty': 'raw_ec_uart_pty', 'source': 'EC'}, |
Wai-Hong Tam | 6c0fa59 | 2017-04-21 12:41:33 -0700 | [diff] [blame] | 220 | ] |
Simran Basi | e750a34 | 2013-03-12 13:45:26 -0700 | [diff] [blame] | 221 | |
| 222 | SERVO_ID_DEFAULTS.extend(MINISERVO_ID_DEFAULTS) |
Vincent Palatin | f536f00 | 2013-04-11 12:43:49 -0700 | [diff] [blame] | 223 | |
| 224 | # Toad |
| 225 | TOAD_ID_DEFAULTS = [(0x403, 0x6015)] |
| 226 | for vid, pid in TOAD_ID_DEFAULTS: |
Wai-Hong Tam | 6c0fa59 | 2017-04-21 12:41:33 -0700 | [diff] [blame] | 227 | INTERFACE_DEFAULTS[vid][pid] = \ |
Wai-Hong Tam | 564c170 | 2017-04-24 09:23:38 -0700 | [diff] [blame] | 228 | ['dummy', |
Wai-Hong Tam | d8a94d6 | 2017-04-28 10:11:51 -0700 | [diff] [blame] | 229 | 'ftdi_gpiouart', # occupies 2 slots |
| 230 | 'dummy', # reserved for the above ftdi_gpiouart |
Nick Sanders | 116ed9e | 2018-03-09 19:05:16 -0800 | [diff] [blame] | 231 | {'name': 'ec3po_uart', 'raw_pty': 'raw_ec_uart_pty', 'source': 'EC'}, |
Wai-Hong Tam | 6c0fa59 | 2017-04-21 12:41:33 -0700 | [diff] [blame] | 232 | ] |
Vincent Palatin | f536f00 | 2013-04-11 12:43:49 -0700 | [diff] [blame] | 233 | |
| 234 | SERVO_ID_DEFAULTS.extend(TOAD_ID_DEFAULTS) |
Vincent Palatin | 32fbecb | 2013-10-23 13:32:47 -0700 | [diff] [blame] | 235 | |
| 236 | # Reston |
| 237 | RESTON_ID_DEFAULTS = [(0x18d1, 0x5007)] |
| 238 | for vid, pid in RESTON_ID_DEFAULTS: |
Wai-Hong Tam | 6c0fa59 | 2017-04-21 12:41:33 -0700 | [diff] [blame] | 239 | INTERFACE_DEFAULTS[vid][pid] = \ |
Wai-Hong Tam | 564c170 | 2017-04-24 09:23:38 -0700 | [diff] [blame] | 240 | ['dummy', |
Wai-Hong Tam | d8a94d6 | 2017-04-28 10:11:51 -0700 | [diff] [blame] | 241 | 'ftdi_gpiouart', # occupies 2 slots |
| 242 | 'dummy', # reserved for the above ftdi_gpiouart |
Nick Sanders | 116ed9e | 2018-03-09 19:05:16 -0800 | [diff] [blame] | 243 | {'name': 'ec3po_uart', 'raw_pty': 'raw_ec_uart_pty', 'source': 'EC'}, |
Wai-Hong Tam | 6c0fa59 | 2017-04-21 12:41:33 -0700 | [diff] [blame] | 244 | ] |
Vincent Palatin | 32fbecb | 2013-10-23 13:32:47 -0700 | [diff] [blame] | 245 | |
| 246 | SERVO_ID_DEFAULTS.extend(RESTON_ID_DEFAULTS) |
Vincent Palatin | 77629ac | 2014-03-21 09:33:13 -0700 | [diff] [blame] | 247 | |
| 248 | # Fruitpie |
| 249 | FRUITPIE_ID_DEFAULTS = [(0x18d1, 0x5009)] |
| 250 | for vid, pid in FRUITPIE_ID_DEFAULTS: |
Wai-Hong Tam | 6c0fa59 | 2017-04-21 12:41:33 -0700 | [diff] [blame] | 251 | INTERFACE_DEFAULTS[vid][pid] = \ |
Wai-Hong Tam | 564c170 | 2017-04-24 09:23:38 -0700 | [diff] [blame] | 252 | ['dummy', |
Wai-Hong Tam | d8a94d6 | 2017-04-28 10:11:51 -0700 | [diff] [blame] | 253 | 'ftdi_gpiouart', # occupies 2 slots |
| 254 | 'dummy', # reserved for the above ftdi_gpiouart |
Nick Sanders | 116ed9e | 2018-03-09 19:05:16 -0800 | [diff] [blame] | 255 | {'name': 'ec3po_uart', 'raw_pty': 'raw_ec_uart_pty', 'source': 'EC'}, |
Wai-Hong Tam | 6c0fa59 | 2017-04-21 12:41:33 -0700 | [diff] [blame] | 256 | ] |
Vincent Palatin | 77629ac | 2014-03-21 09:33:13 -0700 | [diff] [blame] | 257 | |
| 258 | SERVO_ID_DEFAULTS.extend(FRUITPIE_ID_DEFAULTS) |
Todd Broch | b21d804 | 2014-05-15 12:54:54 -0700 | [diff] [blame] | 259 | |
Alec Berg | e754980 | 2014-07-14 11:52:36 -0700 | [diff] [blame] | 260 | # Plankton |
| 261 | PLANKTON_ID_DEFAULTS = [(0x18d1, 0x500c)] |
| 262 | for vid, pid in PLANKTON_ID_DEFAULTS: |
Wai-Hong Tam | 6c0fa59 | 2017-04-21 12:41:33 -0700 | [diff] [blame] | 263 | INTERFACE_DEFAULTS[vid][pid] = \ |
Wai-Hong Tam | 564c170 | 2017-04-24 09:23:38 -0700 | [diff] [blame] | 264 | ['dummy', |
Wai-Hong Tam | d8a94d6 | 2017-04-28 10:11:51 -0700 | [diff] [blame] | 265 | 'ftdi_gpiouart', # occupies 2 slots |
| 266 | 'dummy', # reserved for the above ftdi_gpiouart |
Nick Sanders | 116ed9e | 2018-03-09 19:05:16 -0800 | [diff] [blame] | 267 | {'name': 'ec3po_uart', 'raw_pty': 'raw_ec_uart_pty', 'source': 'EC'}, |
Wai-Hong Tam | 6c0fa59 | 2017-04-21 12:41:33 -0700 | [diff] [blame] | 268 | ] |
Alec Berg | e754980 | 2014-07-14 11:52:36 -0700 | [diff] [blame] | 269 | |
| 270 | SERVO_ID_DEFAULTS.extend(PLANKTON_ID_DEFAULTS) |
| 271 | |
Aseda Aboagye | f4d22bb | 2019-08-26 16:15:35 -0700 | [diff] [blame] | 272 | # Fluffy |
| 273 | FLUFFY_ID_DEFAULTS = [(0x18d1, 0x503b)] |
| 274 | for vid, pid in FLUFFY_ID_DEFAULTS: |
| 275 | # Interface #0 is reserved for no use. |
| 276 | INTERFACE_DEFAULTS[vid][pid] = ['dummy'] |
| 277 | |
| 278 | # Dummy slots for servo micro/CCD, servo v4, and servo micro relocation use |
| 279 | # (interface #1-60). |
| 280 | INTERFACE_DEFAULTS[vid][pid] += ['dummy'] * SERVO_V4_SLOT_SIZE * 3 |
| 281 | |
| 282 | INTERFACE_DEFAULTS[vid][pid] += \ |
| 283 | [ |
| 284 | {'name': 'stm32_uart', 'interface': 0}, # 61 - Fluffy console |
| 285 | ] |
| 286 | |
| 287 | SERVO_ID_DEFAULTS.extend(FLUFFY_ID_DEFAULTS) |
| 288 | |
Todd Broch | b21d804 | 2014-05-15 12:54:54 -0700 | [diff] [blame] | 289 | # Allow Board overrides of interfaces as we've started to overload some servo V2 |
Aseda Aboagye | c24a388 | 2016-03-15 12:37:56 -0700 | [diff] [blame] | 290 | # pinout functionality. To-date just swapping EC SPI and JTAG interfaces for |
Todd Broch | 82e7a7a | 2016-10-25 10:54:48 -0700 | [diff] [blame] | 291 | # USB PD MCU UART. Note this can NOT be done on servo V3. See crbug.com/567842 |
| 292 | # for details. |
Todd Broch | b21d804 | 2014-05-15 12:54:54 -0700 | [diff] [blame] | 293 | INTERFACE_BOARDS = collections.defaultdict( |
| 294 | lambda: collections.defaultdict(dict)) |
Duncan Laurie | 0728aa8 | 2015-10-26 13:56:08 -0700 | [diff] [blame] | 295 | |
Todd Broch | 82e7a7a | 2016-10-25 10:54:48 -0700 | [diff] [blame] | 296 | # re-purposes EC SPI to be UART for USBPD MCU |
Aseda Aboagye | d4afa0d | 2017-08-09 12:24:49 -0700 | [diff] [blame] | 297 | for board in ['elm', 'hana', 'oak', 'samus']: |
Todd Broch | 82e7a7a | 2016-10-25 10:54:48 -0700 | [diff] [blame] | 298 | INTERFACE_BOARDS[board][0x18d1][0x5002] = \ |
| 299 | list(INTERFACE_DEFAULTS[0x18d1][0x5002]) |
Wai-Hong Tam | 564c170 | 2017-04-24 09:23:38 -0700 | [diff] [blame] | 300 | INTERFACE_BOARDS[board][0x18d1][0x5002][6] = 'ftdi_uart' |
Todd Broch | 82e7a7a | 2016-10-25 10:54:48 -0700 | [diff] [blame] | 301 | |
Nicolas Boichat | c02d087 | 2017-03-24 08:25:06 +0800 | [diff] [blame] | 302 | # re-purposes JTAG to be UART for USBPD MCU or H1 |
Puthikorn Voravootivat | 01ead15 | 2018-03-23 15:38:40 -0700 | [diff] [blame] | 303 | for board in [ |
Douglas Anderson | 81ac3e7 | 2018-04-10 16:10:03 -0700 | [diff] [blame] | 304 | 'asuka', |
Ting Shen | d76de94 | 2020-03-16 16:30:40 +0800 | [diff] [blame] | 305 | 'asurada', |
Matthew Blecker | d5f9c18 | 2019-04-24 17:12:14 -0700 | [diff] [blame] | 306 | 'atlas', |
Douglas Anderson | 81ac3e7 | 2018-04-10 16:10:03 -0700 | [diff] [blame] | 307 | 'caroline', |
| 308 | 'cave', |
| 309 | 'chell', |
| 310 | 'cheza', |
Shelley Chen | 9e230ad | 2018-06-26 15:30:36 -0700 | [diff] [blame] | 311 | 'dragonegg', |
Mathew King | 70d093e | 2019-08-13 11:36:24 -0600 | [diff] [blame] | 312 | 'drallion', |
Turg | 104f8f9 | 2020-02-28 13:45:13 -0500 | [diff] [blame] | 313 | 'endeavour', |
| 314 | 'excelsior', |
Douglas Anderson | 81ac3e7 | 2018-04-10 16:10:03 -0700 | [diff] [blame] | 315 | 'eve', |
| 316 | 'fizz', |
Kaka Ni | cc2c0db | 2019-01-18 19:51:09 +0800 | [diff] [blame] | 317 | 'flapjack', |
Douglas Anderson | 81ac3e7 | 2018-04-10 16:10:03 -0700 | [diff] [blame] | 318 | 'glados', |
| 319 | 'grunt', |
Shelley Chen | 2e9582f | 2018-12-12 12:01:31 -0800 | [diff] [blame] | 320 | 'hatch', |
Chen-Tsung Hsieh | 8952792 | 2019-12-27 15:52:27 +0800 | [diff] [blame] | 321 | 'jacuzzi', |
Zhuohao Lee | 291bc6a | 2018-11-08 18:35:24 +0800 | [diff] [blame] | 322 | 'kalista', |
Ruben Rodriguez Buchillon | 6a40804 | 2018-07-25 11:18:45 +0800 | [diff] [blame] | 323 | 'kukui', |
Douglas Anderson | 81ac3e7 | 2018-04-10 16:10:03 -0700 | [diff] [blame] | 324 | 'kunimitsu', |
| 325 | 'lars', |
| 326 | 'meowth', |
| 327 | 'nami', |
| 328 | 'nautilus', |
Aseda Aboagye | e9b2c4f | 2018-05-07 17:22:50 -0700 | [diff] [blame] | 329 | 'nocturne', |
Jett Rink | f97a109 | 2018-05-10 13:52:53 -0600 | [diff] [blame] | 330 | 'octopus_ite', |
| 331 | 'octopus_npcx', |
Douglas Anderson | 81ac3e7 | 2018-04-10 16:10:03 -0700 | [diff] [blame] | 332 | 'pbody', |
| 333 | 'poppy', |
Kangheui Won | 91e53bc | 2019-10-16 17:10:41 +1100 | [diff] [blame] | 334 | 'puff', |
Zhuohao Lee | d89e5b5 | 2018-07-26 10:38:50 +0800 | [diff] [blame] | 335 | 'rammus', |
Douglas Anderson | 81ac3e7 | 2018-04-10 16:10:03 -0700 | [diff] [blame] | 336 | 'reef', |
Duncan Laurie | fdb18b4 | 2018-10-05 15:50:33 -0700 | [diff] [blame] | 337 | 'sarien', |
Douglas Anderson | 81ac3e7 | 2018-04-10 16:10:03 -0700 | [diff] [blame] | 338 | 'scarlet', |
| 339 | 'sentry', |
| 340 | 'soraka', |
| 341 | 'strago', |
Wai-Hong Tam | c485973 | 2019-11-04 14:53:34 -0800 | [diff] [blame] | 342 | 'trogdor', |
Keith Short | 68717a4 | 2019-11-05 09:36:32 -0800 | [diff] [blame] | 343 | 'volteer', |
Douglas Anderson | 81ac3e7 | 2018-04-10 16:10:03 -0700 | [diff] [blame] | 344 | 'zoombini', |
Raul E Rangel | 5b382cb | 2019-10-03 16:49:59 -0600 | [diff] [blame] | 345 | 'zork', |
Puthikorn Voravootivat | 01ead15 | 2018-03-23 15:38:40 -0700 | [diff] [blame] | 346 | ]: |
Todd Broch | 82e7a7a | 2016-10-25 10:54:48 -0700 | [diff] [blame] | 347 | INTERFACE_BOARDS[board][0x18d1][0x5002] = \ |
| 348 | list(INTERFACE_DEFAULTS[0x18d1][0x5002]) |
Wai-Hong Tam | 564c170 | 2017-04-24 09:23:38 -0700 | [diff] [blame] | 349 | INTERFACE_BOARDS[board][0x18d1][0x5002][1] = 'ftdi_uart' |