summaryrefslogtreecommitdiff
path: root/firmware/target/arm/tcc780x/cowond2/power-cowond2.c
diff options
context:
space:
mode:
authorRob Purchase <shotofadds@rockbox.org>2008-07-09 20:42:47 +0000
committerRob Purchase <shotofadds@rockbox.org>2008-07-09 20:42:47 +0000
commit0eb51e8a73be0713579dfade63447fd5e7858160 (patch)
tree72ec4401b6f24400a3d4c5bde3b64b41f12a1851 /firmware/target/arm/tcc780x/cowond2/power-cowond2.c
parent34216463beefb9f970a2953409892d73042ae4a1 (diff)
downloadrockbox-0eb51e8a73be0713579dfade63447fd5e7858160.tar.gz
rockbox-0eb51e8a73be0713579dfade63447fd5e7858160.zip
D2: Add the tuner_power() function which was missing from the previous FM commit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17999 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/arm/tcc780x/cowond2/power-cowond2.c')
-rw-r--r--firmware/target/arm/tcc780x/cowond2/power-cowond2.c49
1 files changed, 49 insertions, 0 deletions
diff --git a/firmware/target/arm/tcc780x/cowond2/power-cowond2.c b/firmware/target/arm/tcc780x/cowond2/power-cowond2.c
index 5b09cc1c17..9eb0871c6e 100644
--- a/firmware/target/arm/tcc780x/cowond2/power-cowond2.c
+++ b/firmware/target/arm/tcc780x/cowond2/power-cowond2.c
@@ -99,6 +99,55 @@ bool charger_inserted(void)
99} 99}
100#endif 100#endif
101 101
102#if CONFIG_TUNER
103
104/** Tuner **/
105static bool powered = false;
106
107bool tuner_power(bool status)
108{
109 bool old_status;
110 lv24020lp_lock();
111
112 old_status = powered;
113
114 if (status != old_status)
115 {
116 if (status)
117 {
118 /* When power up, host should initialize the 3-wire bus
119 in host read mode: */
120
121 /* 1. Set direction of the DATA-line to input-mode. */
122 GPIOC_DIR &= ~(1 << 30);
123
124 /* 2. Drive NR_W low */
125 GPIOC_CLEAR = (1 << 31);
126 GPIOC_DIR |= (1 << 31);
127
128 /* 3. Drive CLOCK high */
129 GPIOC_SET = (1 << 29);
130 GPIOC_DIR |= (1 << 29);
131
132 lv24020lp_power(true);
133 }
134 else
135 {
136 lv24020lp_power(false);
137
138 /* set all as inputs */
139 GPIOC_DIR &= ~((1 << 29) | (1 << 30) | (1 << 31));
140 }
141
142 powered = status;
143 }
144
145 lv24020lp_unlock();
146 return old_status;
147}
148
149#endif /* CONFIG_TUNER */
150
102#else /* SIMULATOR */ 151#else /* SIMULATOR */
103 152
104bool charger_inserted(void) 153bool charger_inserted(void)