summaryrefslogtreecommitdiff
path: root/firmware/target/coldfire/iriver/h100/power-h100.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/coldfire/iriver/h100/power-h100.c')
-rw-r--r--firmware/target/coldfire/iriver/h100/power-h100.c25
1 files changed, 22 insertions, 3 deletions
diff --git a/firmware/target/coldfire/iriver/h100/power-h100.c b/firmware/target/coldfire/iriver/h100/power-h100.c
index 0714ab2d3f..9effeef7c8 100644
--- a/firmware/target/coldfire/iriver/h100/power-h100.c
+++ b/firmware/target/coldfire/iriver/h100/power-h100.c
@@ -22,6 +22,7 @@
22#include "kernel.h" 22#include "kernel.h"
23#include "system.h" 23#include "system.h"
24#include "power.h" 24#include "power.h"
25#include "spdif.h"
25 26
26 27
27#ifdef CONFIG_TUNER 28#ifdef CONFIG_TUNER
@@ -85,8 +86,23 @@ void spdif_power_enable(bool on)
85 and_l(~0x01000000, &GPIO1_OUT); 86 and_l(~0x01000000, &GPIO1_OUT);
86 else 87 else
87 or_l(0x01000000, &GPIO1_OUT); 88 or_l(0x01000000, &GPIO1_OUT);
88} 89
90#ifndef BOOTLOADER
91 /* Make sure the feed is reset */
92 spdif_set_output_source(spdif_get_output_source(NULL), true);
89#endif 93#endif
94}
95
96bool spdif_powered(void)
97{
98 bool state = (GPIO1_READ & 0x01000000)?false:true;
99#ifdef SPDIF_POWER_INVERTED
100 return !state;
101#else
102 return state;
103#endif /* SPDIF_POWER_INVERTED */
104}
105#endif /* HAVE_SPDIF_POWER */
90 106
91void ide_power_enable(bool on) 107void ide_power_enable(bool on)
92{ 108{
@@ -96,13 +112,11 @@ void ide_power_enable(bool on)
96 or_l(0x80000000, &GPIO_OUT); 112 or_l(0x80000000, &GPIO_OUT);
97} 113}
98 114
99
100bool ide_powered(void) 115bool ide_powered(void)
101{ 116{
102 return (GPIO_OUT & 0x80000000)?false:true; 117 return (GPIO_OUT & 0x80000000)?false:true;
103} 118}
104 119
105
106void power_off(void) 120void power_off(void)
107{ 121{
108 set_irq_level(HIGHEST_IRQ_LEVEL); 122 set_irq_level(HIGHEST_IRQ_LEVEL);
@@ -138,6 +152,11 @@ void spdif_power_enable(bool on)
138{ 152{
139 (void)on; 153 (void)on;
140} 154}
155
156bool spdif_powered(void)
157{
158 return false;
159}
141#endif 160#endif
142 161
143#endif /* SIMULATOR */ 162#endif /* SIMULATOR */