summaryrefslogtreecommitdiff
path: root/firmware/target/mips/ingenic_jz47xx/xduoo_x3/sadc-xduoo_x3.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/mips/ingenic_jz47xx/xduoo_x3/sadc-xduoo_x3.c')
-rw-r--r--firmware/target/mips/ingenic_jz47xx/xduoo_x3/sadc-xduoo_x3.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/firmware/target/mips/ingenic_jz47xx/xduoo_x3/sadc-xduoo_x3.c b/firmware/target/mips/ingenic_jz47xx/xduoo_x3/sadc-xduoo_x3.c
index be02167a5d..d227255b8a 100644
--- a/firmware/target/mips/ingenic_jz47xx/xduoo_x3/sadc-xduoo_x3.c
+++ b/firmware/target/mips/ingenic_jz47xx/xduoo_x3/sadc-xduoo_x3.c
@@ -53,6 +53,13 @@ bool headphones_inserted(void)
53 return (__gpio_get_pin(PIN_PH_DECT) != 0); 53 return (__gpio_get_pin(PIN_PH_DECT) != 0);
54} 54}
55 55
56bool lineout_inserted(void)
57{
58 /* We want to prevent LO being "enabled" if HP is attached
59 to avoid potential eardrum damage */
60 return (__gpio_get_pin(PIN_LO_DECT) == 0) && !headphones_inserted();
61}
62
56void button_init_device(void) 63void button_init_device(void)
57{ 64{
58 key_val = 0xfff; 65 key_val = 0xfff;
@@ -72,11 +79,11 @@ void button_init_device(void)
72 __gpio_set_pin(PIN_CHARGE_CON); /* 0.7 A */ 79 __gpio_set_pin(PIN_CHARGE_CON); /* 0.7 A */
73 __gpio_as_output(PIN_CHARGE_CON); 80 __gpio_as_output(PIN_CHARGE_CON);
74 81
75 __gpio_as_input(PIN_LO_DECT);
76 __gpio_as_input(PIN_PH_DECT); 82 __gpio_as_input(PIN_PH_DECT);
83 __gpio_disable_pull(PIN_PH_DECT);
77 84
85 __gpio_as_input(PIN_LO_DECT);
78 __gpio_disable_pull(PIN_LO_DECT); 86 __gpio_disable_pull(PIN_LO_DECT);
79 __gpio_disable_pull(PIN_PH_DECT);
80} 87}
81 88
82bool button_hold(void) 89bool button_hold(void)