diff options
-rw-r--r-- | firmware/drivers/power.c | 14 | ||||
-rw-r--r-- | firmware/usb.c | 9 |
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); |