summaryrefslogtreecommitdiff
path: root/firmware/target
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target')
-rw-r--r--firmware/target/arm/archos/av300/power-av300.c4
-rw-r--r--firmware/target/arm/iriver/h10/power-h10.c4
-rw-r--r--firmware/target/arm/pnx0101/iriver-ifp7xx/power-ifp7xx.c4
-rw-r--r--firmware/target/arm/sandisk/sansa-e200/power-e200.c58
-rw-r--r--firmware/target/coldfire/iaudio/x5/power-x5.c4
-rw-r--r--firmware/target/coldfire/iriver/h100/power-h100.c4
-rw-r--r--firmware/target/coldfire/iriver/h300/power-h300.c4
7 files changed, 70 insertions, 12 deletions
diff --git a/firmware/target/arm/archos/av300/power-av300.c b/firmware/target/arm/archos/av300/power-av300.c
index cfdce69b13..6cc8b4f7c7 100644
--- a/firmware/target/arm/archos/av300/power-av300.c
+++ b/firmware/target/arm/archos/av300/power-av300.c
@@ -84,12 +84,12 @@ void ide_power_enable(bool on)
84 84
85static bool powered = false; 85static bool powered = false;
86 86
87bool radio_powered() 87bool tuner_powered()
88{ 88{
89 return powered; 89 return powered;
90} 90}
91 91
92bool radio_power(bool status) 92bool tuner_power(bool status)
93{ 93{
94 bool old_status = powered; 94 bool old_status = powered;
95 powered = status; 95 powered = status;
diff --git a/firmware/target/arm/iriver/h10/power-h10.c b/firmware/target/arm/iriver/h10/power-h10.c
index 63eb2dc189..d0d3ce59d1 100644
--- a/firmware/target/arm/iriver/h10/power-h10.c
+++ b/firmware/target/arm/iriver/h10/power-h10.c
@@ -40,12 +40,12 @@ bool charger_enabled;
40 40
41static bool powered = false; 41static bool powered = false;
42 42
43bool radio_powered() 43bool tuner_powered()
44{ 44{
45 return powered; 45 return powered;
46} 46}
47 47
48bool radio_power(bool status) 48bool tuner_power(bool status)
49{ 49{
50 bool old_status = powered; 50 bool old_status = powered;
51 powered = status; 51 powered = status;
diff --git a/firmware/target/arm/pnx0101/iriver-ifp7xx/power-ifp7xx.c b/firmware/target/arm/pnx0101/iriver-ifp7xx/power-ifp7xx.c
index 4e4f585298..dfdcb1d27a 100644
--- a/firmware/target/arm/pnx0101/iriver-ifp7xx/power-ifp7xx.c
+++ b/firmware/target/arm/pnx0101/iriver-ifp7xx/power-ifp7xx.c
@@ -30,12 +30,12 @@
30 30
31static bool powered = false; 31static bool powered = false;
32 32
33bool radio_powered(void) 33bool tuner_powered(void)
34{ 34{
35 return powered; 35 return powered;
36} 36}
37 37
38bool radio_power(bool status) 38bool tuner_power(bool status)
39{ 39{
40 bool old_status = powered; 40 bool old_status = powered;
41 powered = status; 41 powered = status;
diff --git a/firmware/target/arm/sandisk/sansa-e200/power-e200.c b/firmware/target/arm/sandisk/sansa-e200/power-e200.c
index dfa4211a91..002dcb8407 100644
--- a/firmware/target/arm/sandisk/sansa-e200/power-e200.c
+++ b/firmware/target/arm/sandisk/sansa-e200/power-e200.c
@@ -21,6 +21,7 @@
21#include "system.h" 21#include "system.h"
22#include "cpu.h" 22#include "cpu.h"
23#include "i2c-pp.h" 23#include "i2c-pp.h"
24#include "tuner.h"
24 25
25void power_init(void) 26void power_init(void)
26{ 27{
@@ -61,3 +62,60 @@ void ide_power_enable(bool on)
61{ 62{
62 (void)on; 63 (void)on;
63} 64}
65
66/** Tuner **/
67static bool powered = false;
68
69bool tuner_power(bool status)
70{
71 bool old_status = powered;
72
73 if (status != old_status)
74 {
75 if (status)
76 {
77 /* init mystery amplification device */
78 outl(inl(0x70000084) | 0x1, 0x70000084);
79 udelay(5);
80
81 /* When power up, host should initialize the 3-wire bus
82 in host read mode: */
83
84 /* 1. Set direction of the DATA-line to input-mode. */
85 GPIOH_OUTPUT_EN &= ~(1 << 5);
86 GPIOH_ENABLE |= (1 << 5);
87
88 /* 2. Drive NR_W low */
89 GPIOH_OUTPUT_VAL &= ~(1 << 3);
90 GPIOH_OUTPUT_EN |= (1 << 3);
91 GPIOH_ENABLE |= (1 << 3);
92
93 /* 3. Drive CLOCK high */
94 GPIOH_OUTPUT_VAL |= (1 << 4);
95 GPIOH_OUTPUT_EN |= (1 << 4);
96 GPIOH_ENABLE |= (1 << 4);
97
98 lv24020lp_power(true);
99 }
100 else
101 {
102 lv24020lp_power(false);
103
104 /* set all as inputs */
105 GPIOH_OUTPUT_EN &= ~((1 << 5) | (1 << 3) | (1 << 4));
106 GPIOH_ENABLE &= ~((1 << 5) | (1 << 3) | (1 << 4));
107
108 /* turn off mystery amplification device */
109 outl(inl(0x70000084) & ~0x1, 0x70000084);
110 }
111
112 powered = status;
113 }
114
115 return old_status;
116}
117
118bool tuner_powered(void)
119{
120 return powered;
121}
diff --git a/firmware/target/coldfire/iaudio/x5/power-x5.c b/firmware/target/coldfire/iaudio/x5/power-x5.c
index c646570821..5c6c388a71 100644
--- a/firmware/target/coldfire/iaudio/x5/power-x5.c
+++ b/firmware/target/coldfire/iaudio/x5/power-x5.c
@@ -90,12 +90,12 @@ void ide_power_enable(bool on)
90 90
91static bool powered = false; 91static bool powered = false;
92 92
93bool radio_powered() 93bool tuner_powered()
94{ 94{
95 return powered; 95 return powered;
96} 96}
97 97
98bool radio_power(bool status) 98bool tuner_power(bool status)
99{ 99{
100 bool old_status = powered; 100 bool old_status = powered;
101 powered = status; 101 powered = status;
diff --git a/firmware/target/coldfire/iriver/h100/power-h100.c b/firmware/target/coldfire/iriver/h100/power-h100.c
index 943168967f..c1841264a2 100644
--- a/firmware/target/coldfire/iriver/h100/power-h100.c
+++ b/firmware/target/coldfire/iriver/h100/power-h100.c
@@ -29,12 +29,12 @@
29 29
30static bool powered = false; 30static bool powered = false;
31 31
32bool radio_powered(void) 32bool tuner_powered(void)
33{ 33{
34 return powered; 34 return powered;
35} 35}
36 36
37bool radio_power(bool status) 37bool tuner_power(bool status)
38{ 38{
39 bool old_status = powered; 39 bool old_status = powered;
40 powered = status; 40 powered = status;
diff --git a/firmware/target/coldfire/iriver/h300/power-h300.c b/firmware/target/coldfire/iriver/h300/power-h300.c
index 5e57326c36..b687b29cba 100644
--- a/firmware/target/coldfire/iriver/h300/power-h300.c
+++ b/firmware/target/coldfire/iriver/h300/power-h300.c
@@ -29,12 +29,12 @@
29 29
30static bool powered = false; 30static bool powered = false;
31 31
32bool radio_powered(void) 32bool tuner_powered(void)
33{ 33{
34 return powered; 34 return powered;
35} 35}
36 36
37bool radio_power(bool status) 37bool tuner_power(bool status)
38{ 38{
39 bool old_status = powered; 39 bool old_status = powered;
40 powered = status; 40 powered = status;