summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--firmware/export/as3514.h2
-rw-r--r--firmware/target/arm/as3525/ascodec-as3525.c2
-rw-r--r--firmware/target/arm/as3525/system-as3525.c9
3 files changed, 8 insertions, 5 deletions
diff --git a/firmware/export/as3514.h b/firmware/export/as3514.h
index 0bfd445469..acf13444fa 100644
--- a/firmware/export/as3514.h
+++ b/firmware/export/as3514.h
@@ -89,9 +89,9 @@ extern void audiohw_set_sampr_dividers(int fsel);
89#endif 89#endif
90 90
91#define AS3514_SYSTEM 0x20 91#define AS3514_SYSTEM 0x20
92#define AS3514_CVDD_DCDC3 0x21
93 92
94#ifndef HAVE_AS3543 93#ifndef HAVE_AS3543
94#define AS3514_CVDD_DCDC3 0x21
95#define AS3514_CHARGER 0x22 95#define AS3514_CHARGER 0x22
96#define AS3514_DCDC15 0x23 96#define AS3514_DCDC15 0x23
97#define AS3514_SUPERVISOR 0x24 97#define AS3514_SUPERVISOR 0x24
diff --git a/firmware/target/arm/as3525/ascodec-as3525.c b/firmware/target/arm/as3525/ascodec-as3525.c
index 39658c0637..405acf3ca0 100644
--- a/firmware/target/arm/as3525/ascodec-as3525.c
+++ b/firmware/target/arm/as3525/ascodec-as3525.c
@@ -357,8 +357,10 @@ static void ascodec_wait(struct ascodec_request *req)
357static void ascodec_async_write(unsigned int index, unsigned int value, 357static void ascodec_async_write(unsigned int index, unsigned int value,
358 struct ascodec_request *req) 358 struct ascodec_request *req)
359{ 359{
360#ifndef HAVE_AS3543
360 if (index == AS3514_CVDD_DCDC3) /* prevent setting of the LREG_CP_not bit */ 361 if (index == AS3514_CVDD_DCDC3) /* prevent setting of the LREG_CP_not bit */
361 value &= ~(1 << 5); 362 value &= ~(1 << 5);
363#endif
362 364
363 ascodec_req_init(req, ASCODEC_REQ_WRITE, index, 1); 365 ascodec_req_init(req, ASCODEC_REQ_WRITE, index, 1);
364 req->data[0] = value; 366 req->data[0] = value;
diff --git a/firmware/target/arm/as3525/system-as3525.c b/firmware/target/arm/as3525/system-as3525.c
index 58f08a7d19..78282b905e 100644
--- a/firmware/target/arm/as3525/system-as3525.c
+++ b/firmware/target/arm/as3525/system-as3525.c
@@ -271,7 +271,8 @@ void system_init(void)
271 271
272 ascodec_init(); 272 ascodec_init();
273 273
274#if (CONFIG_CPU == AS3525v2) 274 /* Initialize power management settings */
275#ifdef HAVE_AS3543
275 /* PLL: disable audio PLL, we use MCLK already */ 276 /* PLL: disable audio PLL, we use MCLK already */
276 ascodec_write_pmu(0x1A, 7, 0x02); 277 ascodec_write_pmu(0x1A, 7, 0x02);
277 /* DCDC_Cntr: set switching speed of CVDD1/2 power supplies to 1 MHz */ 278 /* DCDC_Cntr: set switching speed of CVDD1/2 power supplies to 1 MHz */
@@ -286,7 +287,9 @@ void system_init(void)
286 /* AVDD17: set AVDD17 power supply to 2.5V */ 287 /* AVDD17: set AVDD17 power supply to 2.5V */
287 ascodec_write_pmu(0x18, 7, 0x31); 288 ascodec_write_pmu(0x18, 7, 0x31);
288#endif 289#endif
289#endif /* (CONFIG_CPU == AS3525v2) */ 290#else
291 ascodec_write(AS3514_CVDD_DCDC3, AS314_CP_DCDC3_SETTING);
292#endif /* HAVE_AS3543 */
290 293
291#ifndef BOOTLOADER 294#ifndef BOOTLOADER
292 /* setup isr for microsd monitoring and for fuzev2 scrollwheel irq */ 295 /* setup isr for microsd monitoring and for fuzev2 scrollwheel irq */
@@ -296,8 +299,6 @@ void system_init(void)
296 /* pin selection for irq happens in the drivers */ 299 /* pin selection for irq happens in the drivers */
297#endif 300#endif
298 301
299 /* Initialize power management settings */
300 ascodec_write(AS3514_CVDD_DCDC3, AS314_CP_DCDC3_SETTING);
301#if CONFIG_TUNER 302#if CONFIG_TUNER
302 fmradio_i2c_init(); 303 fmradio_i2c_init();
303#endif 304#endif