New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 661264 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Nov 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

servo_server _init_keyboard_handler can not set servo v4 atmega uart settings

Project Member Reported by kevcheng@chromium.org, Nov 1 2016

Issue description

servo v2/v3 have atmega_{baudrate,parity,sbits,bits}.

Add it in for servo v4 so that boards like zako can start up.
 
Cc: dchan@chromium.org
Summary: servo_server _init_keyboard_handler can not set servo v4 atmega uart settings (was: add in atmega_* controls for servo v4)
Should I just add a check to skip this setup if we have a v4?  Or is v4 keyboard emulation incompatible with: 

'buddy', 'cranky', 'guado', 'jecht', 'mccloud', 'monroe',
                   'ninja', 'nyan_kitty', 'panther', 'rikku', 'stumpy',
                   'sumo', 'tidus', 'tricky', 'veyron_fievel', 'veyron_mickey',
                   'veyron_rialto', 'veyron_tiger', 'zako'
cl that added the keyboard emulation setup was here: https://chromium-review.googlesource.com/#/c/310864/

      if self._usbkm232 == 'atmega':
        # Use servo onboard keyboard emulator.
        self.set('atmega_rst', 'on')
        self.set('at_hwb', 'off')
        self.set('atmega_rst', 'off')
        self._usbkm232 = self.get('atmega_pty')
        self.set('atmega_baudrate', '9600')
        self.set('atmega_bits', 'eight')
        self.set('atmega_parity', 'none')
        self.set('atmega_sbits', 'one')
        self.set('usb_mux_sel4', 'on')
        self.set('usb_mux_oe4', 'on')


servo v4 doesn't have any of those properties or sub_mux_{sel,oe}4 controls.   Is servo v4 not viable for those platforms that need this setup?

Comment 3 by dchan@chromium.org, Nov 1 2016

The setup are specified by Nick. 
The doc on setting up servo v2 and v3 is go/fwkeyboard
If v4 can do what's in 'Test the Setup' section', we don't need the atmega section (or may need some other setup to emulate keyboard)
Project Member

Comment 4 by bugdroid1@chromium.org, Nov 3 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/hdctools/+/810fc7835fa445fff353fafaca7d80ac86ae1fc5

commit 810fc7835fa445fff353fafaca7d80ac86ae1fc5
Author: Kevin Cheng <kevcheng@chromium.org>
Date: Tue Nov 01 19:36:46 2016

servod_server: update _init_keyboard_handler to handle v4.

Servo v4 is unable to set the uart properties for the atmega uart and
does not need the usb muxing setup as well.  Skip those steps in the
_init_keyboard_handler method for chromeboxes.

BUG= chromium:661264 
TEST=Tested keyboard emulation worked on guado and zako.

Change-Id: Ib65947489265a05e795bee3f457727940699ff5f
Reviewed-on: https://chromium-review.googlesource.com/405818
Commit-Ready: Kevin Cheng <kevcheng@chromium.org>
Tested-by: Kevin Cheng <kevcheng@chromium.org>
Reviewed-by: danny chan <dchan@chromium.org>

[modify] https://crrev.com/810fc7835fa445fff353fafaca7d80ac86ae1fc5/servo/servo_server.py

Status: Fixed (was: Untriaged)

Sign in to add a comment