summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--firmware/drivers/power.c14
-rw-r--r--firmware/usb.c9
2 files changed, 9 insertions, 14 deletions
diff --git a/firmware/drivers/power.c b/firmware/drivers/power.c
index e11921ea91..d7750a33b2 100644
--- a/firmware/drivers/power.c
+++ b/firmware/drivers/power.c
@@ -71,13 +71,6 @@ void power_init(void)
71 or_l(0x00080000, &GPIO1_ENABLE); 71 or_l(0x00080000, &GPIO1_ENABLE);
72 or_l(0x00080000, &GPIO1_FUNCTION); 72 or_l(0x00080000, &GPIO1_FUNCTION);
73 73
74#ifdef IRIVER_H300_SERIES
75 /* ISD300 3.3V ON */
76 or_l(8,&GPIO1_FUNCTION);
77 or_l(8,&GPIO1_OUT);
78 or_l(8,&GPIO1_ENABLE);
79#endif
80
81#ifndef BOOTLOADER 74#ifndef BOOTLOADER
82 /* The boot loader controls the power */ 75 /* The boot loader controls the power */
83 ide_power_enable(true); 76 ide_power_enable(true);
@@ -185,13 +178,6 @@ void ide_power_enable(bool on)
185 and_l(~0x80000000, &GPIO_OUT); 178 and_l(~0x80000000, &GPIO_OUT);
186 else 179 else
187 or_l(0x80000000, &GPIO_OUT); 180 or_l(0x80000000, &GPIO_OUT);
188#ifdef IRIVER_H300_SERIES
189 if(on)
190 and_l(~0x00000008,&GPIO1_OUT); /* ISD300 3.3V on */
191 else
192 or_l(0x00000008,&GPIO1_OUT); /* ISD300 3.3V off */
193#endif
194
195#elif defined(IAUDIO_X5) 181#elif defined(IAUDIO_X5)
196 /* X5 TODO */ 182 /* X5 TODO */
197#elif (CONFIG_CPU == PP5002) || (CONFIG_CPU == PP5020) 183#elif (CONFIG_CPU == PP5002) || (CONFIG_CPU == PP5020)
diff --git a/firmware/usb.c b/firmware/usb.c
index d6a154c51b..1c90d63519 100644
--- a/firmware/usb.c
+++ b/firmware/usb.c
@@ -151,6 +151,8 @@ void usb_enable(bool on)
151 /* Power on the Cypress chip */ 151 /* Power on the Cypress chip */
152#ifdef IRIVER_H100_SERIES 152#ifdef IRIVER_H100_SERIES
153 or_l(0x01000040, &GPIO_OUT); 153 or_l(0x01000040, &GPIO_OUT);
154#else
155 and_l(~0x00000008,&GPIO1_OUT);
154#endif 156#endif
155 sleep(2); 157 sleep(2);
156 } 158 }
@@ -159,6 +161,8 @@ void usb_enable(bool on)
159 /* Power off the Cypress chip */ 161 /* Power off the Cypress chip */
160#ifdef IRIVER_H100_SERIES 162#ifdef IRIVER_H100_SERIES
161 and_l(~0x01000040, &GPIO_OUT); 163 and_l(~0x01000040, &GPIO_OUT);
164#else
165 or_l(0x00000008,&GPIO1_OUT);
162#endif 166#endif
163 } 167 }
164 168
@@ -479,6 +483,11 @@ void usb_init(void)
479 or_l(0x00000080, &GPIO1_FUNCTION); /* GPIO39 is the USB detect input */ 483 or_l(0x00000080, &GPIO1_FUNCTION); /* GPIO39 is the USB detect input */
480 484
481#ifdef IRIVER_H300_SERIES 485#ifdef IRIVER_H300_SERIES
486 /* ISD300 3.3V ON */
487 or_l(8,&GPIO1_FUNCTION);
488 or_l(8,&GPIO1_OUT);
489 or_l(8,&GPIO1_ENABLE);
490
482 /* Tristate the SCK/SDA to the ISD300 config EEPROM */ 491 /* Tristate the SCK/SDA to the ISD300 config EEPROM */
483 and_l(~0x03000000, &GPIO_ENABLE); 492 and_l(~0x03000000, &GPIO_ENABLE);
484 or_l(0x03000000, &GPIO_FUNCTION); 493 or_l(0x03000000, &GPIO_FUNCTION);