diff options
Diffstat (limited to 'firmware/drivers/power.c')
-rw-r--r-- | firmware/drivers/power.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/firmware/drivers/power.c b/firmware/drivers/power.c index 3a4ae466bc..de62c7aa96 100644 --- a/firmware/drivers/power.c +++ b/firmware/drivers/power.c | |||
@@ -70,6 +70,9 @@ void power_init(void) | |||
70 | 70 | ||
71 | GPIO_ENABLE |= 0x80000000; | 71 | GPIO_ENABLE |= 0x80000000; |
72 | GPIO_FUNCTION |= 0x80000000; | 72 | GPIO_FUNCTION |= 0x80000000; |
73 | #ifdef HAVE_SPDIF_POWER | ||
74 | spdif_power_enable(false); | ||
75 | #endif | ||
73 | #else | 76 | #else |
74 | #ifdef HAVE_CHARGE_CTRL | 77 | #ifdef HAVE_CHARGE_CTRL |
75 | or_b(0x20, &PBIORL); /* Set charging control bit to output */ | 78 | or_b(0x20, &PBIORL); /* Set charging control bit to output */ |
@@ -128,6 +131,19 @@ void charger_enable(bool on) | |||
128 | #endif | 131 | #endif |
129 | } | 132 | } |
130 | 133 | ||
134 | #ifdef HAVE_SPDIF_POWER | ||
135 | void spdif_power_enable(bool on) | ||
136 | { | ||
137 | GPIO1_FUNCTION |= 0x01000000; | ||
138 | GPIO1_ENABLE |= 0x01000000; | ||
139 | |||
140 | if(on) | ||
141 | GPIO1_OUT &= ~0x01000000; | ||
142 | else | ||
143 | GPIO1_OUT |= 0x01000000; | ||
144 | } | ||
145 | #endif | ||
146 | |||
131 | #ifndef HAVE_MMC | 147 | #ifndef HAVE_MMC |
132 | void ide_power_enable(bool on) | 148 | void ide_power_enable(bool on) |
133 | { | 149 | { |
@@ -261,4 +277,11 @@ void ide_power_enable(bool on) | |||
261 | (void)on; | 277 | (void)on; |
262 | } | 278 | } |
263 | 279 | ||
280 | #ifdef HAVE_SPDIF_POWER | ||
281 | void spdif_power_enable(bool on) | ||
282 | { | ||
283 | (void)on; | ||
284 | } | ||
285 | #endif | ||
286 | |||
264 | #endif /* SIMULATOR */ | 287 | #endif /* SIMULATOR */ |