summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--firmware/export/as3514.h4
-rw-r--r--firmware/target/arm/as3525/sansa-clipplus/backlight-clip.c8
-rw-r--r--firmware/target/arm/as3525/sansa-clipv2/backlight-clipv2.c8
-rw-r--r--firmware/target/arm/as3525/sansa-fuzev2/backlight-fuzev2.c20
4 files changed, 22 insertions, 18 deletions
diff --git a/firmware/export/as3514.h b/firmware/export/as3514.h
index 39a99415b6..c7353a2e97 100644
--- a/firmware/export/as3514.h
+++ b/firmware/export/as3514.h
@@ -51,6 +51,10 @@ extern void audiohw_set_lineout_vol(int vol_l, int vol_r);
51#define AS3514_AUDIOSET2 0x15 51#define AS3514_AUDIOSET2 0x15
52#define AS3514_AUDIOSET3 0x16 52#define AS3514_AUDIOSET3 0x16
53#define AS3517_USB_UTIL 0x17 /* only in as3517+ */ 53#define AS3517_USB_UTIL 0x17 /* only in as3517+ */
54
55#define AS3543_BACKLIGHT 0x1b /* only in as3543 */
56#define AS3543_PMU_ENABLE 0x1c /* only in as3543 */
57
54#define AS3514_PLLMODE 0x1d 58#define AS3514_PLLMODE 0x1d
55 59
56#define AS3514_SYSTEM 0x20 60#define AS3514_SYSTEM 0x20
diff --git a/firmware/target/arm/as3525/sansa-clipplus/backlight-clip.c b/firmware/target/arm/as3525/sansa-clipplus/backlight-clip.c
index 5f5662f787..3216fc5463 100644
--- a/firmware/target/arm/as3525/sansa-clipplus/backlight-clip.c
+++ b/firmware/target/arm/as3525/sansa-clipplus/backlight-clip.c
@@ -27,8 +27,8 @@
27void _backlight_on(void) 27void _backlight_on(void)
28{ 28{
29 ascodec_write(0x25, ascodec_read(0x25) | 2); /* lcd power */ 29 ascodec_write(0x25, ascodec_read(0x25) | 2); /* lcd power */
30 ascodec_write(0x1c, 8|1); 30 ascodec_write(AS3543_PMU_ENABLE, 8|1);
31 ascodec_write(0x1b, 0x90); 31 ascodec_write(AS3543_BACKLIGHT, 0x90);
32 lcd_enable(true); 32 lcd_enable(true);
33} 33}
34 34
@@ -36,6 +36,6 @@ void _backlight_off(void)
36{ 36{
37 lcd_enable(false); 37 lcd_enable(false);
38 ascodec_write(0x25, ascodec_read(0x25) & ~2); /* lcd power */ 38 ascodec_write(0x25, ascodec_read(0x25) & ~2); /* lcd power */
39 ascodec_write(0x1c, 8|1); 39 ascodec_write(AS3543_PMU_ENABLE, 8|1);
40 ascodec_write(0x1b, 0x00); 40 ascodec_write(AS3543_BACKLIGHT, 0x00);
41} 41}
diff --git a/firmware/target/arm/as3525/sansa-clipv2/backlight-clipv2.c b/firmware/target/arm/as3525/sansa-clipv2/backlight-clipv2.c
index fad9e6acff..72ecf29a75 100644
--- a/firmware/target/arm/as3525/sansa-clipv2/backlight-clipv2.c
+++ b/firmware/target/arm/as3525/sansa-clipv2/backlight-clipv2.c
@@ -27,8 +27,8 @@
27void _backlight_on(void) 27void _backlight_on(void)
28{ 28{
29 ascodec_write(0x25, ascodec_read(0x25) | 2); /* lcd power */ 29 ascodec_write(0x25, ascodec_read(0x25) | 2); /* lcd power */
30 ascodec_write(0x1c, 8|1); 30 ascodec_write(AS3543_PMU_ENABLE, 8|1);
31 ascodec_write(0x1b, 0x90); 31 ascodec_write(AS3543_BACKLIGHT, 0x90);
32 lcd_enable(true); 32 lcd_enable(true);
33} 33}
34 34
@@ -36,8 +36,8 @@ void _backlight_off(void)
36{ 36{
37 lcd_enable(false); 37 lcd_enable(false);
38 ascodec_write(0x25, ascodec_read(0x25) & ~2); /* lcd power */ 38 ascodec_write(0x25, ascodec_read(0x25) & ~2); /* lcd power */
39 ascodec_write(0x1c, 8|1); 39 ascodec_write(AS3543_PMU_ENABLE, 8|1);
40 ascodec_write(0x1b, 0); 40 ascodec_write(AS3543_BACKLIGHT, 0);
41} 41}
42 42
43void _buttonlight_on(void) 43void _buttonlight_on(void)
diff --git a/firmware/target/arm/as3525/sansa-fuzev2/backlight-fuzev2.c b/firmware/target/arm/as3525/sansa-fuzev2/backlight-fuzev2.c
index 7e21460fe8..f547111a76 100644
--- a/firmware/target/arm/as3525/sansa-fuzev2/backlight-fuzev2.c
+++ b/firmware/target/arm/as3525/sansa-fuzev2/backlight-fuzev2.c
@@ -30,8 +30,8 @@ int buttonlight_is_on = 0;
30 30
31void _backlight_set_brightness(int brightness) 31void _backlight_set_brightness(int brightness)
32{ 32{
33 ascodec_write(0x1c, 8|2); // sub register 33 ascodec_write(AS3543_PMU_ENABLE, 8|2); // sub register
34 ascodec_write(0x1b, brightness * 10); 34 ascodec_write(AS3543_BACKLIGHT, brightness * 10);
35} 35}
36 36
37bool _backlight_init(void) 37bool _backlight_init(void)
@@ -39,11 +39,11 @@ bool _backlight_init(void)
39 GPIOB_DIR |= 1<<5; /* for buttonlight, stuff below seems to be needed 39 GPIOB_DIR |= 1<<5; /* for buttonlight, stuff below seems to be needed
40 for buttonlight as well*/ 40 for buttonlight as well*/
41 41
42 ascodec_write(0x1c, 8|1); // sub register 42 ascodec_write(AS3543_PMU_ENABLE, 8|1); // sub register
43 ascodec_write(0x1b, 0x80); 43 ascodec_write(AS3543_BACKLIGHT, 0x80);
44 44
45 ascodec_write(0x1c, 8|2); // sub register 45 ascodec_write(AS3543_PMU_ENABLE, 8|2); // sub register
46 ascodec_write(0x1b, backlight_brightness * 10); 46 ascodec_write(AS3543_BACKLIGHT, backlight_brightness * 10);
47 return true; 47 return true;
48} 48}
49 49
@@ -52,14 +52,14 @@ void _backlight_on(void)
52#ifdef HAVE_LCD_ENABLE 52#ifdef HAVE_LCD_ENABLE
53 lcd_enable(true); /* power on lcd + visible display */ 53 lcd_enable(true); /* power on lcd + visible display */
54#endif 54#endif
55 ascodec_write(0x1c, 8|1); // sub register 55 ascodec_write(AS3543_PMU_ENABLE, 8|1); // sub register
56 ascodec_write(0x1b, 0x80); 56 ascodec_write(AS3543_BACKLIGHT, 0x80);
57} 57}
58 58
59void _backlight_off(void) 59void _backlight_off(void)
60{ 60{
61 ascodec_write(0x1c, 8|1); // sub register 61 ascodec_write(AS3543_PMU_ENABLE, 8|1); // sub register
62 ascodec_write(0x1b, 0); 62 ascodec_write(AS3543_BACKLIGHT, 0);
63#ifdef HAVE_LCD_ENABLE 63#ifdef HAVE_LCD_ENABLE
64 lcd_enable(false); /* power off visible display */ 64 lcd_enable(false); /* power off visible display */
65#endif 65#endif