|
@@ -44,6 +44,7 @@
|
|
|
#define HW_GPIO_BASE(idx) (idx * 0x20)
|
|
|
#define HW_GPIO_OUT(idx) (HW_GPIO_BASE(idx) + 0)
|
|
|
#define HW_GPIO_DIR(idx) (HW_GPIO_BASE(idx) + 4)
|
|
|
+#define HW_GPIO_OWNER (HW_GPIO_BASE(1) + 0x1c)
|
|
|
|
|
|
#define HW_GPIO_SHUTDOWN (1<<1)
|
|
|
#define HW_GPIO_SLOT_LED (1<<5)
|
|
@@ -176,6 +177,12 @@ static void wii_power_off(void)
|
|
|
local_irq_disable();
|
|
|
|
|
|
if (hw_gpio) {
|
|
|
+ /*
|
|
|
+ * set the owner of the shutdown pin to ARM, because it is
|
|
|
+ * accessed through the registers for the ARM, below
|
|
|
+ */
|
|
|
+ clrbits32(hw_gpio + HW_GPIO_OWNER, HW_GPIO_SHUTDOWN);
|
|
|
+
|
|
|
/* make sure that the poweroff GPIO is configured as output */
|
|
|
setbits32(hw_gpio + HW_GPIO_DIR(1), HW_GPIO_SHUTDOWN);
|
|
|
|