mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-11-09 05:02:33 -05:00
Compare commits
5 commits
10dbdd6b22
...
cd54b4e046
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cd54b4e046 | ||
|
|
df3712e708 | ||
|
|
b1511738f7 | ||
|
|
9722cad478 | ||
|
|
4736de39b6 |
6 changed files with 341 additions and 304 deletions
File diff suppressed because it is too large
Load diff
|
|
@ -108,8 +108,8 @@
|
|||
|
||||
/* Main LCD backlight brightness range and defaults */
|
||||
#define MIN_BRIGHTNESS_SETTING 0
|
||||
#define MAX_BRIGHTNESS_SETTING 100
|
||||
#define DEFAULT_BRIGHTNESS_SETTING 50
|
||||
#define MAX_BRIGHTNESS_SETTING 88
|
||||
#define DEFAULT_BRIGHTNESS_SETTING 44
|
||||
|
||||
/* Which backlight fading type? */
|
||||
#define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_SW_SETTING
|
||||
|
|
|
|||
|
|
@ -22,6 +22,12 @@
|
|||
/* define this if you have a colour LCD */
|
||||
#define HAVE_LCD_COLOR
|
||||
|
||||
/* define this if you have LCD enable function */
|
||||
#define HAVE_LCD_ENABLE
|
||||
|
||||
/* Define this if the LCD can shut down */
|
||||
#define HAVE_LCD_SHUTDOWN
|
||||
|
||||
#ifndef BOOTLOADER
|
||||
#define HAVE_ALBUMART
|
||||
|
||||
|
|
@ -32,7 +38,7 @@
|
|||
#define HAVE_JPEG
|
||||
|
||||
/* Define this if a programmable hotkey is mapped */
|
||||
#define HAVE_HOTKEY
|
||||
//#define HAVE_HOTKEY
|
||||
|
||||
/* define this if you have access to the quickscreen */
|
||||
#define HAVE_QUICKSCREEN
|
||||
|
|
@ -42,9 +48,6 @@
|
|||
/* define this if you would like tagcache to build on this target */
|
||||
#define HAVE_TAGCACHE
|
||||
|
||||
/* define this if you have LCD enable function */
|
||||
#define HAVE_LCD_ENABLE
|
||||
|
||||
/* Define this if your LCD can be put to sleep. HAVE_LCD_ENABLE
|
||||
should be defined as well.
|
||||
#define HAVE_LCD_SLEEP
|
||||
|
|
@ -55,9 +58,8 @@
|
|||
#define HAVE_LCD_FLIP
|
||||
*/
|
||||
|
||||
/* define this if you can invert the colours on your LCD
|
||||
/* define this if you can invert the colours on your LCD */
|
||||
#define HAVE_LCD_INVERT
|
||||
*/
|
||||
|
||||
/* define this if you have a real-time clock */
|
||||
#define CONFIG_RTC RTC_IMX233
|
||||
|
|
@ -108,8 +110,8 @@
|
|||
|
||||
/* Main LCD backlight brightness range and defaults */
|
||||
#define MIN_BRIGHTNESS_SETTING 0
|
||||
#define MAX_BRIGHTNESS_SETTING 100
|
||||
#define DEFAULT_BRIGHTNESS_SETTING 50
|
||||
#define MAX_BRIGHTNESS_SETTING 88
|
||||
#define DEFAULT_BRIGHTNESS_SETTING 44
|
||||
|
||||
/* Which backlight fading type? */
|
||||
#define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_SW_SETTING
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@
|
|||
#include "ascodec.h"
|
||||
#endif
|
||||
|
||||
#if defined(FIIO_M3K)
|
||||
#if defined(FIIO_M3K) || defined(SONY_NWZE370)
|
||||
#include "backlight-target.h"
|
||||
#endif
|
||||
|
||||
|
|
@ -318,7 +318,7 @@ int rolo_load(const char* filename)
|
|||
lcd_remote_update();
|
||||
#endif
|
||||
|
||||
#if defined(FIIO_M3K)
|
||||
#if defined(FIIO_M3K) || defined(SONY_NWZE370)
|
||||
/* Avoids the LCD backlight ramping down & up weirdly */
|
||||
backlight_hw_off();
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -26,12 +26,20 @@
|
|||
#include "backlight-target.h"
|
||||
#include "pwm-imx233.h"
|
||||
#include "pinctrl-imx233.h"
|
||||
#include "kernel.h"
|
||||
|
||||
static int last_brightness;
|
||||
|
||||
void backlight_hw_brightness(int brightness)
|
||||
{
|
||||
bool en = brightness > 0;
|
||||
imx233_pwm_setup_simple(2, 24000, 100 - brightness);
|
||||
/* brightness has extreme dip above 88% duty cycle, limit range to [87%, 0%] */
|
||||
if (en)
|
||||
imx233_pwm_setup_simple(2, 24000, 88 - brightness);
|
||||
imx233_pwm_enable(2, en);
|
||||
if (last_brightness == 0 && en)
|
||||
sleep(HZ / 25); /* make sure PWM settings are applied */
|
||||
last_brightness = brightness;
|
||||
imx233_pinctrl_set_gpio(0, 10, en);
|
||||
}
|
||||
|
||||
|
|
@ -40,9 +48,13 @@ bool backlight_hw_init(void)
|
|||
imx233_pinctrl_acquire(0, 10, "backlight_enable");
|
||||
imx233_pinctrl_set_function(0, 10, PINCTRL_FUNCTION_GPIO);
|
||||
imx233_pinctrl_enable_gpio(0, 10, true);
|
||||
imx233_pinctrl_set_gpio(0, 10, true);
|
||||
#ifndef BOOTLOADER
|
||||
backlight_hw_brightness(0);
|
||||
return false;
|
||||
#else
|
||||
backlight_hw_brightness(DEFAULT_BRIGHTNESS_SETTING);
|
||||
return true;
|
||||
#endif
|
||||
}
|
||||
|
||||
void backlight_hw_on(void)
|
||||
|
|
@ -50,6 +62,7 @@ void backlight_hw_on(void)
|
|||
#ifdef HAVE_LCD_ENABLE
|
||||
lcd_enable(true); /* power on lcd + visible display */
|
||||
#endif
|
||||
sleep(HZ / 10); /* make sure screen is not white anymore */
|
||||
/* don't do anything special, the core will set the brightness */
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -31,6 +31,9 @@
|
|||
|
||||
#ifdef HAVE_LCD_ENABLE
|
||||
static bool lcd_on;
|
||||
#ifdef HAVE_LCD_INVERT
|
||||
static bool lcd_inverted;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
static void lcd_write_reg(uint8_t reg, void *data, int data_len)
|
||||
|
|
@ -120,6 +123,9 @@ static void lcd_enable_seq(bool enable)
|
|||
if(enable)
|
||||
{
|
||||
lcd_write_reg(0x11, NULL, 0);
|
||||
#ifdef HAVE_LCD_INVERT
|
||||
lcd_set_invert_display(lcd_inverted);
|
||||
#endif
|
||||
lcd_write_reg(0x29, NULL, 0);
|
||||
}
|
||||
else
|
||||
|
|
@ -146,6 +152,22 @@ void lcd_enable(bool enable)
|
|||
}
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_LCD_SHUTDOWN
|
||||
void lcd_shutdown(void) {
|
||||
backlight_hw_off();
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_LCD_INVERT
|
||||
void lcd_set_invert_display(bool yesno)
|
||||
{
|
||||
lcd_write_reg(yesno ? 0x21 : 0x20, NULL, 0);
|
||||
#ifdef HAVE_LCD_ENABLE
|
||||
lcd_inverted = yesno;
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
||||
void lcd_update(void)
|
||||
{
|
||||
lcd_update_rect(0, 0, LCD_WIDTH, LCD_HEIGHT);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue