blob: f6afd88c3557aa1417a7f441c65a49f790800810 [file] [log] [blame]
Simran Basie750a342013-03-12 13:45:26 -07001# 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."""
5import collections
6
7INTERFACE_DEFAULTS = collections.defaultdict(dict)
8
9SERVO_ID_DEFAULTS = [(0x0403, 0x6011), (0x18d1, 0x5001), (0x18d1, 0x5002),
10 (0x18d1, 0x5004)]
11
12# servo v1 w/o FT4232h EEPROM programmed
13INTERFACE_DEFAULTS[0x0403][0x6011] = ['ftdi_gpio', 'ftdi_i2c',
14 'ftdi_gpio', 'ftdi_gpio']
15# servo v1
16INTERFACE_DEFAULTS[0x18d1][0x5001] = ['ftdi_gpio', 'ftdi_i2c',
17 'ftdi_gpio', 'ftdi_gpio']
18# servo V2
19# Dummy interface 0 == JTAG via openocd
20# Dummy interface 4,5 == SPI via flashrom
21INTERFACE_DEFAULTS[0x18d1][0x5002] = \
22 ['dummy', 'ftdi_i2c', 'ftdi_uart', 'ftdi_uart', 'dummy',
23 'dummy', 'ftdi_uart', 'ftdi_uart']
24
25# servo v3
26# Dummy interface 0 == JTAG via openocd
27# Dummy interface 4,5 == SPI via flashrom
28INTERFACE_DEFAULTS[0x18d1][0x5004] = \
29 ['dummy', 'bb_i2c', 'bb_uart', 'bb_uart', 'dummy',
30 'dummy', 'bb_uart', 'bb_uart']
31
32# miniservo
33MINISERVO_ID_DEFAULTS = [(0x403, 0x6001), (0x18d1, 0x5000)]
34for vid, pid in MINISERVO_ID_DEFAULTS:
35 INTERFACE_DEFAULTS[vid][pid] = ['ftdi_gpiouart']
36
37SERVO_ID_DEFAULTS.extend(MINISERVO_ID_DEFAULTS)