diff -r f92a4f87e424 -r 012cc2ee6408 usbmgmt/usbmgr/usbman/chargingplugin/public/usbchargingpublishedinfo.h --- a/usbmgmt/usbmgr/usbman/chargingplugin/public/usbchargingpublishedinfo.h Tue Aug 31 17:01:47 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,195 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: -* -*/ - -/** @file - @brief USB charging information header - @version 0.2.0 - - This header specifies the published information of USB charging plug-in. - @publishedPartner -*/ - -#ifndef USBCHARGINGPUBLISHEDINFO_H -#define USBCHARGINGPUBLISHEDINFO_H - -#include - - -/** this is only applicable when charging port is a Standard Downstream Port -*/ -enum TUsbConnectionStatus - { - /** this is the initial value. */ - EUsbConnectionStatusNone, - - /** This status means that this USB device is in suspend state. */ - EUsbConnectionStatusSuspend, - - /** This status means that this USB device is in configured state. */ - EUsbConnectionStatusConfigured - }; - -enum TUsbChargingPortType - { - /** - * This device is no longer connected to a powered port. - * iMinAvailableVbusCurrent, iMaxVbusCurrent and iMinVbusVoltage are 0. - * iUsbConnStatus is EUsbConnectionStatusNone. - */ - EUsbChargingPortTypeNone = 0, - - /** - * This device is connected to a port that can't be recognized. - * iMinAvailableVbusCurrent, iMaxVbusCurrent and iMinVbusVoltage are 0. - * iUsbConnStatus is EUsbConnectionStatusNone. - */ - EUsbChargingPortTypeUnsupported, - - /** - * This device is connected to a charging port. - * This is not an exact port type and the port may be a dedicated charging port or a charging downstream port. - * For there is more constraint on charging downstream port output, current and voltage are computed according - * to charging downstream port. - * See below for detail. - */ - EUsbChargingPortTypeChargingPort, - - /** - * This device is connected to a dedicated charging port. - * iMinAvailableVbusCurrent is 500mA (refer to min IDCHG in table 5-2 of BC1.1). - * iMaxVbusCurrent is 1800mA (refer to IDEV_DCHG in table 5-2 of BC1.1). - * iMinVbusVoltage is 2000mV ( refer to VCHG_SHT_DWN in table 5-1 of BC1.1). - * iUsbConnStatus is EUsbConnectionStatusNone. - */ - EUsbChargingPortTypeDedicatedChargingPort, - - /** - * This device is connected to a charging downstream port. - * - If this device works at low speed or full speed mode. - * - iMinAvailableVbusCurrent is 500mA (refer to min IDCHG in table 5-2 of BC1.1). - * - iMaxVbusCurrent is 1500mA (refer to IDEV_HCHG_LFS in table 5-2 of BC1.1). - * - iMinVbusVoltage is 2000mV (refer to VCHG_SHT_DWN in table 5-1 of BC1.1). - * - iUsbConnStatus is EUsbConnectionStatusNone. - * - * - If this device works at high speed. - * - if USB hardware supports current limit when chirping. - * - iMinAvailableVbusCurrent is 500mA (refer to min IDCHG in table 5-2 of BC1.1). - * - iMaxVbusCurrent is 900mA (refer to IDEV_HCHG_HS in table 5-2 of BC1.1). - * - iMinVbusVoltage is 2000mV (refer to VCHG_SHT_DWN in table 5-1 of BC1.1). - * - iUsbConnStatus is EUsbConnectionStatusNone - * - if USB hardware does not support current limit when chirping - * - iMinAvailableVbusCurrent is 500mA (refer to min IDCHG in table 5-2 of BC1.1). - * - iMaxVbusCurrent is 560mA (refer to IDEV_HCHG_CHRP in table 5-2 of BC1.1). - * - iMinVbusVoltage is 2000mV (refer to VCHG_SHT_DWN in table 5-1 of BC1.1). - * - iUsbConnStatus is EUsbConnectionStatusNone. - */ - EUsbChargingPortTypeChargingDownstreamPort, - - /** This device is connected to a standard downstream port. - * This device negoiates the charging current with standard host by configuration descriptor. There are three numbers of - * milliamps that can be negoiated, 500mA, 100mA and 8mA. - * - if any of the three numbers is acceptted by host. - * - if this device is in configured state. - * - iMinAvailableVbusCurrent and iMaxVbusCurrent are 500mA or 100mA or 8mA. - * - iUsbConnStatus is EUsbConnectionStatusConfigured. - * - if this device is in suspend state. - * - iMinAvailableVbusCurrent and iMaxVbusCurrent are 2mA (refer to ISUSP in table 5-2 of BC1.1). - * - iUsbConnStatus is EUsbConnectionStatusSuspend. - * - iMinVbusVoltage is 4500mV in both cases. 4.5 V comes from the port supply requirement 4.75 V with the worst case - * voltage drops for 500 mA current taken into account. That is: 4.75 V - VGNDD - VBUSD = 4.75 V - 0.125 V - 0.125 V = 4.5 V. - * See Section 7.2.2 Voltage Drop Budget in USB 2.0 spec. - * - * - if none of the three numbers is acceptted by host. - * - iMinAvailableVbusCurrent, iMaxVbusCurrent and iMinVbusVoltage are 0 and iUsbConnStatus is EUsbConnectionStatusNone. - */ - EUsbChargingPortTypeStandardDownstreamPort, - - /** This device is connected to an ACA and ID pin status is RidA. - * When ID pin status is RidA, this device works as A-device and is connected to an ACA. The ACA is connected with a charger - * or a charging downstream port on ACA's charging port and may be connected to a B-device on ACA's accessory port. - * The B-device can draw current from the charger. - * iMinAvailableVbusCurrent is not more than 500mA. This value comes from 500mA (min IDCHG refer to in table 5-2 of BC1.1) minus the current that B-device - * can draw. This value is maxpower field of B-device configuration descriptor. If there is no connected B-device, minus 0 from 500mA. - * iMaxVbusCurrent is 1500mA (refer to max IDCHG in table 5-2 of BC1.1). For ACA can't distinguish a charger and a charging downstream - * port so we select more contraint output. - * iMinVbusVoltage is 2000mV (refer to VCHG_SHT_DWN in table 5-1 of BC1.1). - * iUsbConnStatus is EUsbConnectionStatusNone. - */ - EUsbChargingPortTypeAcaRidA, - - /** This device is connected to an ACA and ID pin status is RidB - * When ID pin status is RidB, this device works as a B-device and is connected to an ACA. The ACA is connected with a charger or a - * charging downstream port on ACA's charging port. ACA may also be connected to A-device on accessory port but A-device VBUS - * powers off. A-device shall not draw current from the accessory port. - * iMinAvailableVbusCurrent is 500mA (refer to min IDCHG in table 5-2 of BC1.1). - * iMaxVbusCurrent is 1500mA (refer to max IDCHG in table 5-2 of BC1.1). - * iMinVbusVoltage is 2000mV (refer to VCHG_SHT_DWN in table 5-1 of BC1.1). - * iUsbConnStatus is EUsbConnectionStatusNone. - */ - EUsbChargingPortTypeAcaRidB, - - /** This device is connected to an ACA and ID pin status is RidC - * When ID pin status is RidC, this device work as a B-device and is connected to an ACA. The ACA is connected with a charger or - * a charging downstream port on ACA's charging port and a A-device on accessory port. The A-device VBus powers on. A-device - * shall not draw current from accessory port. - * iMinAvailableVbusCurrent is 500mA (refer to min IDCHG in table 5-2 of BC1.1). - * iMaxVbusCurrent is 1500mA (refer to max IDCHG in table 5-2 of BC1.1). - * iMinVbusVoltage is 2000mV (refer to VCHG_SHT_DWN in table 5-1 of BC1.1). - * iUsbConnStatus is EUsbConnectionStatusNone. - */ - EUsbChargingPortTypeAcaRidC - }; - -/** -* the P&S key category of published charing information. -*/ -const TUid KPropertyUidUsbBatteryChargingCategory = {0x101fe1db}; - -/** -* the P&S key ID of published charing information. -*/ -const TUint KPropertyUidUsbBatteryChargingInfo = 1; - -/** -* the structure of published charing information, data in P&S is a TPckgBuf wrappering this structure -*/ -NONSHARABLE_STRUCT(TPublishedUsbChargingInfo) - { - /** the port type this device connects to. */ - TUsbChargingPortType iChargingPortType; - - /** this field is only appliable when this device connects to a standard downstream port. */ - TUsbConnectionStatus iUsbConnStatus; - - /** - * This is the number of milliamps in unit 1 mA that can safely be drawn from VBUS - * without needing to observe the VBUS level. - */ - TUint16 iMinAvailableVbusCurrent; - - /** - * This is the number of milliamps that can be drawn from VBus in unit 1 mA. VBUS Level may drop down and must be monitored - * to prevent VBUS Level drop below iMaxVbusCurrent. - */ - TUint16 iMaxVbusCurrent; - - /** VBUS Level must be above this number when charging and this number is in unit 1 mV. */ - TUint16 iMinVbusVoltage; - }; - - -#endif // USBCHARGINGPUBLISHEDINFO_H