mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-12-27 18:25:05 +00:00
To be able to identify different cr50 devices connected to the same machine we need a serial number. This change uses dev id 0 and 1 to come up with one. BUG=chrome-os-partner:56641 BUG=chrome-os-partner:58342 BRANCH=none TEST=lsusb -vd 18d1:5014 | grep iSerial shows different numbers for different devices. Verify when ccd is disabled the serial number is 0. Change-Id: I85c54af4a21bdfd0542019c02aa8420d9a879fae Signed-off-by: Mary Ruthven <mruthven@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/395633 Reviewed-by: Bill Richardson <wfrichar@chromium.org>
68 lines
1.5 KiB
C
68 lines
1.5 KiB
C
/* Copyright (c) 2014 The Chromium OS Authors. All rights reserved.
|
|
* Use of this source code is governed by a BSD-style license that can be
|
|
* found in the LICENSE file.
|
|
*
|
|
* Case Closed Debug common implementation
|
|
*/
|
|
|
|
#include "case_closed_debug.h"
|
|
|
|
#include "common.h"
|
|
#include "usb_api.h"
|
|
#include "usb_console.h"
|
|
#include "usb_spi.h"
|
|
|
|
#if !defined(CONFIG_USB)
|
|
#error "CONFIG_USB must be defined to use Case Closed Debugging"
|
|
#endif
|
|
|
|
#if !defined(CONFIG_USB_CONSOLE)
|
|
#error "CONFIG_USB_CONSOLE must be defined to use Case Closed Debugging"
|
|
#endif
|
|
|
|
#if !defined(CONFIG_USB_INHIBIT_INIT)
|
|
#error "CONFIG_USB_INHIBIT_INIT must be defined to use Case Closed Debugging"
|
|
#endif
|
|
|
|
#if defined(CONFIG_USB_SPI)
|
|
USB_SPI_CONFIG(ccd_usb_spi, USB_IFACE_SPI, USB_EP_SPI);
|
|
#endif
|
|
|
|
static enum ccd_mode current_mode = CCD_MODE_COUNT;
|
|
|
|
void ccd_set_mode(enum ccd_mode new_mode)
|
|
{
|
|
if (new_mode == current_mode)
|
|
return;
|
|
|
|
#ifndef CONFIG_USB_SELECT_PHY
|
|
if (current_mode != CCD_MODE_DISABLED)
|
|
#endif
|
|
usb_release();
|
|
|
|
current_mode = new_mode;
|
|
|
|
/*
|
|
* The forwarding of the local console over USB is read-only
|
|
* if we are not in the fully enabled mode.
|
|
*/
|
|
usb_console_enable(new_mode != CCD_MODE_DISABLED,
|
|
new_mode != CCD_MODE_ENABLED);
|
|
|
|
#if defined(CONFIG_USB_SPI)
|
|
usb_spi_enable(&ccd_usb_spi, new_mode == CCD_MODE_ENABLED);
|
|
#endif
|
|
|
|
#ifdef CONFIG_USB_SELECT_PHY
|
|
ccd_phy_init(new_mode != CCD_MODE_DISABLED);
|
|
#else
|
|
if (new_mode != CCD_MODE_DISABLED)
|
|
usb_init();
|
|
#endif
|
|
}
|
|
|
|
enum ccd_mode ccd_get_mode(void)
|
|
{
|
|
return current_mode;
|
|
}
|