FreeCalypso > hg > fc-tourmaline
view src/cs/drivers/drv_app/r2d/uwire.h @ 51:04aaa5622fa7
disable deep sleep when Iota LEDB is on
TI's Iota chip docs say that CLK13M must be running in order for
LEDB to work, and practical experience on Mot C139 which uses
Iota LEDB for its keypad backlight concurs: if Calypso enters
deep sleep while the keypad backlight is turned on, the light
flickers visibly as the chipset goes into and out of deep sleep.
TI's original L1 sleep manager code had logic to disable deep sleep
when LT_Status() returns nonzero, but that function only works
for B-Sample and C-Sample LT, always returns 0 on BOARD 41 - no
check of Iota LEDB status anywhere. Change this code for our
current hardware: disable deep sleep when Iota LEDB has been
turned on through LLS.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Mon, 19 Oct 2020 05:11:29 +0000 |
parents | 4e78acac3d88 |
children |
line wrap: on
line source
/** @file: uwire.h @author Davide Carpegna @version 1.0 Purpose: Driver for the uwire HD module */ /* Date Modification ------------------------------------ 09/22/2000 Create 10/18/2001 Updated for R2D by Christophe Favergeon (C) Copyright 2000 by Texas Instruments Incorporated, All Rights Reserved */ #ifndef _UWIRE_H_ #define _UWIRE_H_ #define MEM_UWIRE 0xFFFE4000 #define TDR (MEM_UWIRE) #define RDR (MEM_UWIRE) #define CSR (MEM_UWIRE+0x02) #define SR1 (MEM_UWIRE+0x04) #define SR2 (MEM_UWIRE+0x06) #define SR3 (MEM_UWIRE+0x08) #define INDEX_CS1 (1 << 10) #define NB_BITS_WR_8 (1 << 8 ) #define INDEX_CS0 0 #define NB_BITS_WR_9 (9 << 5) #define CS_CMD (1 << 12) #define START (1 << 13) #define CS1_EDGE_RD (1 << 6) #define CS1_FRQ_FINT_4 (1 << 9) #define CS0_FRQ_FINT_2 0 #define CS0_FRQ_FINT_4 (1 << 3) #define SR3_CLK_EN 1 #define CSRB ( 1<<14 ) #define IO_SEL0 0xFFFEF008 #define IO_SEL 0xFFFEF00A #define GPIO_INOUT 0xFFFE4804 #define GPIO_OUT 0xFFFE4802 #define CNTL_RST 0xFFFFFD04 #ifdef _WINDOWS #ifdef __cplusplus extern "C" { #endif #endif // prototypes of uwire functions for lcd BOOLEAN lcd_polling(void); void lcd_transmit_cmd(UINT8 cmd); void uwire_init_lcd(void); // Defined only for board void lcd_transmit_data(UINT8 data); // Defined only for PC void lcd_refresh(void); void lcd_set_pos(unsigned char x,unsigned char y); void* lcd_get_dc(void); #ifdef _WINDOWS #ifdef __cplusplus } #endif #endif #endif /*_UWIRE_H_*/