rockbox/firmware/target/arm/imx233/creative-zen/button-target.h
Amaury Pouly 0324bf59a8 imx233: make button-lradc drive able to handle VDDIO derived values
In most devices, the button ladder is not actually derived from VDDIO but
from a constant voltage source, making it very easy to read it. However on
some devices like ther ZEN X-Fi Style, the ladder is wired to VDDIO we
can be changed so it's crucial that the button driver correctly scales the
values wrt VDDIO.

Change-Id: Ifc11abe2838fa7d16d0d60ecd96964a8dc5ea6d7
2014-02-10 23:14:25 +01:00

78 lines
2.5 KiB
C

/***************************************************************************
* __________ __ ___.
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
* \/ \/ \/ \/ \/
* $Id$
*
* Copyright (C) 2013 by Amaury Pouly
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
* KIND, either express or implied.
*
****************************************************************************/
#ifndef _BUTTON_TARGET_H_
#define _BUTTON_TARGET_H_
#include <stdbool.h>
bool button_debug_screen(void);
/* HOLD button */
#if !defined(CREATIVE_ZENXFISTYLE)
#define HAS_BUTTON_HOLD
#define IMX233_BUTTON_LRADC_HOLD_DET BLH_ADC
#endif
/* VDDIO value */
#if defined(CREATIVE_ZENXFISTYLE)
#define IMX233_BUTTON_LRADC_VDDIO 3660
#elif defined(CREATIVE_ZEN)
#define IMX233_BUTTON_LRADC_VDDIO 3480
#elif defined(CREATIVE_ZENXFI)
#define IMX233_BUTTON_LRADC_VDDIO 3500
#endif
/* LRADC channel */
#if defined(CREATIVE_ZENXFISTYLE)
#define IMX233_BUTTON_LRADC_CHANNEL 2
#else
#define IMX233_BUTTON_LRADC_CHANNEL 0
#endif
/* Main unit's buttons */
#define BUTTON_POWER 0x00000001
#define BUTTON_LEFT 0x00000002
#define BUTTON_UP 0x00000004
#define BUTTON_RIGHT 0x00000008
#define BUTTON_DOWN 0x00000010
#define BUTTON_SELECT 0x00000020
#define BUTTON_PLAYPAUSE 0x00000040
#define BUTTON_BACK 0x00000080
#define BUTTON_MENU 0x00000100
#define BUTTON_SHORTCUT 0x00000200
#ifdef CREATIVE_ZENXFI
#define BUTTON_BOTTOMLEFT 0x00000400
#define BUTTON_BOTTOMRIGHT 0x00000800
#define BUTTON_TOPLEFT 0x00001000
#define BUTTON_TOPRIGHT 0x00002000
#endif
#ifdef CREATIVE_ZENV
#define BUTTON_VOL_UP 0x00004000
#define BUTTON_VOL_DOWN 0x00008000
#endif
#define BUTTON_MAIN 0x0000ffff
/* Software power-off */
#define POWEROFF_BUTTON BUTTON_POWER
#define POWEROFF_COUNT 10
#endif /* _BUTTON_TARGET_H_ */