| Index: arch/arm/mach-tegra/nv/include/nvrm_analog.h
|
| diff --git a/arch/arm/mach-tegra/nv/include/nvrm_analog.h b/arch/arm/mach-tegra/nv/include/nvrm_analog.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..fd53d1e62c9dd2f3fa9df9dc7a553ba959d2c35c
|
| --- /dev/null
|
| +++ b/arch/arm/mach-tegra/nv/include/nvrm_analog.h
|
| @@ -0,0 +1,217 @@
|
| +/*
|
| + * Copyright (c) 2009 NVIDIA Corporation.
|
| + * All rights reserved.
|
| + *
|
| + * Redistribution and use in source and binary forms, with or without
|
| + * modification, are permitted provided that the following conditions are met:
|
| + *
|
| + * Redistributions of source code must retain the above copyright notice,
|
| + * this list of conditions and the following disclaimer.
|
| + *
|
| + * Redistributions in binary form must reproduce the above copyright notice,
|
| + * this list of conditions and the following disclaimer in the documentation
|
| + * and/or other materials provided with the distribution.
|
| + *
|
| + * Neither the name of the NVIDIA Corporation nor the names of its contributors
|
| + * may be used to endorse or promote products derived from this software
|
| + * without specific prior written permission.
|
| + *
|
| + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
| + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
| + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
| + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
| + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
| + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
| + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
| + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
| + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
| + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
| + * POSSIBILITY OF SUCH DAMAGE.
|
| + *
|
| + */
|
| +
|
| +#ifndef INCLUDED_nvrm_analog_H
|
| +#define INCLUDED_nvrm_analog_H
|
| +
|
| +
|
| +#if defined(__cplusplus)
|
| +extern "C"
|
| +{
|
| +#endif
|
| +
|
| +#include "nvrm_module.h"
|
| +#include "nvrm_init.h"
|
| +
|
| +#include "nvodm_query.h"
|
| +
|
| +/**
|
| + * List of controllable analog interfaces. Multiple instances of any
|
| + * particlar interface will be handled by the NVRM_ANALOG_INTERFACE macro
|
| + * below.
|
| + */
|
| +
|
| +typedef enum
|
| +{
|
| + NvRmAnalogInterface_Dsi,
|
| + NvRmAnalogInterface_ExternalMemory,
|
| + NvRmAnalogInterface_Hdmi,
|
| + NvRmAnalogInterface_Lcd,
|
| + NvRmAnalogInterface_Uart,
|
| + NvRmAnalogInterface_Usb,
|
| + NvRmAnalogInterface_Sdio,
|
| + NvRmAnalogInterface_Tv,
|
| + NvRmAnalogInterface_VideoInput,
|
| + NvRmAnalogInterface_Num,
|
| + NvRmAnalogInterface_Force32 = 0x7FFFFFFF
|
| +} NvRmAnalogInterface;
|
| +
|
| +/**
|
| + * Defines the USB Line state
|
| + */
|
| +
|
| +typedef enum
|
| +{
|
| + NvRmUsbLineStateType_SE0 = 0,
|
| + NvRmUsbLineStateType_SJ = 1,
|
| + NvRmUsbLineStateType_SK = 2,
|
| + NvRmUsbLineStateType_SE1 = 3,
|
| + NvRmUsbLineStateType_Num,
|
| + NvRmUsbLineStateType_Force32 = 0x7FFFFFFF
|
| +} NvRmUsbLineStateType;
|
| +
|
| +/**
|
| + * List of analog TV DAC type
|
| + */
|
| +
|
| +typedef enum
|
| +{
|
| + NvRmAnalogTvDacType_CRT,
|
| + NvRmAnalogTvDacType_SDTV,
|
| + NvRmAnalogTvDacType_HDTV,
|
| + NvRmAnalogTvDacType_Num,
|
| + NvRmAnalogTvDacType_Force32 = 0x7FFFFFFF
|
| +} NvRmAnalogTvDacType;
|
| +
|
| +/**
|
| + * Create an analog interface id with multiple instances.
|
| + */
|
| +#define NVRM_ANALOG_INTERFACE( id, instance ) \
|
| + ((NvRmAnalogInterface)( (instance) << 16 | id ))
|
| +
|
| +/**
|
| + * Get the interface id.
|
| + */
|
| +#define NVRM_ANALOG_INTERFACE_ID( id ) ((id) & 0xFFFF)
|
| +
|
| +/**
|
| + * Get the interface instance.
|
| + */
|
| +#define NVRM_ANALOG_INTERFACE_INSTANCE( id ) (((id) >> 16) & 0xFFFF)
|
| +
|
| +/**
|
| + * Control I/O pads, DACs, or PHYs, either enable or disable, with an optional
|
| + * configuration structure, which may be defined per module.
|
| + *
|
| + * @param hDevice Handle to the RM device
|
| + * @param Interface The physical interface to configure
|
| + * @param Enable enable/disable bit
|
| + * @param Config extra configuration options for each module, if necessary
|
| + * @param ConfigLength the size in bytes of the configuration structure
|
| + */
|
| +
|
| + NvError NvRmAnalogInterfaceControl(
|
| + NvRmDeviceHandle hDevice,
|
| + NvRmAnalogInterface Interface,
|
| + NvBool Enable,
|
| + void* Config,
|
| + NvU32 ConfigLength );
|
| +
|
| +/**
|
| + * Get TV DAC Configuration
|
| + *
|
| + * @param hDevice Handle to the RM device
|
| + * @param Type The analog TV DAC type
|
| + * @return The analog TV DAC Configuration value
|
| + */
|
| +
|
| + NvU8 NvRmAnalogGetTvDacConfiguration(
|
| + NvRmDeviceHandle hDevice,
|
| + NvRmAnalogTvDacType Type );
|
| +
|
| +/**
|
| + * Detect if USB is connected or not
|
| + *
|
| + * @param hDevice Handle to the RM device
|
| + * @return TRUE means USB is connected
|
| + */
|
| +
|
| + NvBool NvRmUsbIsConnected(
|
| + NvRmDeviceHandle hDevice );
|
| +
|
| +/**
|
| + * Detect charger type
|
| + *
|
| + * @param hDevice Handle to the RM device
|
| + * @param wait Delay time and ready to get the correct charger type
|
| + * @return USB charger type
|
| + */
|
| +
|
| + NvU32 NvRmUsbDetectChargerState(
|
| + NvRmDeviceHandle hDevice,
|
| + NvU32 wait );
|
| +
|
| +/**
|
| + * Extended configuration structures for NvRmAnalogInterfaceControl.
|
| + */
|
| +
|
| +typedef struct NvRmAnalogTvDacConfigRec
|
| +{
|
| +
|
| + /* The DAC input source, may be a Display controller or the TVO engine */
|
| + NvRmModuleID Source;
|
| +
|
| + /* The DAC output amplitude */
|
| + NvU8 DacAmplitude;
|
| +} NvRmAnalogTvDacConfig;
|
| +
|
| +/**
|
| + * List of USB analog status check parameters
|
| + */
|
| +
|
| +typedef enum
|
| +{
|
| + NvRmAnalogUsbInputParam_CheckCableStatus,
|
| + NvRmAnalogUsbInputParam_CheckChargerStatus,
|
| + NvRmAnalogUsbInputParam_CheckIdStatus,
|
| + NvRmAnalogUsbInputParam_WaitForPhyClock,
|
| + NvRmAnalogUsbInputParam_ConfigureUsbPhy,
|
| + NvRmAnalogUsbInputParam_ChargerDetection,
|
| + NvRmAnalogUsbInputParam_SetUlpiNullTrimmers,
|
| + NvRmAnalogUsbInputParam_ConfigureUlpiNullClock,
|
| + NvRmAnalogUsbInputParam_SetNullUlpiPinMux,
|
| + NvRmAnalogUsbInputParam_SetUlpiLinkTrimmers,
|
| + NvRmAnalogUsbInputParam_VbusInterrupt,
|
| + NvRmAnalogUsbInputParam_IdInterrupt,
|
| + NvRmAnalogUsbInputParam_Num,
|
| + NvRmAnalogUsbInputParam_Force32 = 0x7FFFFFFF
|
| +} NvRmAnalogUsbInputParam;
|
| +
|
| +/**
|
| + * Extended configuration structures for NvRmAnalogInterfaceControl for USB.
|
| + */
|
| +
|
| +typedef struct NvRmAnalogUsbConfigRec
|
| +{
|
| +
|
| + /* The USB Status check parameter */
|
| + NvRmAnalogUsbInputParam InParam;
|
| + NvBool UsbCableDetected;
|
| + NvBool UsbChargerDetected;
|
| + NvBool UsbIdDetected;
|
| +} NvRmAnalogUsbConfig;
|
| +
|
| +#if defined(__cplusplus)
|
| +}
|
| +#endif
|
| +
|
| +#endif
|
|
|