mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-12-28 02:35:28 +00:00
Cr50 needs to connect to the AP phy when not in ccd so cr50 can be updated and used as a gnubby. This change uses the strapping options to detect when it is on reef and modifies the ccd behavior to initialize usb on the AP phy when ccd is disabled. On gru the cr50 behavior is unchanged. In RDD this change removes the checks that the current_map is the correct one based on the detected debug state. rdd_init calls rdd_interrupt to set up the usb and ccd state correctly. Having that check prevents that initial rdd_interrupt from calling rdd_detached. Before rdd_detached just disabled usb and we knew during init it would already be disabled. Now we want to make sure it is called if a debug accessory is not attached to initialize usb on the AP PHY. BUG=chrome-os-partner:56098 BRANCH=none TEST=manual verify ccd still works on gru disconnect suzyq and reset reef. run lsusb on the AP and verify it shows cr50 as a device. connect suzyq and check that the AP no longer sees cr50. disconnect suzyq and verify the AP sees it again Change-Id: I3c1ccc54895835bce12302f3ea43fc2e751b4c97 Signed-off-by: Mary Ruthven <mruthven@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/372920 Reviewed-by: Vadim Bendebury <vbendeb@chromium.org>
41 lines
1.0 KiB
C
41 lines
1.0 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 interface
|
|
*/
|
|
#ifndef __CROS_EC_CASE_CLOSED_DEBUG_H
|
|
#define __CROS_EC_CASE_CLOSED_DEBUG_H
|
|
|
|
enum ccd_mode {
|
|
/*
|
|
* The disabled mode tri-states the DP and DN lines.
|
|
*/
|
|
CCD_MODE_DISABLED,
|
|
|
|
/*
|
|
* The partial mode allows some CCD functionality and is to be set
|
|
* when the device is write protected and a CCD cable is detected.
|
|
* This mode gives access to the APs console.
|
|
*/
|
|
CCD_MODE_PARTIAL,
|
|
|
|
/*
|
|
* The fully enabled mode is used in factory and test lab
|
|
* configurations where it is acceptable to be able to reflash the
|
|
* device over CCD.
|
|
*/
|
|
CCD_MODE_ENABLED,
|
|
|
|
CCD_MODE_COUNT,
|
|
};
|
|
|
|
/*
|
|
* Set current CCD mode, this function is idempotent.
|
|
*/
|
|
void ccd_set_mode(enum ccd_mode new_mode);
|
|
|
|
/* Initialize the PHY based on CCD state */
|
|
void ccd_phy_init(int enable_ccd);
|
|
#endif /* __CROS_EC_CASE_CLOSED_DEBUG_H */
|