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 | |
Todd Broch | 2e92ed0 | 2017-11-10 16:37:07 -0800 | [diff] [blame] | 10 | SERVO_ID_DEFAULTS = [(0x0403, 0x6014), (0x18d1, 0x5001), |
Nick Sanders | 12d4cd1 | 2016-04-11 22:47:48 -0700 | [diff] [blame] | 11 | (0x18d1, 0x5002), (0x18d1, 0x5004), (0x18d1, 0x500f), |
Nick Sanders | 5bf796b | 2016-07-20 23:30:04 -0700 | [diff] [blame] | 12 | (0x18d1, 0x5014), (0x18d1, 0x501a), (0x18d1, 0x501b)] |
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', |
| 21 | ] |
| 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'}, |
Wai-Hong Tam | 6c0fa59 | 2017-04-21 12:41:33 -0700 | [diff] [blame] | 44 | ] |
Simran Basi | e750a34 | 2013-03-12 13:45:26 -0700 | [diff] [blame] | 45 | |
| 46 | # servo v3 |
Aseda Aboagye | a492221 | 2015-11-20 15:19:08 -0800 | [diff] [blame] | 47 | SERVO_V3_DEFAULTS = [(0x18d1, 0x5004)] |
| 48 | for vid, pid in SERVO_V3_DEFAULTS: |
| 49 | INTERFACE_DEFAULTS[vid][pid] = \ |
Wai-Hong Tam | 564c170 | 2017-04-24 09:23:38 -0700 | [diff] [blame] | 50 | ['dummy', |
Wai-Hong Tam | 4b97c16 | 2017-04-24 11:58:54 -0700 | [diff] [blame] | 51 | 'bb_gpio', # 1 |
| 52 | {'name': 'dev_i2c', 'bus_num': 1}, # 2 |
| 53 | {'name': 'bb_uart', 'uart_num': 5, # 3: uart3/legacy |
| 54 | 'txd': ['lcd_data8', 0x4], |
| 55 | 'rxd': ['lcd_data9', 0x4]}, |
| 56 | {'name': 'bb_uart', 'uart_num': 4}, # 4: ATMEGA |
| 57 | 'bb_adc', # 5 |
| 58 | {'name': 'dev_i2c', 'bus_num': 2}, # 6 |
| 59 | {'name': 'bb_uart', 'uart_num': 1}, # 7: EC |
| 60 | {'name': 'bb_uart', 'uart_num': 2}, # 8: AP |
| 61 | 'dummy', # 9 |
| 62 | {'name': 'ec3po_uart', #10: EC3PO(EC) |
Nick Sanders | 116ed9e | 2018-03-09 19:05:16 -0800 | [diff] [blame^] | 63 | 'raw_pty': 'raw_ec_uart_pty', 'source': 'EC'}, |
Wai-Hong Tam | 6c0fa59 | 2017-04-21 12:41:33 -0700 | [diff] [blame] | 64 | ] |
Simran Basi | e750a34 | 2013-03-12 13:45:26 -0700 | [diff] [blame] | 65 | |
Simran Basi | a9ad25e | 2013-04-23 11:57:00 -0700 | [diff] [blame] | 66 | INTERFACE_DEFAULTS[0x0403][0x6014] = INTERFACE_DEFAULTS[0x18d1][0x5004] |
| 67 | |
Nick Sanders | 12d4cd1 | 2016-04-11 22:47:48 -0700 | [diff] [blame] | 68 | # Ryu Raiden CCD |
| 69 | RAIDEN_DEFAULTS = [(0x18d1, 0x500f)] |
| 70 | for vid, pid in RAIDEN_DEFAULTS: |
| 71 | INTERFACE_DEFAULTS[vid][pid] = \ |
Wai-Hong Tam | 564c170 | 2017-04-24 09:23:38 -0700 | [diff] [blame] | 72 | ['dummy', |
| 73 | {'name': 'stm32_uart', 'interface': 0}, # 1: EC_PD |
Nick Sanders | 12d4cd1 | 2016-04-11 22:47:48 -0700 | [diff] [blame] | 74 | {'name': 'stm32_uart', 'interface': 1}, # 2: AP |
| 75 | 'dummy', # 3 |
| 76 | 'dummy', # 4 |
| 77 | 'dummy', # 5 |
| 78 | 'dummy', # 6 |
| 79 | 'dummy', # 7 |
| 80 | 'dummy', # 8 |
| 81 | 'dummy', # 9 |
| 82 | {'name': 'ec3po_uart', #10: dut ec console |
Nick Sanders | 116ed9e | 2018-03-09 19:05:16 -0800 | [diff] [blame^] | 83 | 'raw_pty': 'raw_ec_uart_pty', 'source': 'EC'}, |
Nick Sanders | 12d4cd1 | 2016-04-11 22:47:48 -0700 | [diff] [blame] | 84 | ] |
Nick Sanders | 97bc446 | 2016-01-04 15:37:31 -0800 | [diff] [blame] | 85 | |
Nick Sanders | 5bf796b | 2016-07-20 23:30:04 -0700 | [diff] [blame] | 86 | # cr50 CCD |
| 87 | CCD_DEFAULTS = [(0x18d1, 0x5014)] |
| 88 | for vid, pid in CCD_DEFAULTS: |
| 89 | INTERFACE_DEFAULTS[vid][pid] = \ |
Wai-Hong Tam | 564c170 | 2017-04-24 09:23:38 -0700 | [diff] [blame] | 90 | ['dummy', |
Wai-Hong Tam | 08f6e85 | 2017-05-17 17:03:07 -0700 | [diff] [blame] | 91 | {'name': 'stm32_uart', 'interface': 0}, # 1: Cr50 console |
Mary Ruthven | d25113b | 2016-11-16 13:16:30 -0800 | [diff] [blame] | 92 | {'name': 'stm32_i2c', 'interface': 5}, # 2: i2c |
Wai-Hong Tam | b74b791 | 2017-04-24 12:35:35 -0700 | [diff] [blame] | 93 | 'dummy', # 3 |
Wai-Hong Tam | 08f6e85 | 2017-05-17 17:03:07 -0700 | [diff] [blame] | 94 | 'dummy', # 4 |
Wai-Hong Tam | b74b791 | 2017-04-24 12:35:35 -0700 | [diff] [blame] | 95 | 'dummy', # 5 |
| 96 | 'dummy', # 6 |
| 97 | {'name': 'stm32_uart', 'interface': 2}, # 7: EC/PD |
| 98 | {'name': 'stm32_uart', 'interface': 1}, # 8: AP |
| 99 | {'name': 'ec3po_uart', # 9: EC3PO(Cr50) |
Nick Sanders | 116ed9e | 2018-03-09 19:05:16 -0800 | [diff] [blame^] | 100 | 'raw_pty': 'raw_cr50_uart_pty', 'source': 'Cr50'}, |
Wai-Hong Tam | b74b791 | 2017-04-24 12:35:35 -0700 | [diff] [blame] | 101 | {'name': 'ec3po_uart', #10: EC3PO(EC) |
Nick Sanders | 116ed9e | 2018-03-09 19:05:16 -0800 | [diff] [blame^] | 102 | 'raw_pty': 'raw_ec_uart_pty', 'source': 'EC'}, |
Nick Sanders | 5bf796b | 2016-07-20 23:30:04 -0700 | [diff] [blame] | 103 | ] |
| 104 | |
Nick Sanders | 97bc446 | 2016-01-04 15:37:31 -0800 | [diff] [blame] | 105 | # Servo micro |
| 106 | SERVO_MICRO_DEFAULTS = [(0x18d1, 0x501a)] |
| 107 | for vid, pid in SERVO_MICRO_DEFAULTS: |
| 108 | INTERFACE_DEFAULTS[vid][pid] = \ |
Wai-Hong Tam | 564c170 | 2017-04-24 09:23:38 -0700 | [diff] [blame] | 109 | ['dummy', |
Wai-Hong Tam | 08f6e85 | 2017-05-17 17:03:07 -0700 | [diff] [blame] | 110 | {'name': 'stm32_uart', 'interface': 0}, # 1: PD/Cr50 console |
Nicolas Boichat | 11be0fb | 2017-06-30 14:38:37 +0800 | [diff] [blame] | 111 | {'name': 'stm32_i2c', 'interface': 4}, # 2: i2c |
Nick Sanders | 97bc446 | 2016-01-04 15:37:31 -0800 | [diff] [blame] | 112 | {'name': 'stm32_uart', 'interface': 3}, # 3: servo console |
Nicolas Boichat | 11be0fb | 2017-06-30 14:38:37 +0800 | [diff] [blame] | 113 | 'dummy', # 4: dummy |
Wai-Hong Tam | 7312f81 | 2017-04-24 12:13:24 -0700 | [diff] [blame] | 114 | 'dummy', # 5: dummy |
Wai-Hong Tam | cadc919 | 2017-04-24 12:23:52 -0700 | [diff] [blame] | 115 | {'name': 'ec3po_uart', # 6: servo console |
Nick Sanders | 116ed9e | 2018-03-09 19:05:16 -0800 | [diff] [blame^] | 116 | 'raw_pty': 'raw_servo_console_pty', 'source': 'servo_micro'}, |
Wai-Hong Tam | cadc919 | 2017-04-24 12:23:52 -0700 | [diff] [blame] | 117 | {'name': 'stm32_uart', 'interface': 6}, # 7: uart1/EC console |
Wai-Hong Tam | 7312f81 | 2017-04-24 12:13:24 -0700 | [diff] [blame] | 118 | {'name': 'stm32_uart', 'interface': 5}, # 8: uart2/AP console |
Wai-Hong Tam | 08f6e85 | 2017-05-17 17:03:07 -0700 | [diff] [blame] | 119 | {'name': 'ec3po_uart', # 9: EC3PO for PD/Cr50 |
Nick Sanders | 116ed9e | 2018-03-09 19:05:16 -0800 | [diff] [blame^] | 120 | 'raw_pty': 'raw_usbpd_uart_pty', 'source': 'PD/Cr50'}, |
Wai-Hong Tam | 08f6e85 | 2017-05-17 17:03:07 -0700 | [diff] [blame] | 121 | {'name': 'ec3po_uart', #10: EC3PO for EC |
Nick Sanders | 116ed9e | 2018-03-09 19:05:16 -0800 | [diff] [blame^] | 122 | 'raw_pty': 'raw_ec_uart_pty', 'source': 'EC'}, |
Nick Sanders | 97bc446 | 2016-01-04 15:37:31 -0800 | [diff] [blame] | 123 | ] |
| 124 | |
| 125 | # Servo v4 |
| 126 | SERVO_V4_DEFAULTS = [(0x18d1, 0x501b)] |
Wai-Hong Tam | 4544c30 | 2017-05-24 19:44:53 -0700 | [diff] [blame] | 127 | SERVO_V4_SLOT_SIZE = 20 |
| 128 | SERVO_V4_SLOT_POSITIONS = { |
| 129 | 'default': 1, |
| 130 | 'hammer': 41, |
Wai-Hong Tam | cfd4c4a | 2017-08-31 15:50:11 -0700 | [diff] [blame] | 131 | 'staff': 41, |
Wai-Hong Tam | 4544c30 | 2017-05-24 19:44:53 -0700 | [diff] [blame] | 132 | } |
| 133 | SERVO_V4_CONFIGS = { |
| 134 | 'hammer': 'servo_micro_for_hammer.xml', |
Wai-Hong Tam | cfd4c4a | 2017-08-31 15:50:11 -0700 | [diff] [blame] | 135 | 'staff': 'servo_micro_for_hammer.xml', |
Wai-Hong Tam | 4544c30 | 2017-05-24 19:44:53 -0700 | [diff] [blame] | 136 | } |
Nick Sanders | 97bc446 | 2016-01-04 15:37:31 -0800 | [diff] [blame] | 137 | for vid, pid in SERVO_V4_DEFAULTS: |
Wai-Hong Tam | 564c170 | 2017-04-24 09:23:38 -0700 | [diff] [blame] | 138 | # Interface #0 is reserved for no use. |
| 139 | INTERFACE_DEFAULTS[vid][pid] = ['dummy'] |
| 140 | |
Wai-Hong Tam | 4544c30 | 2017-05-24 19:44:53 -0700 | [diff] [blame] | 141 | # Dummy slots for servo micro/CCD use (interface #1-20). |
| 142 | INTERFACE_DEFAULTS[vid][pid] += ['dummy'] * SERVO_V4_SLOT_SIZE |
Kevin Cheng | 5c66721 | 2016-07-07 10:58:04 -0700 | [diff] [blame] | 143 | |
| 144 | # Servo v4 interfaces. |
| 145 | INTERFACE_DEFAULTS[vid][pid] += \ |
Nick Sanders | 9d05d63 | 2017-11-01 22:06:25 -0700 | [diff] [blame] | 146 | ['dummy', #21: just nothing. |
Kevin Cheng | 5c66721 | 2016-07-07 10:58:04 -0700 | [diff] [blame] | 147 | {'name': 'stm32_uart', 'interface': 0}, #22: servo console. |
| 148 | {'name': 'stm32_i2c', 'interface': 2}, #23: i2c |
| 149 | {'name': 'stm32_uart', 'interface': 3}, #24: dut sbu uart |
| 150 | {'name': 'stm32_uart', 'interface': 4}, #25: atmega uart |
| 151 | {'name': 'ec3po_uart', #26: servo v4 console |
Nick Sanders | 116ed9e | 2018-03-09 19:05:16 -0800 | [diff] [blame^] | 152 | 'raw_pty': 'raw_servo_v4_console_pty', 'source': 'servo_v4'}, |
Nick Sanders | 97bc446 | 2016-01-04 15:37:31 -0800 | [diff] [blame] | 153 | ] |
| 154 | |
Wai-Hong Tam | 4544c30 | 2017-05-24 19:44:53 -0700 | [diff] [blame] | 155 | # Buffer slots for servo v4 (interface #27-40). |
| 156 | INTERFACE_DEFAULTS[vid][pid] += ['dummy'] * (40 - 27 + 1) |
| 157 | |
| 158 | # Slots for relocating Hammer interfaces. |
| 159 | INTERFACE_DEFAULTS[vid][pid] += ['dummy'] * SERVO_V4_SLOT_SIZE |
| 160 | |
Simran Basi | e750a34 | 2013-03-12 13:45:26 -0700 | [diff] [blame] | 161 | # miniservo |
| 162 | MINISERVO_ID_DEFAULTS = [(0x403, 0x6001), (0x18d1, 0x5000)] |
| 163 | for vid, pid in MINISERVO_ID_DEFAULTS: |
Wai-Hong Tam | 6c0fa59 | 2017-04-21 12:41:33 -0700 | [diff] [blame] | 164 | INTERFACE_DEFAULTS[vid][pid] = \ |
Wai-Hong Tam | 564c170 | 2017-04-24 09:23:38 -0700 | [diff] [blame] | 165 | ['dummy', |
Wai-Hong Tam | d8a94d6 | 2017-04-28 10:11:51 -0700 | [diff] [blame] | 166 | 'ftdi_gpiouart', # occupies 2 slots |
| 167 | 'dummy', # reserved for the above ftdi_gpiouart |
Nick Sanders | 116ed9e | 2018-03-09 19:05:16 -0800 | [diff] [blame^] | 168 | {'name': 'ec3po_uart', 'raw_pty': 'raw_ec_uart_pty', 'source': 'EC'}, |
Wai-Hong Tam | 6c0fa59 | 2017-04-21 12:41:33 -0700 | [diff] [blame] | 169 | ] |
Simran Basi | e750a34 | 2013-03-12 13:45:26 -0700 | [diff] [blame] | 170 | |
| 171 | SERVO_ID_DEFAULTS.extend(MINISERVO_ID_DEFAULTS) |
Vincent Palatin | f536f00 | 2013-04-11 12:43:49 -0700 | [diff] [blame] | 172 | |
| 173 | # Toad |
| 174 | TOAD_ID_DEFAULTS = [(0x403, 0x6015)] |
| 175 | for vid, pid in TOAD_ID_DEFAULTS: |
Wai-Hong Tam | 6c0fa59 | 2017-04-21 12:41:33 -0700 | [diff] [blame] | 176 | INTERFACE_DEFAULTS[vid][pid] = \ |
Wai-Hong Tam | 564c170 | 2017-04-24 09:23:38 -0700 | [diff] [blame] | 177 | ['dummy', |
Wai-Hong Tam | d8a94d6 | 2017-04-28 10:11:51 -0700 | [diff] [blame] | 178 | 'ftdi_gpiouart', # occupies 2 slots |
| 179 | 'dummy', # reserved for the above ftdi_gpiouart |
Nick Sanders | 116ed9e | 2018-03-09 19:05:16 -0800 | [diff] [blame^] | 180 | {'name': 'ec3po_uart', 'raw_pty': 'raw_ec_uart_pty', 'source': 'EC'}, |
Wai-Hong Tam | 6c0fa59 | 2017-04-21 12:41:33 -0700 | [diff] [blame] | 181 | ] |
Vincent Palatin | f536f00 | 2013-04-11 12:43:49 -0700 | [diff] [blame] | 182 | |
| 183 | SERVO_ID_DEFAULTS.extend(TOAD_ID_DEFAULTS) |
Vincent Palatin | 32fbecb | 2013-10-23 13:32:47 -0700 | [diff] [blame] | 184 | |
| 185 | # Reston |
| 186 | RESTON_ID_DEFAULTS = [(0x18d1, 0x5007)] |
| 187 | for vid, pid in RESTON_ID_DEFAULTS: |
Wai-Hong Tam | 6c0fa59 | 2017-04-21 12:41:33 -0700 | [diff] [blame] | 188 | INTERFACE_DEFAULTS[vid][pid] = \ |
Wai-Hong Tam | 564c170 | 2017-04-24 09:23:38 -0700 | [diff] [blame] | 189 | ['dummy', |
Wai-Hong Tam | d8a94d6 | 2017-04-28 10:11:51 -0700 | [diff] [blame] | 190 | 'ftdi_gpiouart', # occupies 2 slots |
| 191 | 'dummy', # reserved for the above ftdi_gpiouart |
Nick Sanders | 116ed9e | 2018-03-09 19:05:16 -0800 | [diff] [blame^] | 192 | {'name': 'ec3po_uart', 'raw_pty': 'raw_ec_uart_pty', 'source': 'EC'}, |
Wai-Hong Tam | 6c0fa59 | 2017-04-21 12:41:33 -0700 | [diff] [blame] | 193 | ] |
Vincent Palatin | 32fbecb | 2013-10-23 13:32:47 -0700 | [diff] [blame] | 194 | |
| 195 | SERVO_ID_DEFAULTS.extend(RESTON_ID_DEFAULTS) |
Vincent Palatin | 77629ac | 2014-03-21 09:33:13 -0700 | [diff] [blame] | 196 | |
| 197 | # Fruitpie |
| 198 | FRUITPIE_ID_DEFAULTS = [(0x18d1, 0x5009)] |
| 199 | for vid, pid in FRUITPIE_ID_DEFAULTS: |
Wai-Hong Tam | 6c0fa59 | 2017-04-21 12:41:33 -0700 | [diff] [blame] | 200 | INTERFACE_DEFAULTS[vid][pid] = \ |
Wai-Hong Tam | 564c170 | 2017-04-24 09:23:38 -0700 | [diff] [blame] | 201 | ['dummy', |
Wai-Hong Tam | d8a94d6 | 2017-04-28 10:11:51 -0700 | [diff] [blame] | 202 | 'ftdi_gpiouart', # occupies 2 slots |
| 203 | 'dummy', # reserved for the above ftdi_gpiouart |
Nick Sanders | 116ed9e | 2018-03-09 19:05:16 -0800 | [diff] [blame^] | 204 | {'name': 'ec3po_uart', 'raw_pty': 'raw_ec_uart_pty', 'source': 'EC'}, |
Wai-Hong Tam | 6c0fa59 | 2017-04-21 12:41:33 -0700 | [diff] [blame] | 205 | ] |
Vincent Palatin | 77629ac | 2014-03-21 09:33:13 -0700 | [diff] [blame] | 206 | |
| 207 | SERVO_ID_DEFAULTS.extend(FRUITPIE_ID_DEFAULTS) |
Todd Broch | b21d804 | 2014-05-15 12:54:54 -0700 | [diff] [blame] | 208 | |
Alec Berg | e754980 | 2014-07-14 11:52:36 -0700 | [diff] [blame] | 209 | # Plankton |
| 210 | PLANKTON_ID_DEFAULTS = [(0x18d1, 0x500c)] |
| 211 | for vid, pid in PLANKTON_ID_DEFAULTS: |
Wai-Hong Tam | 6c0fa59 | 2017-04-21 12:41:33 -0700 | [diff] [blame] | 212 | INTERFACE_DEFAULTS[vid][pid] = \ |
Wai-Hong Tam | 564c170 | 2017-04-24 09:23:38 -0700 | [diff] [blame] | 213 | ['dummy', |
Wai-Hong Tam | d8a94d6 | 2017-04-28 10:11:51 -0700 | [diff] [blame] | 214 | 'ftdi_gpiouart', # occupies 2 slots |
| 215 | 'dummy', # reserved for the above ftdi_gpiouart |
Nick Sanders | 116ed9e | 2018-03-09 19:05:16 -0800 | [diff] [blame^] | 216 | {'name': 'ec3po_uart', 'raw_pty': 'raw_ec_uart_pty', 'source': 'EC'}, |
Wai-Hong Tam | 6c0fa59 | 2017-04-21 12:41:33 -0700 | [diff] [blame] | 217 | ] |
Alec Berg | e754980 | 2014-07-14 11:52:36 -0700 | [diff] [blame] | 218 | |
| 219 | SERVO_ID_DEFAULTS.extend(PLANKTON_ID_DEFAULTS) |
| 220 | |
Todd Broch | b21d804 | 2014-05-15 12:54:54 -0700 | [diff] [blame] | 221 | # 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] | 222 | # pinout functionality. To-date just swapping EC SPI and JTAG interfaces for |
Todd Broch | 82e7a7a | 2016-10-25 10:54:48 -0700 | [diff] [blame] | 223 | # USB PD MCU UART. Note this can NOT be done on servo V3. See crbug.com/567842 |
| 224 | # for details. |
Todd Broch | b21d804 | 2014-05-15 12:54:54 -0700 | [diff] [blame] | 225 | INTERFACE_BOARDS = collections.defaultdict( |
| 226 | lambda: collections.defaultdict(dict)) |
Duncan Laurie | 0728aa8 | 2015-10-26 13:56:08 -0700 | [diff] [blame] | 227 | |
Todd Broch | 82e7a7a | 2016-10-25 10:54:48 -0700 | [diff] [blame] | 228 | # re-purposes EC SPI to be UART for USBPD MCU |
Aseda Aboagye | d4afa0d | 2017-08-09 12:24:49 -0700 | [diff] [blame] | 229 | for board in ['elm', 'hana', 'oak', 'samus']: |
Todd Broch | 82e7a7a | 2016-10-25 10:54:48 -0700 | [diff] [blame] | 230 | INTERFACE_BOARDS[board][0x18d1][0x5002] = \ |
| 231 | list(INTERFACE_DEFAULTS[0x18d1][0x5002]) |
Wai-Hong Tam | 564c170 | 2017-04-24 09:23:38 -0700 | [diff] [blame] | 232 | INTERFACE_BOARDS[board][0x18d1][0x5002][6] = 'ftdi_uart' |
Todd Broch | 82e7a7a | 2016-10-25 10:54:48 -0700 | [diff] [blame] | 233 | |
Nicolas Boichat | c02d087 | 2017-03-24 08:25:06 +0800 | [diff] [blame] | 234 | # re-purposes JTAG to be UART for USBPD MCU or H1 |
Shelley Chen | c9d4a27 | 2017-08-24 15:41:07 -0700 | [diff] [blame] | 235 | for board in ['asuka', 'caroline', 'cave', 'chell', 'eve', 'fizz', 'glados', |
Shawn Nematbakhsh | 22a9c61 | 2018-01-16 14:52:58 -0800 | [diff] [blame] | 236 | 'grunt', 'kunimitsu', 'lars', 'meowth', 'nami', 'nautilus', |
| 237 | 'pbody', 'poppy', 'reef', 'scarlet', 'sentry', 'soraka', 'strago', |
Kaiyen Chang | c413fd3 | 2017-12-27 15:52:02 +0800 | [diff] [blame] | 238 | 'zoombini']: |
Todd Broch | 82e7a7a | 2016-10-25 10:54:48 -0700 | [diff] [blame] | 239 | INTERFACE_BOARDS[board][0x18d1][0x5002] = \ |
| 240 | list(INTERFACE_DEFAULTS[0x18d1][0x5002]) |
Wai-Hong Tam | 564c170 | 2017-04-24 09:23:38 -0700 | [diff] [blame] | 241 | INTERFACE_BOARDS[board][0x18d1][0x5002][1] = 'ftdi_uart' |