Compare commits

..

No commits in common. "cd54b4e0466badeb597a7e07f53f8d6bbd647f5f" and "10dbdd6b2216cc2f61edfc51c88fe5fe7b6126c8" have entirely different histories.

6 changed files with 304 additions and 341 deletions

File diff suppressed because it is too large Load diff

View file

@ -108,8 +108,8 @@
/* Main LCD backlight brightness range and defaults */
#define MIN_BRIGHTNESS_SETTING 0
#define MAX_BRIGHTNESS_SETTING 88
#define DEFAULT_BRIGHTNESS_SETTING 44
#define MAX_BRIGHTNESS_SETTING 100
#define DEFAULT_BRIGHTNESS_SETTING 50
/* Which backlight fading type? */
#define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_SW_SETTING

View file

@ -22,12 +22,6 @@
/* 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
@ -38,7 +32,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
@ -48,6 +42,9 @@
/* 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
@ -58,8 +55,9 @@
#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
@ -110,8 +108,8 @@
/* Main LCD backlight brightness range and defaults */
#define MIN_BRIGHTNESS_SETTING 0
#define MAX_BRIGHTNESS_SETTING 88
#define DEFAULT_BRIGHTNESS_SETTING 44
#define MAX_BRIGHTNESS_SETTING 100
#define DEFAULT_BRIGHTNESS_SETTING 50
/* Which backlight fading type? */
#define CONFIG_BACKLIGHT_FADING BACKLIGHT_FADING_SW_SETTING

View file

@ -64,7 +64,7 @@
#include "ascodec.h"
#endif
#if defined(FIIO_M3K) || defined(SONY_NWZE370)
#if defined(FIIO_M3K)
#include "backlight-target.h"
#endif
@ -318,7 +318,7 @@ int rolo_load(const char* filename)
lcd_remote_update();
#endif
#if defined(FIIO_M3K) || defined(SONY_NWZE370)
#if defined(FIIO_M3K)
/* Avoids the LCD backlight ramping down & up weirdly */
backlight_hw_off();
#endif

View file

@ -26,20 +26,12 @@
#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;
/* 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_setup_simple(2, 24000, 100 - 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);
}
@ -48,13 +40,9 @@ 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);
#ifndef BOOTLOADER
backlight_hw_brightness(0);
return false;
#else
imx233_pinctrl_set_gpio(0, 10, true);
backlight_hw_brightness(DEFAULT_BRIGHTNESS_SETTING);
return true;
#endif
}
void backlight_hw_on(void)
@ -62,7 +50,6 @@ 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 */
}

View file

@ -31,9 +31,6 @@
#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)
@ -123,9 +120,6 @@ 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
@ -152,22 +146,6 @@ 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);