diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-12-16 16:26:53 -0500 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-12-16 16:26:53 -0500 |
| commit | a73611b6aafa3b902524dad2d68e378c4ec9f4db (patch) | |
| tree | 5dc4877055a2297d9f7f5db4cf6a5a7aad392dd0 | |
| parent | 5fa3577b1a1202972e6e419040438c29f39f59cc (diff) | |
| parent | ae4cec4736969ec2196a6bbce4ab263ff7cb7eef (diff) | |
Merge branch 'next' of git://git.secretlab.ca/git/linux-2.6
* 'next' of git://git.secretlab.ca/git/linux-2.6: (23 commits)
powerpc: fix up for mmu_mapin_ram api change
powerpc: wii: allow ioremap within the memory hole
powerpc: allow ioremap within reserved memory regions
wii: use both mem1 and mem2 as ram
wii: bootwrapper: add fixup to calc useable mem2
powerpc: gamecube/wii: early debugging using usbgecko
powerpc: reserve fixmap entries for early debug
powerpc: wii: default config
powerpc: wii: platform support
powerpc: wii: hollywood interrupt controller support
powerpc: broadway processor support
powerpc: wii: bootwrapper bits
powerpc: wii: device tree
powerpc: gamecube: default config
powerpc: gamecube: platform support
powerpc: gamecube/wii: flipper interrupt controller support
powerpc: gamecube/wii: udbg support for usbgecko
powerpc: gamecube/wii: do not include PCI support
powerpc: gamecube/wii: declare as non-coherent platforms
powerpc: gamecube/wii: introduce GAMECUBE_COMMON
...
Fix up conflicts in arch/powerpc/mm/fsl_booke_mmu.c.
Hopefully even close to correctly.
41 files changed, 5161 insertions, 22 deletions
diff --git a/Documentation/powerpc/dts-bindings/nintendo/gamecube.txt b/Documentation/powerpc/dts-bindings/nintendo/gamecube.txt new file mode 100644 index 000000000000..b558585b1aaf --- /dev/null +++ b/Documentation/powerpc/dts-bindings/nintendo/gamecube.txt | |||
| @@ -0,0 +1,109 @@ | |||
| 1 | |||
| 2 | Nintendo GameCube device tree | ||
| 3 | ============================= | ||
| 4 | |||
| 5 | 1) The "flipper" node | ||
| 6 | |||
| 7 | This node represents the multi-function "Flipper" chip, which packages | ||
| 8 | many of the devices found in the Nintendo GameCube. | ||
| 9 | |||
| 10 | Required properties: | ||
| 11 | |||
| 12 | - compatible : Should be "nintendo,flipper" | ||
| 13 | |||
| 14 | 1.a) The Video Interface (VI) node | ||
| 15 | |||
| 16 | Represents the interface between the graphics processor and a external | ||
| 17 | video encoder. | ||
| 18 | |||
| 19 | Required properties: | ||
| 20 | |||
| 21 | - compatible : should be "nintendo,flipper-vi" | ||
| 22 | - reg : should contain the VI registers location and length | ||
| 23 | - interrupts : should contain the VI interrupt | ||
| 24 | |||
| 25 | 1.b) The Processor Interface (PI) node | ||
| 26 | |||
| 27 | Represents the data and control interface between the main processor | ||
| 28 | and graphics and audio processor. | ||
| 29 | |||
| 30 | Required properties: | ||
| 31 | |||
| 32 | - compatible : should be "nintendo,flipper-pi" | ||
| 33 | - reg : should contain the PI registers location and length | ||
| 34 | |||
| 35 | 1.b.i) The "Flipper" interrupt controller node | ||
| 36 | |||
| 37 | Represents the interrupt controller within the "Flipper" chip. | ||
| 38 | The node for the "Flipper" interrupt controller must be placed under | ||
| 39 | the PI node. | ||
| 40 | |||
| 41 | Required properties: | ||
| 42 | |||
| 43 | - compatible : should be "nintendo,flipper-pic" | ||
| 44 | |||
| 45 | 1.c) The Digital Signal Procesor (DSP) node | ||
| 46 | |||
| 47 | Represents the digital signal processor interface, designed to offload | ||
| 48 | audio related tasks. | ||
| 49 | |||
| 50 | Required properties: | ||
| 51 | |||
| 52 | - compatible : should be "nintendo,flipper-dsp" | ||
| 53 | - reg : should contain the DSP registers location and length | ||
| 54 | - interrupts : should contain the DSP interrupt | ||
| 55 | |||
| 56 | 1.c.i) The Auxiliary RAM (ARAM) node | ||
| 57 | |||
| 58 | Represents the non cpu-addressable ram designed mainly to store audio | ||
| 59 | related information. | ||
| 60 | The ARAM node must be placed under the DSP node. | ||
| 61 | |||
| 62 | Required properties: | ||
| 63 | |||
| 64 | - compatible : should be "nintendo,flipper-aram" | ||
| 65 | - reg : should contain the ARAM start (zero-based) and length | ||
| 66 | |||
| 67 | 1.d) The Disk Interface (DI) node | ||
| 68 | |||
| 69 | Represents the interface used to communicate with mass storage devices. | ||
| 70 | |||
| 71 | Required properties: | ||
| 72 | |||
| 73 | - compatible : should be "nintendo,flipper-di" | ||
| 74 | - reg : should contain the DI registers location and length | ||
| 75 | - interrupts : should contain the DI interrupt | ||
| 76 | |||
| 77 | 1.e) The Audio Interface (AI) node | ||
| 78 | |||
| 79 | Represents the interface to the external 16-bit stereo digital-to-analog | ||
| 80 | converter. | ||
| 81 | |||
| 82 | Required properties: | ||
| 83 | |||
| 84 | - compatible : should be "nintendo,flipper-ai" | ||
| 85 | - reg : should contain the AI registers location and length | ||
| 86 | - interrupts : should contain the AI interrupt | ||
| 87 | |||
| 88 | 1.f) The Serial Interface (SI) node | ||
| 89 | |||
| 90 | Represents the interface to the four single bit serial interfaces. | ||
| 91 | The SI is a proprietary serial interface used normally to control gamepads. | ||
| 92 | It's NOT a RS232-type interface. | ||
| 93 | |||
| 94 | Required properties: | ||
| 95 | |||
| 96 | - compatible : should be "nintendo,flipper-si" | ||
| 97 | - reg : should contain the SI registers location and length | ||
| 98 | - interrupts : should contain the SI interrupt | ||
| 99 | |||
| 100 | 1.g) The External Interface (EXI) node | ||
| 101 | |||
| 102 | Represents the multi-channel SPI-like interface. | ||
| 103 | |||
| 104 | Required properties: | ||
| 105 | |||
| 106 | - compatible : should be "nintendo,flipper-exi" | ||
| 107 | - reg : should contain the EXI registers location and length | ||
| 108 | - interrupts : should contain the EXI interrupt | ||
| 109 | |||
diff --git a/Documentation/powerpc/dts-bindings/nintendo/wii.txt b/Documentation/powerpc/dts-bindings/nintendo/wii.txt new file mode 100644 index 000000000000..a7e155a023b8 --- /dev/null +++ b/Documentation/powerpc/dts-bindings/nintendo/wii.txt | |||
| @@ -0,0 +1,184 @@ | |||
| 1 | |||
| 2 | Nintendo Wii device tree | ||
| 3 | ======================== | ||
| 4 | |||
| 5 | 0) The root node | ||
| 6 | |||
| 7 | This node represents the Nintendo Wii video game console. | ||
| 8 | |||
| 9 | Required properties: | ||
| 10 | |||
| 11 | - model : Should be "nintendo,wii" | ||
| 12 | - compatible : Should be "nintendo,wii" | ||
| 13 | |||
| 14 | 1) The "hollywood" node | ||
| 15 | |||
| 16 | This node represents the multi-function "Hollywood" chip, which packages | ||
| 17 | many of the devices found in the Nintendo Wii. | ||
| 18 | |||
| 19 | Required properties: | ||
| 20 | |||
| 21 | - compatible : Should be "nintendo,hollywood" | ||
| 22 | |||
| 23 | 1.a) The Video Interface (VI) node | ||
| 24 | |||
| 25 | Represents the interface between the graphics processor and a external | ||
| 26 | video encoder. | ||
| 27 | |||
| 28 | Required properties: | ||
| 29 | |||
| 30 | - compatible : should be "nintendo,hollywood-vi","nintendo,flipper-vi" | ||
| 31 | - reg : should contain the VI registers location and length | ||
| 32 | - interrupts : should contain the VI interrupt | ||
| 33 | |||
| 34 | 1.b) The Processor Interface (PI) node | ||
| 35 | |||
| 36 | Represents the data and control interface between the main processor | ||
| 37 | and graphics and audio processor. | ||
| 38 | |||
| 39 | Required properties: | ||
| 40 | |||
| 41 | - compatible : should be "nintendo,hollywood-pi","nintendo,flipper-pi" | ||
| 42 | - reg : should contain the PI registers location and length | ||
| 43 | |||
| 44 | 1.b.i) The "Flipper" interrupt controller node | ||
| 45 | |||
| 46 | Represents the "Flipper" interrupt controller within the "Hollywood" chip. | ||
| 47 | The node for the "Flipper" interrupt controller must be placed under | ||
| 48 | the PI node. | ||
| 49 | |||
| 50 | Required properties: | ||
| 51 | |||
| 52 | - #interrupt-cells : <1> | ||
| 53 | - compatible : should be "nintendo,flipper-pic" | ||
| 54 | - interrupt-controller | ||
| 55 | |||
| 56 | 1.c) The Digital Signal Procesor (DSP) node | ||
| 57 | |||
| 58 | Represents the digital signal processor interface, designed to offload | ||
| 59 | audio related tasks. | ||
| 60 | |||
| 61 | Required properties: | ||
| 62 | |||
| 63 | - compatible : should be "nintendo,hollywood-dsp","nintendo,flipper-dsp" | ||
| 64 | - reg : should contain the DSP registers location and length | ||
| 65 | - interrupts : should contain the DSP interrupt | ||
| 66 | |||
| 67 | 1.d) The Serial Interface (SI) node | ||
| 68 | |||
| 69 | Represents the interface to the four single bit serial interfaces. | ||
| 70 | The SI is a proprietary serial interface used normally to control gamepads. | ||
| 71 | It's NOT a RS232-type interface. | ||
| 72 | |||
| 73 | Required properties: | ||
| 74 | |||
| 75 | - compatible : should be "nintendo,hollywood-si","nintendo,flipper-si" | ||
| 76 | - reg : should contain the SI registers location and length | ||
| 77 | - interrupts : should contain the SI interrupt | ||
| 78 | |||
| 79 | 1.e) The Audio Interface (AI) node | ||
| 80 | |||
| 81 | Represents the interface to the external 16-bit stereo digital-to-analog | ||
| 82 | converter. | ||
| 83 | |||
| 84 | Required properties: | ||
| 85 | |||
| 86 | - compatible : should be "nintendo,hollywood-ai","nintendo,flipper-ai" | ||
| 87 | - reg : should contain the AI registers location and length | ||
| 88 | - interrupts : should contain the AI interrupt | ||
| 89 | |||
| 90 | 1.f) The External Interface (EXI) node | ||
| 91 | |||
| 92 | Represents the multi-channel SPI-like interface. | ||
| 93 | |||
| 94 | Required properties: | ||
| 95 | |||
| 96 | - compatible : should be "nintendo,hollywood-exi","nintendo,flipper-exi" | ||
| 97 | - reg : should contain the EXI registers location and length | ||
| 98 | - interrupts : should contain the EXI interrupt | ||
| 99 | |||
| 100 | 1.g) The Open Host Controller Interface (OHCI) nodes | ||
| 101 | |||
| 102 | Represent the USB 1.x Open Host Controller Interfaces. | ||
| 103 | |||
| 104 | Required properties: | ||
| 105 | |||
| 106 | - compatible : should be "nintendo,hollywood-usb-ohci","usb-ohci" | ||
| 107 | - reg : should contain the OHCI registers location and length | ||
| 108 | - interrupts : should contain the OHCI interrupt | ||
| 109 | |||
| 110 | 1.h) The Enhanced Host Controller Interface (EHCI) node | ||
| 111 | |||
| 112 | Represents the USB 2.0 Enhanced Host Controller Interface. | ||
| 113 | |||
| 114 | Required properties: | ||
| 115 | |||
| 116 | - compatible : should be "nintendo,hollywood-usb-ehci","usb-ehci" | ||
| 117 | - reg : should contain the EHCI registers location and length | ||
| 118 | - interrupts : should contain the EHCI interrupt | ||
| 119 | |||
| 120 | 1.i) The Secure Digital Host Controller Interface (SDHCI) nodes | ||
| 121 | |||
| 122 | Represent the Secure Digital Host Controller Interfaces. | ||
| 123 | |||
| 124 | Required properties: | ||
| 125 | |||
| 126 | - compatible : should be "nintendo,hollywood-sdhci","sdhci" | ||
| 127 | - reg : should contain the SDHCI registers location and length | ||
| 128 | - interrupts : should contain the SDHCI interrupt | ||
| 129 | |||
| 130 | 1.j) The Inter-Processsor Communication (IPC) node | ||
| 131 | |||
| 132 | Represent the Inter-Processor Communication interface. This interface | ||
| 133 | enables communications between the Broadway and the Starlet processors. | ||
| 134 | |||
| 135 | - compatible : should be "nintendo,hollywood-ipc" | ||
| 136 | - reg : should contain the IPC registers location and length | ||
| 137 | - interrupts : should contain the IPC interrupt | ||
| 138 | |||
| 139 | 1.k) The "Hollywood" interrupt controller node | ||
| 140 | |||
| 141 | Represents the "Hollywood" interrupt controller within the | ||
| 142 | "Hollywood" chip. | ||
| 143 | |||
| 144 | Required properties: | ||
| 145 | |||
| 146 | - #interrupt-cells : <1> | ||
| 147 | - compatible : should be "nintendo,hollywood-pic" | ||
| 148 | - reg : should contain the controller registers location and length | ||
| 149 | - interrupt-controller | ||
| 150 | - interrupts : should contain the cascade interrupt of the "flipper" pic | ||
| 151 | - interrupt-parent: should contain the phandle of the "flipper" pic | ||
| 152 | |||
| 153 | 1.l) The General Purpose I/O (GPIO) controller node | ||
| 154 | |||
| 155 | Represents the dual access 32 GPIO controller interface. | ||
| 156 | |||
| 157 | Required properties: | ||
| 158 | |||
| 159 | - #gpio-cells : <2> | ||
| 160 | - compatible : should be "nintendo,hollywood-gpio" | ||
| 161 | - reg : should contain the IPC registers location and length | ||
| 162 | - gpio-controller | ||
| 163 | |||
| 164 | 1.m) The control node | ||
| 165 | |||
| 166 | Represents the control interface used to setup several miscellaneous | ||
| 167 | settings of the "Hollywood" chip like boot memory mappings, resets, | ||
| 168 | disk interface mode, etc. | ||
| 169 | |||
| 170 | Required properties: | ||
| 171 | |||
| 172 | - compatible : should be "nintendo,hollywood-control" | ||
| 173 | - reg : should contain the control registers location and length | ||
| 174 | |||
| 175 | 1.n) The Disk Interface (DI) node | ||
| 176 | |||
| 177 | Represents the interface used to communicate with mass storage devices. | ||
| 178 | |||
| 179 | Required properties: | ||
| 180 | |||
| 181 | - compatible : should be "nintendo,hollywood-di" | ||
| 182 | - reg : should contain the DI registers location and length | ||
| 183 | - interrupts : should contain the DI interrupt | ||
| 184 | |||
diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index 0df57466e783..ba3948c70072 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig | |||
| @@ -704,7 +704,7 @@ config PPC_PCI_CHOICE | |||
| 704 | config PCI | 704 | config PCI |
| 705 | bool "PCI support" if PPC_PCI_CHOICE | 705 | bool "PCI support" if PPC_PCI_CHOICE |
| 706 | default y if !40x && !CPM2 && !8xx && !PPC_83xx \ | 706 | default y if !40x && !CPM2 && !8xx && !PPC_83xx \ |
| 707 | && !PPC_85xx && !PPC_86xx | 707 | && !PPC_85xx && !PPC_86xx && !GAMECUBE_COMMON |
| 708 | default PCI_PERMEDIA if !4xx && !CPM2 && !8xx | 708 | default PCI_PERMEDIA if !4xx && !CPM2 && !8xx |
| 709 | default PCI_QSPAN if !4xx && !CPM2 && 8xx | 709 | default PCI_QSPAN if !4xx && !CPM2 && 8xx |
| 710 | select ARCH_SUPPORTS_MSI | 710 | select ARCH_SUPPORTS_MSI |
diff --git a/arch/powerpc/Kconfig.debug b/arch/powerpc/Kconfig.debug index bf3382f1904d..5cdd7ed9a12e 100644 --- a/arch/powerpc/Kconfig.debug +++ b/arch/powerpc/Kconfig.debug | |||
| @@ -254,6 +254,14 @@ config PPC_EARLY_DEBUG_CPM | |||
| 254 | using a CPM-based serial port. This assumes that the bootwrapper | 254 | using a CPM-based serial port. This assumes that the bootwrapper |
| 255 | has run, and set up the CPM in a particular way. | 255 | has run, and set up the CPM in a particular way. |
| 256 | 256 | ||
| 257 | config PPC_EARLY_DEBUG_USBGECKO | ||
| 258 | bool "Early debugging through the USB Gecko adapter" | ||
| 259 | depends on GAMECUBE_COMMON | ||
| 260 | select USBGECKO_UDBG | ||
| 261 | help | ||
| 262 | Select this to enable early debugging for Nintendo GameCube/Wii | ||
| 263 | consoles via an external USB Gecko adapter. | ||
| 264 | |||
| 257 | endchoice | 265 | endchoice |
| 258 | 266 | ||
| 259 | config PPC_EARLY_DEBUG_44x_PHYSLOW | 267 | config PPC_EARLY_DEBUG_44x_PHYSLOW |
diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile index 7bfc8ad87798..bb2465bcb327 100644 --- a/arch/powerpc/boot/Makefile +++ b/arch/powerpc/boot/Makefile | |||
| @@ -66,7 +66,7 @@ src-wlib := string.S crt0.S crtsavres.S stdio.c main.c \ | |||
| 66 | gunzip_util.c elf_util.c $(zlib) devtree.c oflib.c ofconsole.c \ | 66 | gunzip_util.c elf_util.c $(zlib) devtree.c oflib.c ofconsole.c \ |
| 67 | 4xx.c ebony.c mv64x60.c mpsc.c mv64x60_i2c.c cuboot.c bamboo.c \ | 67 | 4xx.c ebony.c mv64x60.c mpsc.c mv64x60_i2c.c cuboot.c bamboo.c \ |
| 68 | cpm-serial.c stdlib.c mpc52xx-psc.c planetcore.c uartlite.c \ | 68 | cpm-serial.c stdlib.c mpc52xx-psc.c planetcore.c uartlite.c \ |
| 69 | fsl-soc.c mpc8xx.c pq2.c | 69 | fsl-soc.c mpc8xx.c pq2.c ugecon.c |
| 70 | src-plat := of.c cuboot-52xx.c cuboot-824x.c cuboot-83xx.c cuboot-85xx.c holly.c \ | 70 | src-plat := of.c cuboot-52xx.c cuboot-824x.c cuboot-83xx.c cuboot-85xx.c holly.c \ |
| 71 | cuboot-ebony.c cuboot-hotfoot.c treeboot-ebony.c prpmc2800.c \ | 71 | cuboot-ebony.c cuboot-hotfoot.c treeboot-ebony.c prpmc2800.c \ |
| 72 | ps3-head.S ps3-hvcall.S ps3.c treeboot-bamboo.c cuboot-8xx.c \ | 72 | ps3-head.S ps3-hvcall.S ps3.c treeboot-bamboo.c cuboot-8xx.c \ |
| @@ -76,7 +76,8 @@ src-plat := of.c cuboot-52xx.c cuboot-824x.c cuboot-83xx.c cuboot-85xx.c holly.c | |||
| 76 | cuboot-katmai.c cuboot-rainier.c redboot-8xx.c ep8248e.c \ | 76 | cuboot-katmai.c cuboot-rainier.c redboot-8xx.c ep8248e.c \ |
| 77 | cuboot-warp.c cuboot-85xx-cpm2.c cuboot-yosemite.c simpleboot.c \ | 77 | cuboot-warp.c cuboot-85xx-cpm2.c cuboot-yosemite.c simpleboot.c \ |
| 78 | virtex405-head.S virtex.c redboot-83xx.c cuboot-sam440ep.c \ | 78 | virtex405-head.S virtex.c redboot-83xx.c cuboot-sam440ep.c \ |
| 79 | cuboot-acadia.c cuboot-amigaone.c cuboot-kilauea.c | 79 | cuboot-acadia.c cuboot-amigaone.c cuboot-kilauea.c \ |
| 80 | gamecube-head.S gamecube.c wii-head.S wii.c | ||
| 80 | src-boot := $(src-wlib) $(src-plat) empty.c | 81 | src-boot := $(src-wlib) $(src-plat) empty.c |
| 81 | 82 | ||
| 82 | src-boot := $(addprefix $(obj)/, $(src-boot)) | 83 | src-boot := $(addprefix $(obj)/, $(src-boot)) |
| @@ -254,6 +255,8 @@ image-$(CONFIG_KSI8560) += cuImage.ksi8560 | |||
| 254 | image-$(CONFIG_STORCENTER) += cuImage.storcenter | 255 | image-$(CONFIG_STORCENTER) += cuImage.storcenter |
| 255 | image-$(CONFIG_MPC7448HPC2) += cuImage.mpc7448hpc2 | 256 | image-$(CONFIG_MPC7448HPC2) += cuImage.mpc7448hpc2 |
| 256 | image-$(CONFIG_PPC_C2K) += cuImage.c2k | 257 | image-$(CONFIG_PPC_C2K) += cuImage.c2k |
| 258 | image-$(CONFIG_GAMECUBE) += dtbImage.gamecube | ||
| 259 | image-$(CONFIG_WII) += dtbImage.wii | ||
| 257 | 260 | ||
| 258 | # Board port in arch/powerpc/platform/amigaone/Kconfig | 261 | # Board port in arch/powerpc/platform/amigaone/Kconfig |
| 259 | image-$(CONFIG_AMIGAONE) += cuImage.amigaone | 262 | image-$(CONFIG_AMIGAONE) += cuImage.amigaone |
diff --git a/arch/powerpc/boot/dts/gamecube.dts b/arch/powerpc/boot/dts/gamecube.dts new file mode 100644 index 000000000000..ef3be0e58b02 --- /dev/null +++ b/arch/powerpc/boot/dts/gamecube.dts | |||
| @@ -0,0 +1,114 @@ | |||
| 1 | /* | ||
| 2 | * arch/powerpc/boot/dts/gamecube.dts | ||
| 3 | * | ||
| 4 | * Nintendo GameCube platform device tree source | ||
| 5 | * Copyright (C) 2007-2009 The GameCube Linux Team | ||
| 6 | * Copyright (C) 2007,2008,2009 Albert Herranz | ||
| 7 | * | ||
| 8 | * This program is free software; you can redistribute it and/or | ||
| 9 | * modify it under the terms of the GNU General Public License | ||
| 10 | * as published by the Free Software Foundation; either version 2 | ||
| 11 | * of the License, or (at your option) any later version. | ||
| 12 | * | ||
| 13 | */ | ||
| 14 | |||
| 15 | /dts-v1/; | ||
| 16 | |||
| 17 | / { | ||
| 18 | model = "nintendo,gamecube"; | ||
| 19 | compatible = "nintendo,gamecube"; | ||
| 20 | #address-cells = <1>; | ||
| 21 | #size-cells = <1>; | ||
| 22 | |||
| 23 | chosen { | ||
| 24 | bootargs = "root=/dev/gcnsda2 rootwait udbg-immortal"; | ||
| 25 | }; | ||
| 26 | |||
| 27 | memory { | ||
| 28 | device_type = "memory"; | ||
| 29 | reg = <0x00000000 0x01800000>; | ||
| 30 | }; | ||
| 31 | |||
| 32 | cpus { | ||
| 33 | #address-cells = <1>; | ||
| 34 | #size-cells = <0>; | ||
| 35 | |||
| 36 | PowerPC,gekko@0 { | ||
| 37 | device_type = "cpu"; | ||
| 38 | reg = <0>; | ||
| 39 | clock-frequency = <486000000>; /* 486MHz */ | ||
| 40 | bus-frequency = <162000000>; /* 162MHz core-to-bus 3x */ | ||
| 41 | timebase-frequency = <40500000>; /* 162MHz / 4 */ | ||
| 42 | i-cache-line-size = <32>; | ||
| 43 | d-cache-line-size = <32>; | ||
| 44 | i-cache-size = <32768>; | ||
| 45 | d-cache-size = <32768>; | ||
| 46 | }; | ||
| 47 | }; | ||
| 48 | |||
| 49 | /* devices contained int the flipper chipset */ | ||
| 50 | flipper { | ||
| 51 | #address-cells = <1>; | ||
| 52 | #size-cells = <1>; | ||
| 53 | compatible = "nintendo,flipper"; | ||
| 54 | ranges = <0x0c000000 0x0c000000 0x00010000>; | ||
| 55 | interrupt-parent = <&PIC>; | ||
| 56 | |||
| 57 | video@0c002000 { | ||
| 58 | compatible = "nintendo,flipper-vi"; | ||
| 59 | reg = <0x0c002000 0x100>; | ||
| 60 | interrupts = <8>; | ||
| 61 | }; | ||
| 62 | |||
| 63 | processor-interface@0c003000 { | ||
| 64 | compatible = "nintendo,flipper-pi"; | ||
| 65 | reg = <0x0c003000 0x100>; | ||
| 66 | |||
| 67 | PIC: pic { | ||
| 68 | #interrupt-cells = <1>; | ||
| 69 | compatible = "nintendo,flipper-pic"; | ||
| 70 | interrupt-controller; | ||
| 71 | }; | ||
| 72 | }; | ||
| 73 | |||
| 74 | dsp@0c005000 { | ||
| 75 | #address-cells = <1>; | ||
| 76 | #size-cells = <1>; | ||
| 77 | compatible = "nintendo,flipper-dsp"; | ||
| 78 | reg = <0x0c005000 0x200>; | ||
| 79 | interrupts = <6>; | ||
| 80 | |||
| 81 | memory@0 { | ||
| 82 | compatible = "nintendo,flipper-aram"; | ||
| 83 | reg = <0 0x1000000>; /* 16MB */ | ||
| 84 | }; | ||
| 85 | }; | ||
| 86 | |||
| 87 | disk@0c006000 { | ||
| 88 | compatible = "nintendo,flipper-di"; | ||
| 89 | reg = <0x0c006000 0x40>; | ||
| 90 | interrupts = <2>; | ||
| 91 | }; | ||
| 92 | |||
| 93 | audio@0c006c00 { | ||
| 94 | compatible = "nintendo,flipper-ai"; | ||
| 95 | reg = <0x0c006c00 0x20>; | ||
| 96 | interrupts = <6>; | ||
| 97 | }; | ||
| 98 | |||
| 99 | gamepad-controller@0c006400 { | ||
| 100 | compatible = "nintendo,flipper-si"; | ||
| 101 | reg = <0x0c006400 0x100>; | ||
| 102 | interrupts = <3>; | ||
| 103 | }; | ||
| 104 | |||
| 105 | /* External Interface bus */ | ||
| 106 | exi@0c006800 { | ||
| 107 | compatible = "nintendo,flipper-exi"; | ||
| 108 | reg = <0x0c006800 0x40>; | ||
| 109 | virtual-reg = <0x0c006800>; | ||
| 110 | interrupts = <4>; | ||
| 111 | }; | ||
| 112 | }; | ||
| 113 | }; | ||
| 114 | |||
diff --git a/arch/powerpc/boot/dts/wii.dts b/arch/powerpc/boot/dts/wii.dts new file mode 100644 index 000000000000..77528c9a8dbd --- /dev/null +++ b/arch/powerpc/boot/dts/wii.dts | |||
| @@ -0,0 +1,218 @@ | |||
| 1 | /* | ||
| 2 | * arch/powerpc/boot/dts/wii.dts | ||
| 3 | * | ||
| 4 | * Nintendo Wii platform device tree source | ||
| 5 | * Copyright (C) 2008-2009 The GameCube Linux Team | ||
| 6 | * Copyright (C) 2008,2009 Albert Herranz | ||
| 7 | * | ||
| 8 | * This program is free software; you can redistribute it and/or | ||
| 9 | * modify it under the terms of the GNU General Public License | ||
| 10 | * as published by the Free Software Foundation; either version 2 | ||
| 11 | * of the License, or (at your option) any later version. | ||
| 12 | * | ||
| 13 | */ | ||
| 14 | |||
| 15 | /dts-v1/; | ||
| 16 | |||
| 17 | /* | ||
| 18 | * This is commented-out for now. | ||
| 19 | * Until a later patch is merged, the kernel can use only the first | ||
| 20 | * contiguous RAM range and will BUG() if the memreserve is outside | ||
| 21 | * that range. | ||
| 22 | */ | ||
| 23 | /*/memreserve/ 0x10000000 0x0004000;*/ /* DSP RAM */ | ||
| 24 | |||
| 25 | / { | ||
| 26 | model = "nintendo,wii"; | ||
| 27 | compatible = "nintendo,wii"; | ||
| 28 | #address-cells = <1>; | ||
| 29 | #size-cells = <1>; | ||
| 30 | |||
| 31 | chosen { | ||
| 32 | bootargs = "root=/dev/mmcblk0p2 rootwait udbg-immortal"; | ||
| 33 | }; | ||
| 34 | |||
| 35 | memory { | ||
| 36 | device_type = "memory"; | ||
| 37 | reg = <0x00000000 0x01800000 /* MEM1 24MB 1T-SRAM */ | ||
| 38 | 0x10000000 0x04000000>; /* MEM2 64MB GDDR3 */ | ||
| 39 | }; | ||
| 40 | |||
| 41 | cpus { | ||
| 42 | #address-cells = <1>; | ||
| 43 | #size-cells = <0>; | ||
| 44 | |||
| 45 | PowerPC,broadway@0 { | ||
| 46 | device_type = "cpu"; | ||
| 47 | reg = <0>; | ||
| 48 | clock-frequency = <729000000>; /* 729MHz */ | ||
| 49 | bus-frequency = <243000000>; /* 243MHz core-to-bus 3x */ | ||
| 50 | timebase-frequency = <60750000>; /* 243MHz / 4 */ | ||
| 51 | i-cache-line-size = <32>; | ||
| 52 | d-cache-line-size = <32>; | ||
| 53 | i-cache-size = <32768>; | ||
| 54 | d-cache-size = <32768>; | ||
| 55 | }; | ||
| 56 | }; | ||
| 57 | |||
| 58 | /* devices contained in the hollywood chipset */ | ||
| 59 | hollywood { | ||
| 60 | #address-cells = <1>; | ||
| 61 | #size-cells = <1>; | ||
| 62 | compatible = "nintendo,hollywood"; | ||
| 63 | ranges = <0x0c000000 0x0c000000 0x01000000 | ||
| 64 | 0x0d000000 0x0d000000 0x00800000 | ||
| 65 | 0x0d800000 0x0d800000 0x00800000>; | ||
| 66 | interrupt-parent = <&PIC0>; | ||
| 67 | |||
| 68 | video@0c002000 { | ||
| 69 | compatible = "nintendo,hollywood-vi", | ||
| 70 | "nintendo,flipper-vi"; | ||
| 71 | reg = <0x0c002000 0x100>; | ||
| 72 | interrupts = <8>; | ||
| 73 | }; | ||
| 74 | |||
| 75 | processor-interface@0c003000 { | ||
| 76 | compatible = "nintendo,hollywood-pi", | ||
| 77 | "nintendo,flipper-pi"; | ||
| 78 | reg = <0x0c003000 0x100>; | ||
| 79 | |||
| 80 | PIC0: pic0 { | ||
| 81 | #interrupt-cells = <1>; | ||
| 82 | compatible = "nintendo,flipper-pic"; | ||
| 83 | interrupt-controller; | ||
| 84 | }; | ||
| 85 | }; | ||
| 86 | |||
| 87 | dsp@0c005000 { | ||
| 88 | #address-cells = <1>; | ||
| 89 | #size-cells = <1>; | ||
| 90 | compatible = "nintendo,hollywood-dsp", | ||
| 91 | "nintendo,flipper-dsp"; | ||
| 92 | reg = <0x0c005000 0x200>; | ||
| 93 | interrupts = <6>; | ||
| 94 | }; | ||
| 95 | |||
| 96 | gamepad-controller@0d006400 { | ||
| 97 | compatible = "nintendo,hollywood-si", | ||
| 98 | "nintendo,flipper-si"; | ||
| 99 | reg = <0x0d006400 0x100>; | ||
| 100 | interrupts = <3>; | ||
| 101 | }; | ||
| 102 | |||
| 103 | audio@0c006c00 { | ||
| 104 | compatible = "nintendo,hollywood-ai", | ||
| 105 | "nintendo,flipper-ai"; | ||
| 106 | reg = <0x0d006c00 0x20>; | ||
| 107 | interrupts = <6>; | ||
| 108 | }; | ||
| 109 | |||
| 110 | /* External Interface bus */ | ||
| 111 | exi@0d006800 { | ||
| 112 | compatible = "nintendo,hollywood-exi", | ||
| 113 | "nintendo,flipper-exi"; | ||
| 114 | reg = <0x0d006800 0x40>; | ||
| 115 | virtual-reg = <0x0d006800>; | ||
| 116 | interrupts = <4>; | ||
| 117 | }; | ||
| 118 | |||
| 119 | usb@0d040000 { | ||
| 120 | compatible = "nintendo,hollywood-usb-ehci", | ||
| 121 | "usb-ehci"; | ||
| 122 | reg = <0x0d040000 0x100>; | ||
| 123 | interrupts = <4>; | ||
| 124 | interrupt-parent = <&PIC1>; | ||
| 125 | }; | ||
| 126 | |||
| 127 | usb@0d050000 { | ||
| 128 | compatible = "nintendo,hollywood-usb-ohci", | ||
| 129 | "usb-ohci"; | ||
| 130 | reg = <0x0d050000 0x100>; | ||
| 131 | interrupts = <5>; | ||
| 132 | interrupt-parent = <&PIC1>; | ||
| 133 | }; | ||
| 134 | |||
| 135 | usb@0d060000 { | ||
| 136 | compatible = "nintendo,hollywood-usb-ohci", | ||
| 137 | "usb-ohci"; | ||
| 138 | reg = <0x0d060000 0x100>; | ||
| 139 | interrupts = <6>; | ||
| 140 | interrupt-parent = <&PIC1>; | ||
| 141 | }; | ||
| 142 | |||
| 143 | sd@0d070000 { | ||
| 144 | compatible = "nintendo,hollywood-sdhci", | ||
| 145 | "sdhci"; | ||
| 146 | reg = <0x0d070000 0x200>; | ||
| 147 | interrupts = <7>; | ||
| 148 | interrupt-parent = <&PIC1>; | ||
| 149 | }; | ||
| 150 | |||
| 151 | sdio@0d080000 { | ||
| 152 | compatible = "nintendo,hollywood-sdhci", | ||
| 153 | "sdhci"; | ||
| 154 | reg = <0x0d080000 0x200>; | ||
| 155 | interrupts = <8>; | ||
| 156 | interrupt-parent = <&PIC1>; | ||
| 157 | }; | ||
| 158 | |||
| 159 | ipc@0d000000 { | ||
| 160 | compatible = "nintendo,hollywood-ipc"; | ||
| 161 | reg = <0x0d000000 0x10>; | ||
| 162 | interrupts = <30>; | ||
| 163 | interrupt-parent = <&PIC1>; | ||
| 164 | }; | ||
| 165 | |||
| 166 | PIC1: pic1@0d800030 { | ||
| 167 | #interrupt-cells = <1>; | ||
| 168 | compatible = "nintendo,hollywood-pic"; | ||
| 169 | reg = <0x0d800030 0x10>; | ||
| 170 | interrupt-controller; | ||
| 171 | interrupts = <14>; | ||
| 172 | }; | ||
| 173 | |||
| 174 | GPIO: gpio@0d8000c0 { | ||
| 175 | #gpio-cells = <2>; | ||
| 176 | compatible = "nintendo,hollywood-gpio"; | ||
| 177 | reg = <0x0d8000c0 0x40>; | ||
| 178 | gpio-controller; | ||
| 179 | |||
| 180 | /* | ||
| 181 | * This is commented out while a standard binding | ||
| 182 | * for i2c over gpio is defined. | ||
| 183 | */ | ||
| 184 | /* | ||
| 185 | i2c-video { | ||
| 186 | #address-cells = <1>; | ||
| 187 | #size-cells = <0>; | ||
| 188 | compatible = "i2c-gpio"; | ||
| 189 | |||
| 190 | gpios = <&GPIO 15 0 | ||
| 191 | &GPIO 14 0>; | ||
| 192 | clock-frequency = <250000>; | ||
| 193 | no-clock-stretching; | ||
| 194 | scl-is-open-drain; | ||
| 195 | sda-is-open-drain; | ||
| 196 | sda-enforce-dir; | ||
| 197 | |||
| 198 | AVE: audio-video-encoder@70 { | ||
| 199 | compatible = "nintendo,wii-audio-video-encoder"; | ||
| 200 | reg = <0x70>; | ||
| 201 | }; | ||
| 202 | }; | ||
| 203 | */ | ||
| 204 | }; | ||
| 205 | |||
| 206 | control@0d800100 { | ||
| 207 | compatible = "nintendo,hollywood-control"; | ||
| 208 | reg = <0x0d800100 0x300>; | ||
| 209 | }; | ||
| 210 | |||
| 211 | disk@0d806000 { | ||
| 212 | compatible = "nintendo,hollywood-di"; | ||
| 213 | reg = <0x0d806000 0x40>; | ||
| 214 | interrupts = <2>; | ||
| 215 | }; | ||
| 216 | }; | ||
| 217 | }; | ||
| 218 | |||
diff --git a/arch/powerpc/boot/gamecube-head.S b/arch/powerpc/boot/gamecube-head.S new file mode 100644 index 000000000000..65a9b2a3bf33 --- /dev/null +++ b/arch/powerpc/boot/gamecube-head.S | |||
| @@ -0,0 +1,111 @@ | |||
| 1 | /* | ||
| 2 | * arch/powerpc/boot/gamecube-head.S | ||
| 3 | * | ||
| 4 | * Nintendo GameCube bootwrapper entry. | ||
| 5 | * Copyright (C) 2004-2009 The GameCube Linux Team | ||
| 6 | * Copyright (C) 2008,2009 Albert Herranz | ||
| 7 | * | ||
| 8 | * This program is free software; you can redistribute it and/or | ||
| 9 | * modify it under the terms of the GNU General Public License | ||
| 10 | * as published by the Free Software Foundation; either version 2 | ||
| 11 | * of the License, or (at your option) any later version. | ||
| 12 | * | ||
| 13 | */ | ||
| 14 | |||
| 15 | #include "ppc_asm.h" | ||
| 16 | |||
| 17 | /* | ||
| 18 | * The entry code does no assumptions regarding: | ||
| 19 | * - if the data and instruction caches are enabled or not | ||
| 20 | * - if the MMU is enabled or not | ||
| 21 | * | ||
| 22 | * We enable the caches if not already enabled, enable the MMU with an | ||
| 23 | * identity mapping scheme and jump to the start code. | ||
| 24 | */ | ||
| 25 | |||
| 26 | .text | ||
| 27 | |||
| 28 | .globl _zimage_start | ||
| 29 | _zimage_start: | ||
| 30 | |||
| 31 | /* turn the MMU off */ | ||
| 32 | mfmsr 9 | ||
| 33 | rlwinm 9, 9, 0, ~((1<<4)|(1<<5)) /* MSR_DR|MSR_IR */ | ||
| 34 | bcl 20, 31, 1f | ||
| 35 | 1: | ||
| 36 | mflr 8 | ||
| 37 | clrlwi 8, 8, 3 /* convert to a real address */ | ||
| 38 | addi 8, 8, _mmu_off - 1b | ||
| 39 | mtsrr0 8 | ||
| 40 | mtsrr1 9 | ||
| 41 | rfi | ||
| 42 | _mmu_off: | ||
| 43 | /* MMU disabled */ | ||
| 44 | |||
| 45 | /* setup BATs */ | ||
| 46 | isync | ||
| 47 | li 8, 0 | ||
| 48 | mtspr 0x210, 8 /* IBAT0U */ | ||
| 49 | mtspr 0x212, 8 /* IBAT1U */ | ||
| 50 | mtspr 0x214, 8 /* IBAT2U */ | ||
| 51 | mtspr 0x216, 8 /* IBAT3U */ | ||
| 52 | mtspr 0x218, 8 /* DBAT0U */ | ||
| 53 | mtspr 0x21a, 8 /* DBAT1U */ | ||
| 54 | mtspr 0x21c, 8 /* DBAT2U */ | ||
| 55 | mtspr 0x21e, 8 /* DBAT3U */ | ||
| 56 | |||
| 57 | li 8, 0x01ff /* first 16MiB */ | ||
| 58 | li 9, 0x0002 /* rw */ | ||
| 59 | mtspr 0x211, 9 /* IBAT0L */ | ||
| 60 | mtspr 0x210, 8 /* IBAT0U */ | ||
| 61 | mtspr 0x219, 9 /* DBAT0L */ | ||
| 62 | mtspr 0x218, 8 /* DBAT0U */ | ||
| 63 | |||
| 64 | lis 8, 0x0c00 /* I/O mem */ | ||
| 65 | ori 8, 8, 0x3ff /* 32MiB */ | ||
| 66 | lis 9, 0x0c00 | ||
| 67 | ori 9, 9, 0x002a /* uncached, guarded, rw */ | ||
| 68 | mtspr 0x21b, 9 /* DBAT1L */ | ||
| 69 | mtspr 0x21a, 8 /* DBAT1U */ | ||
| 70 | |||
| 71 | lis 8, 0x0100 /* next 8MiB */ | ||
| 72 | ori 8, 8, 0x00ff /* 8MiB */ | ||
| 73 | lis 9, 0x0100 | ||
| 74 | ori 9, 9, 0x0002 /* rw */ | ||
| 75 | mtspr 0x215, 9 /* IBAT2L */ | ||
| 76 | mtspr 0x214, 8 /* IBAT2U */ | ||
| 77 | mtspr 0x21d, 9 /* DBAT2L */ | ||
| 78 | mtspr 0x21c, 8 /* DBAT2U */ | ||
| 79 | |||
| 80 | /* enable and invalidate the caches if not already enabled */ | ||
| 81 | mfspr 8, 0x3f0 /* HID0 */ | ||
| 82 | andi. 0, 8, (1<<15) /* HID0_ICE */ | ||
| 83 | bne 1f | ||
| 84 | ori 8, 8, (1<<15)|(1<<11) /* HID0_ICE|HID0_ICFI*/ | ||
| 85 | 1: | ||
| 86 | andi. 0, 8, (1<<14) /* HID0_DCE */ | ||
| 87 | bne 1f | ||
| 88 | ori 8, 8, (1<<14)|(1<<10) /* HID0_DCE|HID0_DCFI*/ | ||
| 89 | 1: | ||
| 90 | mtspr 0x3f0, 8 /* HID0 */ | ||
| 91 | isync | ||
| 92 | |||
| 93 | /* initialize arguments */ | ||
| 94 | li 3, 0 | ||
| 95 | li 4, 0 | ||
| 96 | li 5, 0 | ||
| 97 | |||
| 98 | /* turn the MMU on */ | ||
| 99 | bcl 20, 31, 1f | ||
| 100 | 1: | ||
| 101 | mflr 8 | ||
| 102 | addi 8, 8, _mmu_on - 1b | ||
| 103 | mfmsr 9 | ||
| 104 | ori 9, 9, (1<<4)|(1<<5) /* MSR_DR|MSR_IR */ | ||
| 105 | mtsrr0 8 | ||
| 106 | mtsrr1 9 | ||
| 107 | sync | ||
| 108 | rfi | ||
| 109 | _mmu_on: | ||
| 110 | b _zimage_start_lib | ||
| 111 | |||
diff --git a/arch/powerpc/boot/gamecube.c b/arch/powerpc/boot/gamecube.c new file mode 100644 index 000000000000..28ae7057be5e --- /dev/null +++ b/arch/powerpc/boot/gamecube.c | |||
| @@ -0,0 +1,35 @@ | |||
| 1 | /* | ||
| 2 | * arch/powerpc/boot/gamecube.c | ||
| 3 | * | ||
| 4 | * Nintendo GameCube bootwrapper support | ||
| 5 | * Copyright (C) 2004-2009 The GameCube Linux Team | ||
| 6 | * Copyright (C) 2008,2009 Albert Herranz | ||
| 7 | * | ||
| 8 | * This program is free software; you can redistribute it and/or | ||
| 9 | * modify it under the terms of the GNU General Public License | ||
| 10 | * as published by the Free Software Foundation; either version 2 | ||
| 11 | * of the License, or (at your option) any later version. | ||
| 12 | * | ||
| 13 | */ | ||
| 14 | |||
| 15 | #include <stddef.h> | ||
| 16 | #include "stdio.h" | ||
| 17 | #include "types.h" | ||
| 18 | #include "io.h" | ||
| 19 | #include "ops.h" | ||
| 20 | |||
| 21 | #include "ugecon.h" | ||
| 22 | |||
| 23 | BSS_STACK(8192); | ||
| 24 | |||
| 25 | void platform_init(unsigned long r3, unsigned long r4, unsigned long r5) | ||
| 26 | { | ||
| 27 | u32 heapsize = 16*1024*1024 - (u32)_end; | ||
| 28 | |||
| 29 | simple_alloc_init(_end, heapsize, 32, 64); | ||
| 30 | fdt_init(_dtb_start); | ||
| 31 | |||
| 32 | if (ug_probe()) | ||
| 33 | console_ops.write = ug_console_write; | ||
| 34 | } | ||
| 35 | |||
diff --git a/arch/powerpc/boot/ugecon.c b/arch/powerpc/boot/ugecon.c new file mode 100644 index 000000000000..50609ea6ddf8 --- /dev/null +++ b/arch/powerpc/boot/ugecon.c | |||
| @@ -0,0 +1,147 @@ | |||
| 1 | /* | ||
| 2 | * arch/powerpc/boot/ugecon.c | ||
| 3 | * | ||
| 4 | * USB Gecko bootwrapper console. | ||
| 5 | * Copyright (C) 2008-2009 The GameCube Linux Team | ||
| 6 | * Copyright (C) 2008,2009 Albert Herranz | ||
| 7 | * | ||
| 8 | * This program is free software; you can redistribute it and/or | ||
| 9 | * modify it under the terms of the GNU General Public License | ||
| 10 | * as published by the Free Software Foundation; either version 2 | ||
| 11 | * of the License, or (at your option) any later version. | ||
| 12 | * | ||
| 13 | */ | ||
| 14 | |||
| 15 | #include <stddef.h> | ||
| 16 | #include "stdio.h" | ||
| 17 | #include "types.h" | ||
| 18 | #include "io.h" | ||
| 19 | #include "ops.h" | ||
| 20 | |||
| 21 | |||
| 22 | #define EXI_CLK_32MHZ 5 | ||
| 23 | |||
| 24 | #define EXI_CSR 0x00 | ||
| 25 | #define EXI_CSR_CLKMASK (0x7<<4) | ||
| 26 | #define EXI_CSR_CLK_32MHZ (EXI_CLK_32MHZ<<4) | ||
| 27 | #define EXI_CSR_CSMASK (0x7<<7) | ||
| 28 | #define EXI_CSR_CS_0 (0x1<<7) /* Chip Select 001 */ | ||
| 29 | |||
| 30 | #define EXI_CR 0x0c | ||
| 31 | #define EXI_CR_TSTART (1<<0) | ||
| 32 | #define EXI_CR_WRITE (1<<2) | ||
| 33 | #define EXI_CR_READ_WRITE (2<<2) | ||
| 34 | #define EXI_CR_TLEN(len) (((len)-1)<<4) | ||
| 35 | |||
| 36 | #define EXI_DATA 0x10 | ||
| 37 | |||
| 38 | |||
| 39 | /* virtual address base for input/output, retrieved from device tree */ | ||
| 40 | static void *ug_io_base; | ||
| 41 | |||
| 42 | |||
| 43 | static u32 ug_io_transaction(u32 in) | ||
| 44 | { | ||
| 45 | u32 *csr_reg = ug_io_base + EXI_CSR; | ||
| 46 | u32 *data_reg = ug_io_base + EXI_DATA; | ||
| 47 | u32 *cr_reg = ug_io_base + EXI_CR; | ||
| 48 | u32 csr, data, cr; | ||
| 49 | |||
| 50 | /* select */ | ||
| 51 | csr = EXI_CSR_CLK_32MHZ | EXI_CSR_CS_0; | ||
| 52 | out_be32(csr_reg, csr); | ||
| 53 | |||
| 54 | /* read/write */ | ||
| 55 | data = in; | ||
| 56 | out_be32(data_reg, data); | ||
| 57 | cr = EXI_CR_TLEN(2) | EXI_CR_READ_WRITE | EXI_CR_TSTART; | ||
| 58 | out_be32(cr_reg, cr); | ||
| 59 | |||
| 60 | while (in_be32(cr_reg) & EXI_CR_TSTART) | ||
| 61 | barrier(); | ||
| 62 | |||
| 63 | /* deselect */ | ||
| 64 | out_be32(csr_reg, 0); | ||
| 65 | |||
| 66 | data = in_be32(data_reg); | ||
| 67 | return data; | ||
| 68 | } | ||
| 69 | |||
| 70 | static int ug_is_txfifo_ready(void) | ||
| 71 | { | ||
| 72 | return ug_io_transaction(0xc0000000) & 0x04000000; | ||
| 73 | } | ||
| 74 | |||
| 75 | static void ug_raw_putc(char ch) | ||
| 76 | { | ||
| 77 | ug_io_transaction(0xb0000000 | (ch << 20)); | ||
| 78 | } | ||
| 79 | |||
| 80 | static void ug_putc(char ch) | ||
| 81 | { | ||
| 82 | int count = 16; | ||
| 83 | |||
| 84 | if (!ug_io_base) | ||
| 85 | return; | ||
| 86 | |||
| 87 | while (!ug_is_txfifo_ready() && count--) | ||
| 88 | barrier(); | ||
| 89 | if (count) | ||
| 90 | ug_raw_putc(ch); | ||
| 91 | } | ||
| 92 | |||
| 93 | void ug_console_write(const char *buf, int len) | ||
| 94 | { | ||
| 95 | char *b = (char *)buf; | ||
| 96 | |||
| 97 | while (len--) { | ||
| 98 | if (*b == '\n') | ||
| 99 | ug_putc('\r'); | ||
| 100 | ug_putc(*b++); | ||
| 101 | } | ||
| 102 | } | ||
| 103 | |||
| 104 | static int ug_is_adapter_present(void) | ||
| 105 | { | ||
| 106 | if (!ug_io_base) | ||
| 107 | return 0; | ||
| 108 | return ug_io_transaction(0x90000000) == 0x04700000; | ||
| 109 | } | ||
| 110 | |||
| 111 | static void *ug_grab_exi_io_base(void) | ||
| 112 | { | ||
| 113 | u32 v; | ||
| 114 | void *devp; | ||
| 115 | |||
| 116 | devp = find_node_by_compatible(NULL, "nintendo,flipper-exi"); | ||
| 117 | if (devp == NULL) | ||
| 118 | goto err_out; | ||
| 119 | if (getprop(devp, "virtual-reg", &v, sizeof(v)) != sizeof(v)) | ||
| 120 | goto err_out; | ||
| 121 | |||
| 122 | return (void *)v; | ||
| 123 | |||
| 124 | err_out: | ||
| 125 | return NULL; | ||
| 126 | } | ||
| 127 | |||
| 128 | void *ug_probe(void) | ||
| 129 | { | ||
| 130 | void *exi_io_base; | ||
| 131 | int i; | ||
| 132 | |||
| 133 | exi_io_base = ug_grab_exi_io_base(); | ||
| 134 | if (!exi_io_base) | ||
| 135 | return NULL; | ||
| 136 | |||
| 137 | /* look for a usbgecko on memcard slots A and B */ | ||
| 138 | for (i = 0; i < 2; i++) { | ||
| 139 | ug_io_base = exi_io_base + 0x14 * i; | ||
| 140 | if (ug_is_adapter_present()) | ||
| 141 | break; | ||
| 142 | } | ||
| 143 | if (i == 2) | ||
| 144 | ug_io_base = NULL; | ||
| 145 | return ug_io_base; | ||
| 146 | } | ||
| 147 | |||
diff --git a/arch/powerpc/boot/ugecon.h b/arch/powerpc/boot/ugecon.h new file mode 100644 index 000000000000..43737539169b --- /dev/null +++ b/arch/powerpc/boot/ugecon.h | |||
| @@ -0,0 +1,24 @@ | |||
| 1 | /* | ||
| 2 | * arch/powerpc/boot/ugecon.h | ||
| 3 | * | ||
| 4 | * USB Gecko early bootwrapper console. | ||
| 5 | * Copyright (C) 2008-2009 The GameCube Linux Team | ||
| 6 | * Copyright (C) 2008,2009 Albert Herranz | ||
| 7 | * | ||
| 8 | * This program is free software; you can redistribute it and/or | ||
| 9 | * modify it under the terms of the GNU General Public License | ||
| 10 | * as published by the Free Software Foundation; either version 2 | ||
| 11 | * of the License, or (at your option) any later version. | ||
| 12 | * | ||
| 13 | */ | ||
| 14 | |||
| 15 | #ifndef __UGECON_H | ||
| 16 | #define __UGECON_H | ||
| 17 | |||
| 18 | extern void *ug_probe(void); | ||
| 19 | |||
| 20 | extern void ug_putc(char ch); | ||
| 21 | extern void ug_console_write(const char *buf, int len); | ||
| 22 | |||
| 23 | #endif /* __UGECON_H */ | ||
| 24 | |||
diff --git a/arch/powerpc/boot/wii-head.S b/arch/powerpc/boot/wii-head.S new file mode 100644 index 000000000000..edd79b836fcf --- /dev/null +++ b/arch/powerpc/boot/wii-head.S | |||
| @@ -0,0 +1,142 @@ | |||
| 1 | /* | ||
| 2 | * arch/powerpc/boot/wii-head.S | ||
| 3 | * | ||
| 4 | * Nintendo Wii bootwrapper entry. | ||
| 5 | * Copyright (C) 2008-2009 The GameCube Linux Team | ||
| 6 | * Copyright (C) 2008,2009 Albert Herranz | ||
| 7 | * | ||
| 8 | * This program is free software; you can redistribute it and/or | ||
| 9 | * modify it under the terms of the GNU General Public License | ||
| 10 | * as published by the Free Software Foundation; either version 2 | ||
| 11 | * of the License, or (at your option) any later version. | ||
| 12 | * | ||
| 13 | */ | ||
| 14 | |||
| 15 | #include "ppc_asm.h" | ||
| 16 | |||
| 17 | /* | ||
| 18 | * The entry code does no assumptions regarding: | ||
| 19 | * - if the data and instruction caches are enabled or not | ||
| 20 | * - if the MMU is enabled or not | ||
| 21 | * - if the high BATs are enabled or not | ||
| 22 | * | ||
| 23 | * We enable the high BATs, enable the caches if not already enabled, | ||
| 24 | * enable the MMU with an identity mapping scheme and jump to the start code. | ||
| 25 | */ | ||
| 26 | |||
| 27 | .text | ||
| 28 | |||
| 29 | .globl _zimage_start | ||
| 30 | _zimage_start: | ||
| 31 | |||
| 32 | /* turn the MMU off */ | ||
| 33 | mfmsr 9 | ||
| 34 | rlwinm 9, 9, 0, ~((1<<4)|(1<<5)) /* MSR_DR|MSR_IR */ | ||
| 35 | bcl 20, 31, 1f | ||
| 36 | 1: | ||
| 37 | mflr 8 | ||
| 38 | clrlwi 8, 8, 3 /* convert to a real address */ | ||
| 39 | addi 8, 8, _mmu_off - 1b | ||
| 40 | mtsrr0 8 | ||
| 41 | mtsrr1 9 | ||
| 42 | rfi | ||
| 43 | _mmu_off: | ||
| 44 | /* MMU disabled */ | ||
| 45 | |||
| 46 | /* setup BATs */ | ||
| 47 | isync | ||
| 48 | li 8, 0 | ||
| 49 | mtspr 0x210, 8 /* IBAT0U */ | ||
| 50 | mtspr 0x212, 8 /* IBAT1U */ | ||
| 51 | mtspr 0x214, 8 /* IBAT2U */ | ||
| 52 | mtspr 0x216, 8 /* IBAT3U */ | ||
| 53 | mtspr 0x218, 8 /* DBAT0U */ | ||
| 54 | mtspr 0x21a, 8 /* DBAT1U */ | ||
| 55 | mtspr 0x21c, 8 /* DBAT2U */ | ||
| 56 | mtspr 0x21e, 8 /* DBAT3U */ | ||
| 57 | |||
| 58 | mtspr 0x230, 8 /* IBAT4U */ | ||
| 59 | mtspr 0x232, 8 /* IBAT5U */ | ||
| 60 | mtspr 0x234, 8 /* IBAT6U */ | ||
| 61 | mtspr 0x236, 8 /* IBAT7U */ | ||
| 62 | mtspr 0x238, 8 /* DBAT4U */ | ||
| 63 | mtspr 0x23a, 8 /* DBAT5U */ | ||
| 64 | mtspr 0x23c, 8 /* DBAT6U */ | ||
| 65 | mtspr 0x23e, 8 /* DBAT7U */ | ||
| 66 | |||
| 67 | li 8, 0x01ff /* first 16MiB */ | ||
| 68 | li 9, 0x0002 /* rw */ | ||
| 69 | mtspr 0x211, 9 /* IBAT0L */ | ||
| 70 | mtspr 0x210, 8 /* IBAT0U */ | ||
| 71 | mtspr 0x219, 9 /* DBAT0L */ | ||
| 72 | mtspr 0x218, 8 /* DBAT0U */ | ||
| 73 | |||
| 74 | lis 8, 0x0c00 /* I/O mem */ | ||
| 75 | ori 8, 8, 0x3ff /* 32MiB */ | ||
| 76 | lis 9, 0x0c00 | ||
| 77 | ori 9, 9, 0x002a /* uncached, guarded, rw */ | ||
| 78 | mtspr 0x21b, 9 /* DBAT1L */ | ||
| 79 | mtspr 0x21a, 8 /* DBAT1U */ | ||
| 80 | |||
| 81 | lis 8, 0x0100 /* next 8MiB */ | ||
| 82 | ori 8, 8, 0x00ff /* 8MiB */ | ||
| 83 | lis 9, 0x0100 | ||
| 84 | ori 9, 9, 0x0002 /* rw */ | ||
| 85 | mtspr 0x215, 9 /* IBAT2L */ | ||
| 86 | mtspr 0x214, 8 /* IBAT2U */ | ||
| 87 | mtspr 0x21d, 9 /* DBAT2L */ | ||
| 88 | mtspr 0x21c, 8 /* DBAT2U */ | ||
| 89 | |||
| 90 | lis 8, 0x1000 /* MEM2 */ | ||
| 91 | ori 8, 8, 0x07ff /* 64MiB */ | ||
| 92 | lis 9, 0x1000 | ||
| 93 | ori 9, 9, 0x0002 /* rw */ | ||
| 94 | mtspr 0x216, 8 /* IBAT3U */ | ||
| 95 | mtspr 0x217, 9 /* IBAT3L */ | ||
| 96 | mtspr 0x21e, 8 /* DBAT3U */ | ||
| 97 | mtspr 0x21f, 9 /* DBAT3L */ | ||
| 98 | |||
| 99 | /* enable the high BATs */ | ||
| 100 | mfspr 8, 0x3f3 /* HID4 */ | ||
| 101 | oris 8, 8, 0x0200 | ||
| 102 | mtspr 0x3f3, 8 /* HID4 */ | ||
| 103 | |||
| 104 | /* enable and invalidate the caches if not already enabled */ | ||
| 105 | mfspr 8, 0x3f0 /* HID0 */ | ||
| 106 | andi. 0, 8, (1<<15) /* HID0_ICE */ | ||
| 107 | bne 1f | ||
| 108 | ori 8, 8, (1<<15)|(1<<11) /* HID0_ICE|HID0_ICFI*/ | ||
| 109 | 1: | ||
| 110 | andi. 0, 8, (1<<14) /* HID0_DCE */ | ||
| 111 | bne 1f | ||
| 112 | ori 8, 8, (1<<14)|(1<<10) /* HID0_DCE|HID0_DCFI*/ | ||
| 113 | 1: | ||
| 114 | mtspr 0x3f0, 8 /* HID0 */ | ||
| 115 | isync | ||
| 116 | |||
| 117 | /* initialize arguments */ | ||
| 118 | li 3, 0 | ||
| 119 | li 4, 0 | ||
| 120 | li 5, 0 | ||
| 121 | |||
| 122 | /* turn the MMU on */ | ||
| 123 | bcl 20, 31, 1f | ||
| 124 | 1: | ||
| 125 | mflr 8 | ||
| 126 | addi 8, 8, _mmu_on - 1b | ||
| 127 | mfmsr 9 | ||
| 128 | ori 9, 9, (1<<4)|(1<<5) /* MSR_DR|MSR_IR */ | ||
| 129 | mtsrr0 8 | ||
| 130 | mtsrr1 9 | ||
| 131 | sync | ||
| 132 | rfi | ||
| 133 | _mmu_on: | ||
| 134 | /* turn on the front blue led (aka: yay! we got here!) */ | ||
| 135 | lis 8, 0x0d00 | ||
| 136 | ori 8, 8, 0x00c0 | ||
| 137 | lwz 9, 0(8) | ||
| 138 | ori 9, 9, 0x20 | ||
| 139 | stw 9, 0(8) | ||
| 140 | |||
| 141 | b _zimage_start_lib | ||
| 142 | |||
diff --git a/arch/powerpc/boot/wii.c b/arch/powerpc/boot/wii.c new file mode 100644 index 000000000000..2ebaec0344dd --- /dev/null +++ b/arch/powerpc/boot/wii.c | |||
| @@ -0,0 +1,158 @@ | |||
| 1 | /* | ||
| 2 | * arch/powerpc/boot/wii.c | ||
| 3 | * | ||
| 4 | * Nintendo Wii bootwrapper support | ||
| 5 | * Copyright (C) 2008-2009 The GameCube Linux Team | ||
| 6 | * Copyright (C) 2008,2009 Albert Herranz | ||
| 7 | * | ||
| 8 | * This program is free software; you can redistribute it and/or | ||
| 9 | * modify it under the terms of the GNU General Public License | ||
| 10 | * as published by the Free Software Foundation; either version 2 | ||
| 11 | * of the License, or (at your option) any later version. | ||
| 12 | * | ||
| 13 | */ | ||
| 14 | |||
| 15 | #include <stddef.h> | ||
| 16 | #include "stdio.h" | ||
| 17 | #include "types.h" | ||
| 18 | #include "io.h" | ||
| 19 | #include "ops.h" | ||
| 20 | |||
| 21 | #include "ugecon.h" | ||
| 22 | |||
| 23 | BSS_STACK(8192); | ||
| 24 | |||
| 25 | #define HW_REG(x) ((void *)(x)) | ||
| 26 | |||
| 27 | #define EXI_CTRL HW_REG(0x0d800070) | ||
| 28 | #define EXI_CTRL_ENABLE (1<<0) | ||
| 29 | |||
| 30 | #define MEM2_TOP (0x10000000 + 64*1024*1024) | ||
| 31 | #define FIRMWARE_DEFAULT_SIZE (12*1024*1024) | ||
| 32 | |||
| 33 | |||
| 34 | struct mipc_infohdr { | ||
| 35 | char magic[3]; | ||
| 36 | u8 version; | ||
| 37 | u32 mem2_boundary; | ||
| 38 | u32 ipc_in; | ||
| 39 | size_t ipc_in_size; | ||
| 40 | u32 ipc_out; | ||
| 41 | size_t ipc_out_size; | ||
| 42 | }; | ||
| 43 | |||
| 44 | static int mipc_check_address(u32 pa) | ||
| 45 | { | ||
| 46 | /* only MEM2 addresses */ | ||
| 47 | if (pa < 0x10000000 || pa > 0x14000000) | ||
| 48 | return -EINVAL; | ||
| 49 | return 0; | ||
| 50 | } | ||
| 51 | |||
| 52 | static struct mipc_infohdr *mipc_get_infohdr(void) | ||
| 53 | { | ||
| 54 | struct mipc_infohdr **hdrp, *hdr; | ||
| 55 | |||
| 56 | /* 'mini' header pointer is the last word of MEM2 memory */ | ||
| 57 | hdrp = (struct mipc_infohdr **)0x13fffffc; | ||
| 58 | if (mipc_check_address((u32)hdrp)) { | ||
| 59 | printf("mini: invalid hdrp %08X\n", (u32)hdrp); | ||
| 60 | hdr = NULL; | ||
| 61 | goto out; | ||
| 62 | } | ||
| 63 | |||
| 64 | hdr = *hdrp; | ||
| 65 | if (mipc_check_address((u32)hdr)) { | ||
| 66 | printf("mini: invalid hdr %08X\n", (u32)hdr); | ||
| 67 | hdr = NULL; | ||
| 68 | goto out; | ||
| 69 | } | ||
| 70 | if (memcmp(hdr->magic, "IPC", 3)) { | ||
| 71 | printf("mini: invalid magic\n"); | ||
| 72 | hdr = NULL; | ||
| 73 | goto out; | ||
| 74 | } | ||
| 75 | |||
| 76 | out: | ||
| 77 | return hdr; | ||
| 78 | } | ||
| 79 | |||
| 80 | static int mipc_get_mem2_boundary(u32 *mem2_boundary) | ||
| 81 | { | ||
| 82 | struct mipc_infohdr *hdr; | ||
| 83 | int error; | ||
| 84 | |||
| 85 | hdr = mipc_get_infohdr(); | ||
| 86 | if (!hdr) { | ||
| 87 | error = -1; | ||
| 88 | goto out; | ||
| 89 | } | ||
| 90 | |||
| 91 | if (mipc_check_address(hdr->mem2_boundary)) { | ||
| 92 | printf("mini: invalid mem2_boundary %08X\n", | ||
| 93 | hdr->mem2_boundary); | ||
| 94 | error = -EINVAL; | ||
| 95 | goto out; | ||
| 96 | } | ||
| 97 | *mem2_boundary = hdr->mem2_boundary; | ||
| 98 | error = 0; | ||
| 99 | out: | ||
| 100 | return error; | ||
| 101 | |||
| 102 | } | ||
| 103 | |||
| 104 | static void platform_fixups(void) | ||
| 105 | { | ||
| 106 | void *mem; | ||
| 107 | u32 reg[4]; | ||
| 108 | u32 mem2_boundary; | ||
| 109 | int len; | ||
| 110 | int error; | ||
| 111 | |||
| 112 | mem = finddevice("/memory"); | ||
| 113 | if (!mem) | ||
| 114 | fatal("Can't find memory node\n"); | ||
| 115 | |||
| 116 | /* two ranges of (address, size) words */ | ||
| 117 | len = getprop(mem, "reg", reg, sizeof(reg)); | ||
| 118 | if (len != sizeof(reg)) { | ||
| 119 | /* nothing to do */ | ||
| 120 | goto out; | ||
| 121 | } | ||
| 122 | |||
| 123 | /* retrieve MEM2 boundary from 'mini' */ | ||
| 124 | error = mipc_get_mem2_boundary(&mem2_boundary); | ||
| 125 | if (error) { | ||
| 126 | /* if that fails use a sane value */ | ||
| 127 | mem2_boundary = MEM2_TOP - FIRMWARE_DEFAULT_SIZE; | ||
| 128 | } | ||
| 129 | |||
| 130 | if (mem2_boundary > reg[2] && mem2_boundary < reg[2] + reg[3]) { | ||
| 131 | reg[3] = mem2_boundary - reg[2]; | ||
| 132 | printf("top of MEM2 @ %08X\n", reg[2] + reg[3]); | ||
| 133 | setprop(mem, "reg", reg, sizeof(reg)); | ||
| 134 | } | ||
| 135 | |||
| 136 | out: | ||
| 137 | return; | ||
| 138 | } | ||
| 139 | |||
| 140 | void platform_init(unsigned long r3, unsigned long r4, unsigned long r5) | ||
| 141 | { | ||
| 142 | u32 heapsize = 24*1024*1024 - (u32)_end; | ||
| 143 | |||
| 144 | simple_alloc_init(_end, heapsize, 32, 64); | ||
| 145 | fdt_init(_dtb_start); | ||
| 146 | |||
| 147 | /* | ||
| 148 | * 'mini' boots the Broadway processor with EXI disabled. | ||
| 149 | * We need it enabled before probing for the USB Gecko. | ||
| 150 | */ | ||
| 151 | out_be32(EXI_CTRL, in_be32(EXI_CTRL) | EXI_CTRL_ENABLE); | ||
| 152 | |||
| 153 | if (ug_probe()) | ||
| 154 | console_ops.write = ug_console_write; | ||
| 155 | |||
| 156 | platform_ops.fixups = platform_fixups; | ||
| 157 | } | ||
| 158 | |||
diff --git a/arch/powerpc/boot/wrapper b/arch/powerpc/boot/wrapper index ac9e9a58b2b0..390512ae7f86 100755 --- a/arch/powerpc/boot/wrapper +++ b/arch/powerpc/boot/wrapper | |||
| @@ -230,6 +230,10 @@ xpedite52*) | |||
| 230 | link_address='0x1400000' | 230 | link_address='0x1400000' |
| 231 | platformo=$object/cuboot-85xx.o | 231 | platformo=$object/cuboot-85xx.o |
| 232 | ;; | 232 | ;; |
| 233 | gamecube|wii) | ||
| 234 | link_address='0x600000' | ||
| 235 | platformo="$object/$platform-head.o $object/$platform.o" | ||
| 236 | ;; | ||
| 233 | esac | 237 | esac |
| 234 | 238 | ||
| 235 | vmz="$tmpdir/`basename \"$kernel\"`.$ext" | 239 | vmz="$tmpdir/`basename \"$kernel\"`.$ext" |
diff --git a/arch/powerpc/configs/gamecube_defconfig b/arch/powerpc/configs/gamecube_defconfig new file mode 100644 index 000000000000..942e1193e9e4 --- /dev/null +++ b/arch/powerpc/configs/gamecube_defconfig | |||
| @@ -0,0 +1,1061 @@ | |||
| 1 | # | ||
| 2 | # Automatically generated make config: don't edit | ||
| 3 | # Linux kernel version: 2.6.32-rc8 | ||
| 4 | # Sun Nov 22 21:07:30 2009 | ||
| 5 | # | ||
| 6 | # CONFIG_PPC64 is not set | ||
| 7 | |||
| 8 | # | ||
| 9 | # Processor support | ||
| 10 | # | ||
| 11 | CONFIG_PPC_BOOK3S_32=y | ||
| 12 | # CONFIG_PPC_85xx is not set | ||
| 13 | # CONFIG_PPC_8xx is not set | ||
| 14 | # CONFIG_40x is not set | ||
| 15 | # CONFIG_44x is not set | ||
| 16 | # CONFIG_E200 is not set | ||
| 17 | CONFIG_PPC_BOOK3S=y | ||
| 18 | CONFIG_6xx=y | ||
| 19 | CONFIG_PPC_FPU=y | ||
| 20 | # CONFIG_ALTIVEC is not set | ||
| 21 | CONFIG_PPC_STD_MMU=y | ||
| 22 | CONFIG_PPC_STD_MMU_32=y | ||
| 23 | # CONFIG_PPC_MM_SLICES is not set | ||
| 24 | CONFIG_PPC_HAVE_PMU_SUPPORT=y | ||
| 25 | CONFIG_PPC_PERF_CTRS=y | ||
| 26 | # CONFIG_SMP is not set | ||
| 27 | CONFIG_NOT_COHERENT_CACHE=y | ||
| 28 | CONFIG_PPC32=y | ||
| 29 | CONFIG_WORD_SIZE=32 | ||
| 30 | # CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set | ||
| 31 | CONFIG_MMU=y | ||
| 32 | CONFIG_GENERIC_CMOS_UPDATE=y | ||
| 33 | CONFIG_GENERIC_TIME=y | ||
| 34 | CONFIG_GENERIC_TIME_VSYSCALL=y | ||
| 35 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
| 36 | CONFIG_GENERIC_HARDIRQS=y | ||
| 37 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | ||
| 38 | # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set | ||
| 39 | # CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set | ||
| 40 | CONFIG_IRQ_PER_CPU=y | ||
| 41 | CONFIG_STACKTRACE_SUPPORT=y | ||
| 42 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y | ||
| 43 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
| 44 | CONFIG_LOCKDEP_SUPPORT=y | ||
| 45 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | ||
| 46 | CONFIG_ARCH_HAS_ILOG2_U32=y | ||
| 47 | CONFIG_GENERIC_HWEIGHT=y | ||
| 48 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
| 49 | # CONFIG_ARCH_NO_VIRT_TO_BUS is not set | ||
| 50 | CONFIG_PPC=y | ||
| 51 | CONFIG_EARLY_PRINTK=y | ||
| 52 | CONFIG_GENERIC_NVRAM=y | ||
| 53 | CONFIG_SCHED_OMIT_FRAME_POINTER=y | ||
| 54 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y | ||
| 55 | CONFIG_PPC_OF=y | ||
| 56 | CONFIG_OF=y | ||
| 57 | # CONFIG_PPC_UDBG_16550 is not set | ||
| 58 | # CONFIG_GENERIC_TBSYNC is not set | ||
| 59 | CONFIG_AUDIT_ARCH=y | ||
| 60 | CONFIG_GENERIC_BUG=y | ||
| 61 | CONFIG_DTC=y | ||
| 62 | # CONFIG_DEFAULT_UIMAGE is not set | ||
| 63 | # CONFIG_PPC_DCR_NATIVE is not set | ||
| 64 | # CONFIG_PPC_DCR_MMIO is not set | ||
| 65 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
| 66 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
| 67 | CONFIG_CONSTRUCTORS=y | ||
| 68 | |||
| 69 | # | ||
| 70 | # General setup | ||
| 71 | # | ||
| 72 | CONFIG_EXPERIMENTAL=y | ||
| 73 | CONFIG_BROKEN_ON_SMP=y | ||
| 74 | CONFIG_LOCK_KERNEL=y | ||
| 75 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
| 76 | CONFIG_LOCALVERSION="-gcn" | ||
| 77 | CONFIG_LOCALVERSION_AUTO=y | ||
| 78 | CONFIG_SWAP=y | ||
| 79 | CONFIG_SYSVIPC=y | ||
| 80 | CONFIG_SYSVIPC_SYSCTL=y | ||
| 81 | # CONFIG_POSIX_MQUEUE is not set | ||
| 82 | # CONFIG_BSD_PROCESS_ACCT is not set | ||
| 83 | # CONFIG_TASKSTATS is not set | ||
| 84 | # CONFIG_AUDIT is not set | ||
| 85 | |||
| 86 | # | ||
| 87 | # RCU Subsystem | ||
| 88 | # | ||
| 89 | CONFIG_TREE_RCU=y | ||
| 90 | # CONFIG_TREE_PREEMPT_RCU is not set | ||
| 91 | # CONFIG_RCU_TRACE is not set | ||
| 92 | CONFIG_RCU_FANOUT=32 | ||
| 93 | # CONFIG_RCU_FANOUT_EXACT is not set | ||
| 94 | # CONFIG_TREE_RCU_TRACE is not set | ||
| 95 | CONFIG_IKCONFIG=y | ||
| 96 | CONFIG_IKCONFIG_PROC=y | ||
| 97 | CONFIG_LOG_BUF_SHIFT=14 | ||
| 98 | CONFIG_GROUP_SCHED=y | ||
| 99 | CONFIG_FAIR_GROUP_SCHED=y | ||
| 100 | # CONFIG_RT_GROUP_SCHED is not set | ||
| 101 | CONFIG_USER_SCHED=y | ||
| 102 | # CONFIG_CGROUP_SCHED is not set | ||
| 103 | # CONFIG_CGROUPS is not set | ||
| 104 | CONFIG_SYSFS_DEPRECATED=y | ||
| 105 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
| 106 | # CONFIG_RELAY is not set | ||
| 107 | # CONFIG_NAMESPACES is not set | ||
| 108 | CONFIG_BLK_DEV_INITRD=y | ||
| 109 | CONFIG_INITRAMFS_SOURCE="" | ||
| 110 | CONFIG_RD_GZIP=y | ||
| 111 | # CONFIG_RD_BZIP2 is not set | ||
| 112 | # CONFIG_RD_LZMA is not set | ||
| 113 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | ||
| 114 | CONFIG_SYSCTL=y | ||
| 115 | CONFIG_ANON_INODES=y | ||
| 116 | CONFIG_EMBEDDED=y | ||
| 117 | CONFIG_SYSCTL_SYSCALL=y | ||
| 118 | CONFIG_KALLSYMS=y | ||
| 119 | CONFIG_KALLSYMS_ALL=y | ||
| 120 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||
| 121 | CONFIG_HOTPLUG=y | ||
| 122 | CONFIG_PRINTK=y | ||
| 123 | CONFIG_BUG=y | ||
| 124 | # CONFIG_ELF_CORE is not set | ||
| 125 | CONFIG_BASE_FULL=y | ||
| 126 | CONFIG_FUTEX=y | ||
| 127 | CONFIG_EPOLL=y | ||
| 128 | CONFIG_SIGNALFD=y | ||
| 129 | CONFIG_TIMERFD=y | ||
| 130 | CONFIG_EVENTFD=y | ||
| 131 | CONFIG_SHMEM=y | ||
| 132 | CONFIG_AIO=y | ||
| 133 | CONFIG_HAVE_PERF_EVENTS=y | ||
| 134 | |||
| 135 | # | ||
| 136 | # Kernel Performance Events And Counters | ||
| 137 | # | ||
| 138 | CONFIG_PERF_EVENTS=y | ||
| 139 | CONFIG_EVENT_PROFILE=y | ||
| 140 | CONFIG_PERF_COUNTERS=y | ||
| 141 | # CONFIG_DEBUG_PERF_USE_VMALLOC is not set | ||
| 142 | # CONFIG_VM_EVENT_COUNTERS is not set | ||
| 143 | CONFIG_COMPAT_BRK=y | ||
| 144 | CONFIG_SLAB=y | ||
| 145 | # CONFIG_SLUB is not set | ||
| 146 | # CONFIG_SLOB is not set | ||
| 147 | # CONFIG_PROFILING is not set | ||
| 148 | CONFIG_TRACEPOINTS=y | ||
| 149 | CONFIG_HAVE_OPROFILE=y | ||
| 150 | # CONFIG_KPROBES is not set | ||
| 151 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | ||
| 152 | CONFIG_HAVE_IOREMAP_PROT=y | ||
| 153 | CONFIG_HAVE_KPROBES=y | ||
| 154 | CONFIG_HAVE_KRETPROBES=y | ||
| 155 | CONFIG_HAVE_ARCH_TRACEHOOK=y | ||
| 156 | CONFIG_HAVE_DMA_ATTRS=y | ||
| 157 | CONFIG_HAVE_DMA_API_DEBUG=y | ||
| 158 | |||
| 159 | # | ||
| 160 | # GCOV-based kernel profiling | ||
| 161 | # | ||
| 162 | # CONFIG_GCOV_KERNEL is not set | ||
| 163 | CONFIG_SLOW_WORK=y | ||
| 164 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | ||
| 165 | CONFIG_SLABINFO=y | ||
| 166 | CONFIG_RT_MUTEXES=y | ||
| 167 | CONFIG_BASE_SMALL=0 | ||
| 168 | CONFIG_MODULES=y | ||
| 169 | # CONFIG_MODULE_FORCE_LOAD is not set | ||
| 170 | CONFIG_MODULE_UNLOAD=y | ||
| 171 | # CONFIG_MODULE_FORCE_UNLOAD is not set | ||
| 172 | # CONFIG_MODVERSIONS is not set | ||
| 173 | # CONFIG_MODULE_SRCVERSION_ALL is not set | ||
| 174 | CONFIG_BLOCK=y | ||
| 175 | CONFIG_LBDAF=y | ||
| 176 | # CONFIG_BLK_DEV_BSG is not set | ||
| 177 | # CONFIG_BLK_DEV_INTEGRITY is not set | ||
| 178 | |||
| 179 | # | ||
| 180 | # IO Schedulers | ||
| 181 | # | ||
| 182 | CONFIG_IOSCHED_NOOP=y | ||
| 183 | CONFIG_IOSCHED_AS=y | ||
| 184 | CONFIG_IOSCHED_DEADLINE=y | ||
| 185 | CONFIG_IOSCHED_CFQ=y | ||
| 186 | CONFIG_DEFAULT_AS=y | ||
| 187 | # CONFIG_DEFAULT_DEADLINE is not set | ||
| 188 | # CONFIG_DEFAULT_CFQ is not set | ||
| 189 | # CONFIG_DEFAULT_NOOP is not set | ||
| 190 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
| 191 | # CONFIG_FREEZER is not set | ||
| 192 | |||
| 193 | # | ||
| 194 | # Platform support | ||
| 195 | # | ||
| 196 | # CONFIG_PPC_CHRP is not set | ||
| 197 | # CONFIG_MPC5121_ADS is not set | ||
| 198 | # CONFIG_MPC5121_GENERIC is not set | ||
| 199 | # CONFIG_PPC_MPC52xx is not set | ||
| 200 | # CONFIG_PPC_PMAC is not set | ||
| 201 | # CONFIG_PPC_CELL is not set | ||
| 202 | # CONFIG_PPC_CELL_NATIVE is not set | ||
| 203 | # CONFIG_PPC_82xx is not set | ||
| 204 | # CONFIG_PQ2ADS is not set | ||
| 205 | # CONFIG_PPC_83xx is not set | ||
| 206 | # CONFIG_PPC_86xx is not set | ||
| 207 | CONFIG_EMBEDDED6xx=y | ||
| 208 | # CONFIG_LINKSTATION is not set | ||
| 209 | # CONFIG_STORCENTER is not set | ||
| 210 | # CONFIG_MPC7448HPC2 is not set | ||
| 211 | # CONFIG_PPC_HOLLY is not set | ||
| 212 | # CONFIG_PPC_PRPMC2800 is not set | ||
| 213 | # CONFIG_PPC_C2K is not set | ||
| 214 | CONFIG_GAMECUBE_COMMON=y | ||
| 215 | CONFIG_USBGECKO_UDBG=y | ||
| 216 | CONFIG_FLIPPER_PIC=y | ||
| 217 | CONFIG_GAMECUBE=y | ||
| 218 | # CONFIG_WII is not set | ||
| 219 | # CONFIG_AMIGAONE is not set | ||
| 220 | # CONFIG_PPC_OF_BOOT_TRAMPOLINE is not set | ||
| 221 | # CONFIG_IPIC is not set | ||
| 222 | # CONFIG_MPIC is not set | ||
| 223 | # CONFIG_MPIC_WEIRD is not set | ||
| 224 | # CONFIG_PPC_I8259 is not set | ||
| 225 | # CONFIG_PPC_RTAS is not set | ||
| 226 | # CONFIG_MMIO_NVRAM is not set | ||
| 227 | # CONFIG_PPC_MPC106 is not set | ||
| 228 | # CONFIG_PPC_970_NAP is not set | ||
| 229 | # CONFIG_PPC_INDIRECT_IO is not set | ||
| 230 | # CONFIG_GENERIC_IOMAP is not set | ||
| 231 | # CONFIG_CPU_FREQ is not set | ||
| 232 | # CONFIG_TAU is not set | ||
| 233 | # CONFIG_FSL_ULI1575 is not set | ||
| 234 | # CONFIG_SIMPLE_GPIO is not set | ||
| 235 | |||
| 236 | # | ||
| 237 | # Kernel options | ||
| 238 | # | ||
| 239 | # CONFIG_HIGHMEM is not set | ||
| 240 | # CONFIG_NO_HZ is not set | ||
| 241 | # CONFIG_HIGH_RES_TIMERS is not set | ||
| 242 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
| 243 | # CONFIG_HZ_100 is not set | ||
| 244 | CONFIG_HZ_250=y | ||
| 245 | # CONFIG_HZ_300 is not set | ||
| 246 | # CONFIG_HZ_1000 is not set | ||
| 247 | CONFIG_HZ=250 | ||
| 248 | # CONFIG_SCHED_HRTICK is not set | ||
| 249 | # CONFIG_PREEMPT_NONE is not set | ||
| 250 | # CONFIG_PREEMPT_VOLUNTARY is not set | ||
| 251 | CONFIG_PREEMPT=y | ||
| 252 | CONFIG_BINFMT_ELF=y | ||
| 253 | # CONFIG_HAVE_AOUT is not set | ||
| 254 | CONFIG_BINFMT_MISC=m | ||
| 255 | # CONFIG_IOMMU_HELPER is not set | ||
| 256 | # CONFIG_SWIOTLB is not set | ||
| 257 | CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y | ||
| 258 | CONFIG_ARCH_HAS_WALK_MEMORY=y | ||
| 259 | CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y | ||
| 260 | CONFIG_KEXEC=y | ||
| 261 | # CONFIG_CRASH_DUMP is not set | ||
| 262 | CONFIG_MAX_ACTIVE_REGIONS=32 | ||
| 263 | CONFIG_ARCH_FLATMEM_ENABLE=y | ||
| 264 | CONFIG_ARCH_POPULATES_NODE_MAP=y | ||
| 265 | CONFIG_SELECT_MEMORY_MODEL=y | ||
| 266 | CONFIG_FLATMEM_MANUAL=y | ||
| 267 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
| 268 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
| 269 | CONFIG_FLATMEM=y | ||
| 270 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
| 271 | CONFIG_PAGEFLAGS_EXTENDED=y | ||
| 272 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
| 273 | # CONFIG_MIGRATION is not set | ||
| 274 | # CONFIG_PHYS_ADDR_T_64BIT is not set | ||
| 275 | CONFIG_ZONE_DMA_FLAG=1 | ||
| 276 | CONFIG_BOUNCE=y | ||
| 277 | CONFIG_VIRT_TO_BUS=y | ||
| 278 | CONFIG_HAVE_MLOCK=y | ||
| 279 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
| 280 | # CONFIG_KSM is not set | ||
| 281 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | ||
| 282 | CONFIG_PPC_4K_PAGES=y | ||
| 283 | # CONFIG_PPC_16K_PAGES is not set | ||
| 284 | # CONFIG_PPC_64K_PAGES is not set | ||
| 285 | # CONFIG_PPC_256K_PAGES is not set | ||
| 286 | CONFIG_FORCE_MAX_ZONEORDER=11 | ||
| 287 | CONFIG_PROC_DEVICETREE=y | ||
| 288 | # CONFIG_CMDLINE_BOOL is not set | ||
| 289 | CONFIG_EXTRA_TARGETS="" | ||
| 290 | # CONFIG_PM is not set | ||
| 291 | # CONFIG_SECCOMP is not set | ||
| 292 | CONFIG_ISA_DMA_API=y | ||
| 293 | |||
| 294 | # | ||
| 295 | # Bus options | ||
| 296 | # | ||
| 297 | CONFIG_ZONE_DMA=y | ||
| 298 | CONFIG_GENERIC_ISA_DMA=y | ||
| 299 | # CONFIG_PCI is not set | ||
| 300 | # CONFIG_PCI_DOMAINS is not set | ||
| 301 | # CONFIG_PCI_SYSCALL is not set | ||
| 302 | # CONFIG_ARCH_SUPPORTS_MSI is not set | ||
| 303 | # CONFIG_PCCARD is not set | ||
| 304 | # CONFIG_HAS_RAPIDIO is not set | ||
| 305 | |||
| 306 | # | ||
| 307 | # Advanced setup | ||
| 308 | # | ||
| 309 | CONFIG_ADVANCED_OPTIONS=y | ||
| 310 | # CONFIG_LOWMEM_SIZE_BOOL is not set | ||
| 311 | CONFIG_LOWMEM_SIZE=0x30000000 | ||
| 312 | # CONFIG_PAGE_OFFSET_BOOL is not set | ||
| 313 | CONFIG_PAGE_OFFSET=0xc0000000 | ||
| 314 | # CONFIG_KERNEL_START_BOOL is not set | ||
| 315 | CONFIG_KERNEL_START=0xc0000000 | ||
| 316 | CONFIG_PHYSICAL_START=0x00000000 | ||
| 317 | # CONFIG_TASK_SIZE_BOOL is not set | ||
| 318 | CONFIG_TASK_SIZE=0xc0000000 | ||
| 319 | # CONFIG_CONSISTENT_SIZE_BOOL is not set | ||
| 320 | CONFIG_CONSISTENT_SIZE=0x00200000 | ||
| 321 | CONFIG_NET=y | ||
| 322 | |||
| 323 | # | ||
| 324 | # Networking options | ||
| 325 | # | ||
| 326 | CONFIG_PACKET=y | ||
| 327 | # CONFIG_PACKET_MMAP is not set | ||
| 328 | CONFIG_UNIX=y | ||
| 329 | # CONFIG_NET_KEY is not set | ||
| 330 | CONFIG_INET=y | ||
| 331 | # CONFIG_IP_MULTICAST is not set | ||
| 332 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
| 333 | CONFIG_IP_FIB_HASH=y | ||
| 334 | CONFIG_IP_PNP=y | ||
| 335 | CONFIG_IP_PNP_DHCP=y | ||
| 336 | # CONFIG_IP_PNP_BOOTP is not set | ||
| 337 | CONFIG_IP_PNP_RARP=y | ||
| 338 | # CONFIG_NET_IPIP is not set | ||
| 339 | # CONFIG_NET_IPGRE is not set | ||
| 340 | # CONFIG_ARPD is not set | ||
| 341 | # CONFIG_SYN_COOKIES is not set | ||
| 342 | # CONFIG_INET_AH is not set | ||
| 343 | # CONFIG_INET_ESP is not set | ||
| 344 | # CONFIG_INET_IPCOMP is not set | ||
| 345 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
| 346 | # CONFIG_INET_TUNNEL is not set | ||
| 347 | # CONFIG_INET_XFRM_MODE_TRANSPORT is not set | ||
| 348 | # CONFIG_INET_XFRM_MODE_TUNNEL is not set | ||
| 349 | # CONFIG_INET_XFRM_MODE_BEET is not set | ||
| 350 | # CONFIG_INET_LRO is not set | ||
| 351 | # CONFIG_INET_DIAG is not set | ||
| 352 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
| 353 | CONFIG_TCP_CONG_CUBIC=y | ||
| 354 | CONFIG_DEFAULT_TCP_CONG="cubic" | ||
| 355 | # CONFIG_TCP_MD5SIG is not set | ||
| 356 | # CONFIG_IPV6 is not set | ||
| 357 | # CONFIG_NETWORK_SECMARK is not set | ||
| 358 | # CONFIG_NETFILTER is not set | ||
| 359 | # CONFIG_IP_DCCP is not set | ||
| 360 | # CONFIG_IP_SCTP is not set | ||
| 361 | # CONFIG_RDS is not set | ||
| 362 | # CONFIG_TIPC is not set | ||
| 363 | # CONFIG_ATM is not set | ||
| 364 | # CONFIG_BRIDGE is not set | ||
| 365 | # CONFIG_NET_DSA is not set | ||
| 366 | # CONFIG_VLAN_8021Q is not set | ||
| 367 | # CONFIG_DECNET is not set | ||
| 368 | # CONFIG_LLC2 is not set | ||
| 369 | # CONFIG_IPX is not set | ||
| 370 | # CONFIG_ATALK is not set | ||
| 371 | # CONFIG_X25 is not set | ||
| 372 | # CONFIG_LAPB is not set | ||
| 373 | # CONFIG_ECONET is not set | ||
| 374 | # CONFIG_WAN_ROUTER is not set | ||
| 375 | # CONFIG_PHONET is not set | ||
| 376 | # CONFIG_IEEE802154 is not set | ||
| 377 | # CONFIG_NET_SCHED is not set | ||
| 378 | # CONFIG_DCB is not set | ||
| 379 | |||
| 380 | # | ||
| 381 | # Network testing | ||
| 382 | # | ||
| 383 | # CONFIG_NET_PKTGEN is not set | ||
| 384 | # CONFIG_NET_DROP_MONITOR is not set | ||
| 385 | # CONFIG_HAMRADIO is not set | ||
| 386 | # CONFIG_CAN is not set | ||
| 387 | # CONFIG_IRDA is not set | ||
| 388 | # CONFIG_BT is not set | ||
| 389 | # CONFIG_AF_RXRPC is not set | ||
| 390 | # CONFIG_WIRELESS is not set | ||
| 391 | # CONFIG_WIMAX is not set | ||
| 392 | # CONFIG_RFKILL is not set | ||
| 393 | # CONFIG_NET_9P is not set | ||
| 394 | |||
| 395 | # | ||
| 396 | # Device Drivers | ||
| 397 | # | ||
| 398 | |||
| 399 | # | ||
| 400 | # Generic Driver Options | ||
| 401 | # | ||
| 402 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
| 403 | # CONFIG_DEVTMPFS is not set | ||
| 404 | # CONFIG_STANDALONE is not set | ||
| 405 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
| 406 | # CONFIG_FW_LOADER is not set | ||
| 407 | # CONFIG_DEBUG_DRIVER is not set | ||
| 408 | # CONFIG_DEBUG_DEVRES is not set | ||
| 409 | # CONFIG_SYS_HYPERVISOR is not set | ||
| 410 | # CONFIG_CONNECTOR is not set | ||
| 411 | # CONFIG_MTD is not set | ||
| 412 | CONFIG_OF_DEVICE=y | ||
| 413 | # CONFIG_PARPORT is not set | ||
| 414 | CONFIG_BLK_DEV=y | ||
| 415 | # CONFIG_BLK_DEV_FD is not set | ||
| 416 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
| 417 | CONFIG_BLK_DEV_LOOP=y | ||
| 418 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | ||
| 419 | CONFIG_BLK_DEV_NBD=m | ||
| 420 | CONFIG_BLK_DEV_RAM=y | ||
| 421 | CONFIG_BLK_DEV_RAM_COUNT=2 | ||
| 422 | CONFIG_BLK_DEV_RAM_SIZE=4096 | ||
| 423 | # CONFIG_BLK_DEV_XIP is not set | ||
| 424 | # CONFIG_CDROM_PKTCDVD is not set | ||
| 425 | # CONFIG_ATA_OVER_ETH is not set | ||
| 426 | # CONFIG_BLK_DEV_HD is not set | ||
| 427 | CONFIG_MISC_DEVICES=y | ||
| 428 | # CONFIG_ENCLOSURE_SERVICES is not set | ||
| 429 | # CONFIG_C2PORT is not set | ||
| 430 | |||
| 431 | # | ||
| 432 | # EEPROM support | ||
| 433 | # | ||
| 434 | # CONFIG_EEPROM_93CX6 is not set | ||
| 435 | CONFIG_HAVE_IDE=y | ||
| 436 | # CONFIG_IDE is not set | ||
| 437 | |||
| 438 | # | ||
| 439 | # SCSI device support | ||
| 440 | # | ||
| 441 | # CONFIG_RAID_ATTRS is not set | ||
| 442 | # CONFIG_SCSI is not set | ||
| 443 | # CONFIG_SCSI_DMA is not set | ||
| 444 | # CONFIG_SCSI_NETLINK is not set | ||
| 445 | # CONFIG_ATA is not set | ||
| 446 | # CONFIG_MD is not set | ||
| 447 | # CONFIG_MACINTOSH_DRIVERS is not set | ||
| 448 | CONFIG_NETDEVICES=y | ||
| 449 | # CONFIG_DUMMY is not set | ||
| 450 | # CONFIG_BONDING is not set | ||
| 451 | # CONFIG_MACVLAN is not set | ||
| 452 | # CONFIG_EQUALIZER is not set | ||
| 453 | # CONFIG_TUN is not set | ||
| 454 | # CONFIG_VETH is not set | ||
| 455 | # CONFIG_PHYLIB is not set | ||
| 456 | CONFIG_NET_ETHERNET=y | ||
| 457 | # CONFIG_MII is not set | ||
| 458 | # CONFIG_ETHOC is not set | ||
| 459 | # CONFIG_DNET is not set | ||
| 460 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | ||
| 461 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | ||
| 462 | # CONFIG_IBM_NEW_EMAC_TAH is not set | ||
| 463 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | ||
| 464 | # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set | ||
| 465 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | ||
| 466 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | ||
| 467 | # CONFIG_B44 is not set | ||
| 468 | # CONFIG_KS8842 is not set | ||
| 469 | # CONFIG_KS8851_MLL is not set | ||
| 470 | # CONFIG_XILINX_EMACLITE is not set | ||
| 471 | # CONFIG_NETDEV_1000 is not set | ||
| 472 | # CONFIG_NETDEV_10000 is not set | ||
| 473 | # CONFIG_WLAN is not set | ||
| 474 | |||
| 475 | # | ||
| 476 | # Enable WiMAX (Networking options) to see the WiMAX drivers | ||
| 477 | # | ||
| 478 | # CONFIG_WAN is not set | ||
| 479 | # CONFIG_PPP is not set | ||
| 480 | # CONFIG_SLIP is not set | ||
| 481 | # CONFIG_NETCONSOLE is not set | ||
| 482 | # CONFIG_NETPOLL is not set | ||
| 483 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
| 484 | # CONFIG_ISDN is not set | ||
| 485 | # CONFIG_PHONE is not set | ||
| 486 | |||
| 487 | # | ||
| 488 | # Input device support | ||
| 489 | # | ||
| 490 | CONFIG_INPUT=y | ||
| 491 | CONFIG_INPUT_FF_MEMLESS=m | ||
| 492 | # CONFIG_INPUT_POLLDEV is not set | ||
| 493 | |||
| 494 | # | ||
| 495 | # Userland interfaces | ||
| 496 | # | ||
| 497 | # CONFIG_INPUT_MOUSEDEV is not set | ||
| 498 | CONFIG_INPUT_JOYDEV=y | ||
| 499 | CONFIG_INPUT_EVDEV=y | ||
| 500 | # CONFIG_INPUT_EVBUG is not set | ||
| 501 | |||
| 502 | # | ||
| 503 | # Input Device Drivers | ||
| 504 | # | ||
| 505 | CONFIG_INPUT_KEYBOARD=y | ||
| 506 | # CONFIG_KEYBOARD_ATKBD is not set | ||
| 507 | # CONFIG_KEYBOARD_LKKBD is not set | ||
| 508 | # CONFIG_KEYBOARD_NEWTON is not set | ||
| 509 | # CONFIG_KEYBOARD_OPENCORES is not set | ||
| 510 | # CONFIG_KEYBOARD_STOWAWAY is not set | ||
| 511 | # CONFIG_KEYBOARD_SUNKBD is not set | ||
| 512 | # CONFIG_KEYBOARD_XTKBD is not set | ||
| 513 | # CONFIG_INPUT_MOUSE is not set | ||
| 514 | CONFIG_INPUT_JOYSTICK=y | ||
| 515 | # CONFIG_JOYSTICK_ANALOG is not set | ||
| 516 | # CONFIG_JOYSTICK_A3D is not set | ||
| 517 | # CONFIG_JOYSTICK_ADI is not set | ||
| 518 | # CONFIG_JOYSTICK_COBRA is not set | ||
| 519 | # CONFIG_JOYSTICK_GF2K is not set | ||
| 520 | # CONFIG_JOYSTICK_GRIP is not set | ||
| 521 | # CONFIG_JOYSTICK_GRIP_MP is not set | ||
| 522 | # CONFIG_JOYSTICK_GUILLEMOT is not set | ||
| 523 | # CONFIG_JOYSTICK_INTERACT is not set | ||
| 524 | # CONFIG_JOYSTICK_SIDEWINDER is not set | ||
| 525 | # CONFIG_JOYSTICK_TMDC is not set | ||
| 526 | # CONFIG_JOYSTICK_IFORCE is not set | ||
| 527 | # CONFIG_JOYSTICK_WARRIOR is not set | ||
| 528 | # CONFIG_JOYSTICK_MAGELLAN is not set | ||
| 529 | # CONFIG_JOYSTICK_SPACEORB is not set | ||
| 530 | # CONFIG_JOYSTICK_SPACEBALL is not set | ||
| 531 | # CONFIG_JOYSTICK_STINGER is not set | ||
| 532 | # CONFIG_JOYSTICK_TWIDJOY is not set | ||
| 533 | # CONFIG_JOYSTICK_ZHENHUA is not set | ||
| 534 | # CONFIG_JOYSTICK_JOYDUMP is not set | ||
| 535 | # CONFIG_INPUT_TABLET is not set | ||
| 536 | # CONFIG_INPUT_TOUCHSCREEN is not set | ||
| 537 | # CONFIG_INPUT_MISC is not set | ||
| 538 | |||
| 539 | # | ||
| 540 | # Hardware I/O ports | ||
| 541 | # | ||
| 542 | CONFIG_SERIO=y | ||
| 543 | # CONFIG_SERIO_I8042 is not set | ||
| 544 | # CONFIG_SERIO_SERPORT is not set | ||
| 545 | # CONFIG_SERIO_LIBPS2 is not set | ||
| 546 | # CONFIG_SERIO_RAW is not set | ||
| 547 | # CONFIG_SERIO_XILINX_XPS_PS2 is not set | ||
| 548 | # CONFIG_GAMEPORT is not set | ||
| 549 | |||
| 550 | # | ||
| 551 | # Character devices | ||
| 552 | # | ||
| 553 | CONFIG_VT=y | ||
| 554 | CONFIG_CONSOLE_TRANSLATIONS=y | ||
| 555 | CONFIG_VT_CONSOLE=y | ||
| 556 | CONFIG_HW_CONSOLE=y | ||
| 557 | # CONFIG_VT_HW_CONSOLE_BINDING is not set | ||
| 558 | # CONFIG_DEVKMEM is not set | ||
| 559 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
| 560 | |||
| 561 | # | ||
| 562 | # Serial drivers | ||
| 563 | # | ||
| 564 | # CONFIG_SERIAL_8250 is not set | ||
| 565 | |||
| 566 | # | ||
| 567 | # Non-8250 serial port support | ||
| 568 | # | ||
| 569 | # CONFIG_SERIAL_UARTLITE is not set | ||
| 570 | CONFIG_UNIX98_PTYS=y | ||
| 571 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | ||
| 572 | CONFIG_LEGACY_PTYS=y | ||
| 573 | CONFIG_LEGACY_PTY_COUNT=64 | ||
| 574 | # CONFIG_HVC_UDBG is not set | ||
| 575 | # CONFIG_IPMI_HANDLER is not set | ||
| 576 | # CONFIG_HW_RANDOM is not set | ||
| 577 | # CONFIG_NVRAM is not set | ||
| 578 | # CONFIG_R3964 is not set | ||
| 579 | # CONFIG_RAW_DRIVER is not set | ||
| 580 | # CONFIG_TCG_TPM is not set | ||
| 581 | # CONFIG_I2C is not set | ||
| 582 | # CONFIG_SPI is not set | ||
| 583 | |||
| 584 | # | ||
| 585 | # PPS support | ||
| 586 | # | ||
| 587 | # CONFIG_PPS is not set | ||
| 588 | CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y | ||
| 589 | # CONFIG_GPIOLIB is not set | ||
| 590 | # CONFIG_W1 is not set | ||
| 591 | # CONFIG_POWER_SUPPLY is not set | ||
| 592 | # CONFIG_HWMON is not set | ||
| 593 | # CONFIG_THERMAL is not set | ||
| 594 | # CONFIG_WATCHDOG is not set | ||
| 595 | CONFIG_SSB_POSSIBLE=y | ||
| 596 | |||
| 597 | # | ||
| 598 | # Sonics Silicon Backplane | ||
| 599 | # | ||
| 600 | # CONFIG_SSB is not set | ||
| 601 | |||
| 602 | # | ||
| 603 | # Multifunction device drivers | ||
| 604 | # | ||
| 605 | # CONFIG_MFD_CORE is not set | ||
| 606 | # CONFIG_MFD_SM501 is not set | ||
| 607 | # CONFIG_HTC_PASIC3 is not set | ||
| 608 | # CONFIG_MFD_TMIO is not set | ||
| 609 | # CONFIG_REGULATOR is not set | ||
| 610 | # CONFIG_MEDIA_SUPPORT is not set | ||
| 611 | |||
| 612 | # | ||
| 613 | # Graphics support | ||
| 614 | # | ||
| 615 | # CONFIG_VGASTATE is not set | ||
| 616 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | ||
| 617 | CONFIG_FB=y | ||
| 618 | # CONFIG_FIRMWARE_EDID is not set | ||
| 619 | # CONFIG_FB_DDC is not set | ||
| 620 | # CONFIG_FB_BOOT_VESA_SUPPORT is not set | ||
| 621 | # CONFIG_FB_CFB_FILLRECT is not set | ||
| 622 | # CONFIG_FB_CFB_COPYAREA is not set | ||
| 623 | # CONFIG_FB_CFB_IMAGEBLIT is not set | ||
| 624 | # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set | ||
| 625 | # CONFIG_FB_SYS_FILLRECT is not set | ||
| 626 | # CONFIG_FB_SYS_COPYAREA is not set | ||
| 627 | # CONFIG_FB_SYS_IMAGEBLIT is not set | ||
| 628 | # CONFIG_FB_FOREIGN_ENDIAN is not set | ||
| 629 | # CONFIG_FB_SYS_FOPS is not set | ||
| 630 | # CONFIG_FB_SVGALIB is not set | ||
| 631 | # CONFIG_FB_MACMODES is not set | ||
| 632 | # CONFIG_FB_BACKLIGHT is not set | ||
| 633 | # CONFIG_FB_MODE_HELPERS is not set | ||
| 634 | # CONFIG_FB_TILEBLITTING is not set | ||
| 635 | |||
| 636 | # | ||
| 637 | # Frame buffer hardware drivers | ||
| 638 | # | ||
| 639 | # CONFIG_FB_OF is not set | ||
| 640 | # CONFIG_FB_VGA16 is not set | ||
| 641 | # CONFIG_FB_S1D13XXX is not set | ||
| 642 | # CONFIG_FB_IBM_GXT4500 is not set | ||
| 643 | # CONFIG_FB_VIRTUAL is not set | ||
| 644 | # CONFIG_FB_METRONOME is not set | ||
| 645 | # CONFIG_FB_MB862XX is not set | ||
| 646 | # CONFIG_FB_BROADSHEET is not set | ||
| 647 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
| 648 | |||
| 649 | # | ||
| 650 | # Display device support | ||
| 651 | # | ||
| 652 | # CONFIG_DISPLAY_SUPPORT is not set | ||
| 653 | |||
| 654 | # | ||
| 655 | # Console display driver support | ||
| 656 | # | ||
| 657 | # CONFIG_VGA_CONSOLE is not set | ||
| 658 | CONFIG_DUMMY_CONSOLE=y | ||
| 659 | CONFIG_FRAMEBUFFER_CONSOLE=y | ||
| 660 | # CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set | ||
| 661 | # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set | ||
| 662 | # CONFIG_FONTS is not set | ||
| 663 | CONFIG_FONT_8x8=y | ||
| 664 | CONFIG_FONT_8x16=y | ||
| 665 | CONFIG_LOGO=y | ||
| 666 | # CONFIG_LOGO_LINUX_MONO is not set | ||
| 667 | # CONFIG_LOGO_LINUX_VGA16 is not set | ||
| 668 | # CONFIG_LOGO_LINUX_CLUT224 is not set | ||
| 669 | CONFIG_SOUND=y | ||
| 670 | CONFIG_SOUND_OSS_CORE=y | ||
| 671 | CONFIG_SOUND_OSS_CORE_PRECLAIM=y | ||
| 672 | CONFIG_SND=y | ||
| 673 | CONFIG_SND_TIMER=y | ||
| 674 | CONFIG_SND_PCM=y | ||
| 675 | CONFIG_SND_SEQUENCER=y | ||
| 676 | # CONFIG_SND_SEQ_DUMMY is not set | ||
| 677 | CONFIG_SND_OSSEMUL=y | ||
| 678 | CONFIG_SND_MIXER_OSS=y | ||
| 679 | CONFIG_SND_PCM_OSS=y | ||
| 680 | CONFIG_SND_PCM_OSS_PLUGINS=y | ||
| 681 | CONFIG_SND_SEQUENCER_OSS=y | ||
| 682 | # CONFIG_SND_DYNAMIC_MINORS is not set | ||
| 683 | CONFIG_SND_SUPPORT_OLD_API=y | ||
| 684 | # CONFIG_SND_VERBOSE_PROCFS is not set | ||
| 685 | # CONFIG_SND_VERBOSE_PRINTK is not set | ||
| 686 | # CONFIG_SND_DEBUG is not set | ||
| 687 | # CONFIG_SND_RAWMIDI_SEQ is not set | ||
| 688 | # CONFIG_SND_OPL3_LIB_SEQ is not set | ||
| 689 | # CONFIG_SND_OPL4_LIB_SEQ is not set | ||
| 690 | # CONFIG_SND_SBAWE_SEQ is not set | ||
| 691 | # CONFIG_SND_EMU10K1_SEQ is not set | ||
| 692 | CONFIG_SND_DRIVERS=y | ||
| 693 | # CONFIG_SND_DUMMY is not set | ||
| 694 | # CONFIG_SND_VIRMIDI is not set | ||
| 695 | # CONFIG_SND_MTPAV is not set | ||
| 696 | # CONFIG_SND_SERIAL_U16550 is not set | ||
| 697 | # CONFIG_SND_MPU401 is not set | ||
| 698 | CONFIG_SND_PPC=y | ||
| 699 | # CONFIG_SND_SOC is not set | ||
| 700 | # CONFIG_SOUND_PRIME is not set | ||
| 701 | CONFIG_HID_SUPPORT=y | ||
| 702 | CONFIG_HID=y | ||
| 703 | # CONFIG_HIDRAW is not set | ||
| 704 | # CONFIG_HID_PID is not set | ||
| 705 | |||
| 706 | # | ||
| 707 | # Special HID drivers | ||
| 708 | # | ||
| 709 | # CONFIG_USB_SUPPORT is not set | ||
| 710 | # CONFIG_MMC is not set | ||
| 711 | # CONFIG_MEMSTICK is not set | ||
| 712 | # CONFIG_NEW_LEDS is not set | ||
| 713 | # CONFIG_ACCESSIBILITY is not set | ||
| 714 | # CONFIG_EDAC is not set | ||
| 715 | CONFIG_RTC_LIB=y | ||
| 716 | CONFIG_RTC_CLASS=y | ||
| 717 | CONFIG_RTC_HCTOSYS=y | ||
| 718 | CONFIG_RTC_HCTOSYS_DEVICE="rtc0" | ||
| 719 | # CONFIG_RTC_DEBUG is not set | ||
| 720 | |||
| 721 | # | ||
| 722 | # RTC interfaces | ||
| 723 | # | ||
| 724 | CONFIG_RTC_INTF_SYSFS=y | ||
| 725 | CONFIG_RTC_INTF_PROC=y | ||
| 726 | CONFIG_RTC_INTF_DEV=y | ||
| 727 | # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set | ||
| 728 | # CONFIG_RTC_DRV_TEST is not set | ||
| 729 | |||
| 730 | # | ||
| 731 | # SPI RTC drivers | ||
| 732 | # | ||
| 733 | |||
| 734 | # | ||
| 735 | # Platform RTC drivers | ||
| 736 | # | ||
| 737 | # CONFIG_RTC_DRV_CMOS is not set | ||
| 738 | # CONFIG_RTC_DRV_DS1286 is not set | ||
| 739 | # CONFIG_RTC_DRV_DS1511 is not set | ||
| 740 | # CONFIG_RTC_DRV_DS1553 is not set | ||
| 741 | # CONFIG_RTC_DRV_DS1742 is not set | ||
| 742 | # CONFIG_RTC_DRV_STK17TA8 is not set | ||
| 743 | # CONFIG_RTC_DRV_M48T86 is not set | ||
| 744 | # CONFIG_RTC_DRV_M48T35 is not set | ||
| 745 | # CONFIG_RTC_DRV_M48T59 is not set | ||
| 746 | # CONFIG_RTC_DRV_BQ4802 is not set | ||
| 747 | # CONFIG_RTC_DRV_V3020 is not set | ||
| 748 | |||
| 749 | # | ||
| 750 | # on-CPU RTC drivers | ||
| 751 | # | ||
| 752 | CONFIG_RTC_DRV_GENERIC=y | ||
| 753 | # CONFIG_DMADEVICES is not set | ||
| 754 | # CONFIG_AUXDISPLAY is not set | ||
| 755 | # CONFIG_UIO is not set | ||
| 756 | |||
| 757 | # | ||
| 758 | # TI VLYNQ | ||
| 759 | # | ||
| 760 | # CONFIG_STAGING is not set | ||
| 761 | |||
| 762 | # | ||
| 763 | # File systems | ||
| 764 | # | ||
| 765 | CONFIG_EXT2_FS=y | ||
| 766 | # CONFIG_EXT2_FS_XATTR is not set | ||
| 767 | # CONFIG_EXT2_FS_XIP is not set | ||
| 768 | CONFIG_EXT3_FS=y | ||
| 769 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
| 770 | # CONFIG_EXT3_FS_XATTR is not set | ||
| 771 | # CONFIG_EXT4_FS is not set | ||
| 772 | CONFIG_JBD=y | ||
| 773 | # CONFIG_JBD_DEBUG is not set | ||
| 774 | # CONFIG_REISERFS_FS is not set | ||
| 775 | # CONFIG_JFS_FS is not set | ||
| 776 | # CONFIG_FS_POSIX_ACL is not set | ||
| 777 | # CONFIG_XFS_FS is not set | ||
| 778 | # CONFIG_GFS2_FS is not set | ||
| 779 | # CONFIG_OCFS2_FS is not set | ||
| 780 | # CONFIG_BTRFS_FS is not set | ||
| 781 | # CONFIG_NILFS2_FS is not set | ||
| 782 | CONFIG_FILE_LOCKING=y | ||
| 783 | CONFIG_FSNOTIFY=y | ||
| 784 | CONFIG_DNOTIFY=y | ||
| 785 | CONFIG_INOTIFY=y | ||
| 786 | CONFIG_INOTIFY_USER=y | ||
| 787 | # CONFIG_QUOTA is not set | ||
| 788 | # CONFIG_AUTOFS_FS is not set | ||
| 789 | # CONFIG_AUTOFS4_FS is not set | ||
| 790 | # CONFIG_FUSE_FS is not set | ||
| 791 | |||
| 792 | # | ||
| 793 | # Caches | ||
| 794 | # | ||
| 795 | # CONFIG_FSCACHE is not set | ||
| 796 | |||
| 797 | # | ||
| 798 | # CD-ROM/DVD Filesystems | ||
| 799 | # | ||
| 800 | CONFIG_ISO9660_FS=y | ||
| 801 | CONFIG_JOLIET=y | ||
| 802 | # CONFIG_ZISOFS is not set | ||
| 803 | # CONFIG_UDF_FS is not set | ||
| 804 | |||
| 805 | # | ||
| 806 | # DOS/FAT/NT Filesystems | ||
| 807 | # | ||
| 808 | CONFIG_FAT_FS=y | ||
| 809 | CONFIG_MSDOS_FS=y | ||
| 810 | CONFIG_VFAT_FS=y | ||
| 811 | CONFIG_FAT_DEFAULT_CODEPAGE=437 | ||
| 812 | CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | ||
| 813 | # CONFIG_NTFS_FS is not set | ||
| 814 | |||
| 815 | # | ||
| 816 | # Pseudo filesystems | ||
| 817 | # | ||
| 818 | CONFIG_PROC_FS=y | ||
| 819 | CONFIG_PROC_KCORE=y | ||
| 820 | CONFIG_PROC_SYSCTL=y | ||
| 821 | # CONFIG_PROC_PAGE_MONITOR is not set | ||
| 822 | CONFIG_SYSFS=y | ||
| 823 | CONFIG_TMPFS=y | ||
| 824 | # CONFIG_TMPFS_POSIX_ACL is not set | ||
| 825 | # CONFIG_HUGETLB_PAGE is not set | ||
| 826 | # CONFIG_CONFIGFS_FS is not set | ||
| 827 | CONFIG_MISC_FILESYSTEMS=y | ||
| 828 | # CONFIG_ADFS_FS is not set | ||
| 829 | # CONFIG_AFFS_FS is not set | ||
| 830 | # CONFIG_HFS_FS is not set | ||
| 831 | # CONFIG_HFSPLUS_FS is not set | ||
| 832 | # CONFIG_BEFS_FS is not set | ||
| 833 | # CONFIG_BFS_FS is not set | ||
| 834 | # CONFIG_EFS_FS is not set | ||
| 835 | # CONFIG_CRAMFS is not set | ||
| 836 | # CONFIG_SQUASHFS is not set | ||
| 837 | # CONFIG_VXFS_FS is not set | ||
| 838 | # CONFIG_MINIX_FS is not set | ||
| 839 | # CONFIG_OMFS_FS is not set | ||
| 840 | # CONFIG_HPFS_FS is not set | ||
| 841 | # CONFIG_QNX4FS_FS is not set | ||
| 842 | # CONFIG_ROMFS_FS is not set | ||
| 843 | # CONFIG_SYSV_FS is not set | ||
| 844 | # CONFIG_UFS_FS is not set | ||
| 845 | CONFIG_NETWORK_FILESYSTEMS=y | ||
| 846 | CONFIG_NFS_FS=y | ||
| 847 | CONFIG_NFS_V3=y | ||
| 848 | # CONFIG_NFS_V3_ACL is not set | ||
| 849 | # CONFIG_NFS_V4 is not set | ||
| 850 | CONFIG_ROOT_NFS=y | ||
| 851 | # CONFIG_NFSD is not set | ||
| 852 | CONFIG_LOCKD=y | ||
| 853 | CONFIG_LOCKD_V4=y | ||
| 854 | CONFIG_NFS_COMMON=y | ||
| 855 | CONFIG_SUNRPC=y | ||
| 856 | # CONFIG_RPCSEC_GSS_KRB5 is not set | ||
| 857 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | ||
| 858 | # CONFIG_SMB_FS is not set | ||
| 859 | CONFIG_CIFS=y | ||
| 860 | # CONFIG_CIFS_STATS is not set | ||
| 861 | # CONFIG_CIFS_WEAK_PW_HASH is not set | ||
| 862 | # CONFIG_CIFS_XATTR is not set | ||
| 863 | # CONFIG_CIFS_DEBUG2 is not set | ||
| 864 | # CONFIG_CIFS_EXPERIMENTAL is not set | ||
| 865 | # CONFIG_NCP_FS is not set | ||
| 866 | # CONFIG_CODA_FS is not set | ||
| 867 | # CONFIG_AFS_FS is not set | ||
| 868 | |||
| 869 | # | ||
| 870 | # Partition Types | ||
| 871 | # | ||
| 872 | # CONFIG_PARTITION_ADVANCED is not set | ||
| 873 | CONFIG_MSDOS_PARTITION=y | ||
| 874 | CONFIG_NLS=y | ||
| 875 | CONFIG_NLS_DEFAULT="iso8859-1" | ||
| 876 | CONFIG_NLS_CODEPAGE_437=y | ||
| 877 | # CONFIG_NLS_CODEPAGE_737 is not set | ||
| 878 | # CONFIG_NLS_CODEPAGE_775 is not set | ||
| 879 | # CONFIG_NLS_CODEPAGE_850 is not set | ||
| 880 | # CONFIG_NLS_CODEPAGE_852 is not set | ||
| 881 | # CONFIG_NLS_CODEPAGE_855 is not set | ||
| 882 | # CONFIG_NLS_CODEPAGE_857 is not set | ||
| 883 | # CONFIG_NLS_CODEPAGE_860 is not set | ||
| 884 | # CONFIG_NLS_CODEPAGE_861 is not set | ||
| 885 | # CONFIG_NLS_CODEPAGE_862 is not set | ||
| 886 | # CONFIG_NLS_CODEPAGE_863 is not set | ||
| 887 | # CONFIG_NLS_CODEPAGE_864 is not set | ||
| 888 | # CONFIG_NLS_CODEPAGE_865 is not set | ||
| 889 | # CONFIG_NLS_CODEPAGE_866 is not set | ||
| 890 | # CONFIG_NLS_CODEPAGE_869 is not set | ||
| 891 | # CONFIG_NLS_CODEPAGE_936 is not set | ||
| 892 | # CONFIG_NLS_CODEPAGE_950 is not set | ||
| 893 | # CONFIG_NLS_CODEPAGE_932 is not set | ||
| 894 | # CONFIG_NLS_CODEPAGE_949 is not set | ||
| 895 | # CONFIG_NLS_CODEPAGE_874 is not set | ||
| 896 | # CONFIG_NLS_ISO8859_8 is not set | ||
| 897 | # CONFIG_NLS_CODEPAGE_1250 is not set | ||
| 898 | # CONFIG_NLS_CODEPAGE_1251 is not set | ||
| 899 | # CONFIG_NLS_ASCII is not set | ||
| 900 | CONFIG_NLS_ISO8859_1=y | ||
| 901 | # CONFIG_NLS_ISO8859_2 is not set | ||
| 902 | # CONFIG_NLS_ISO8859_3 is not set | ||
| 903 | # CONFIG_NLS_ISO8859_4 is not set | ||
| 904 | # CONFIG_NLS_ISO8859_5 is not set | ||
| 905 | # CONFIG_NLS_ISO8859_6 is not set | ||
| 906 | # CONFIG_NLS_ISO8859_7 is not set | ||
| 907 | # CONFIG_NLS_ISO8859_9 is not set | ||
| 908 | # CONFIG_NLS_ISO8859_13 is not set | ||
| 909 | # CONFIG_NLS_ISO8859_14 is not set | ||
| 910 | # CONFIG_NLS_ISO8859_15 is not set | ||
| 911 | # CONFIG_NLS_KOI8_R is not set | ||
| 912 | # CONFIG_NLS_KOI8_U is not set | ||
| 913 | # CONFIG_NLS_UTF8 is not set | ||
| 914 | # CONFIG_DLM is not set | ||
| 915 | CONFIG_BINARY_PRINTF=y | ||
| 916 | |||
| 917 | # | ||
| 918 | # Library routines | ||
| 919 | # | ||
| 920 | CONFIG_BITREVERSE=y | ||
| 921 | CONFIG_GENERIC_FIND_LAST_BIT=y | ||
| 922 | CONFIG_CRC_CCITT=y | ||
| 923 | # CONFIG_CRC16 is not set | ||
| 924 | # CONFIG_CRC_T10DIF is not set | ||
| 925 | # CONFIG_CRC_ITU_T is not set | ||
| 926 | CONFIG_CRC32=y | ||
| 927 | # CONFIG_CRC7 is not set | ||
| 928 | # CONFIG_LIBCRC32C is not set | ||
| 929 | CONFIG_ZLIB_INFLATE=y | ||
| 930 | CONFIG_DECOMPRESS_GZIP=y | ||
| 931 | CONFIG_HAS_IOMEM=y | ||
| 932 | CONFIG_HAS_IOPORT=y | ||
| 933 | CONFIG_HAS_DMA=y | ||
| 934 | CONFIG_HAVE_LMB=y | ||
| 935 | CONFIG_NLATTR=y | ||
| 936 | CONFIG_GENERIC_ATOMIC64=y | ||
| 937 | |||
| 938 | # | ||
| 939 | # Kernel hacking | ||
| 940 | # | ||
| 941 | CONFIG_PRINTK_TIME=y | ||
| 942 | CONFIG_ENABLE_WARN_DEPRECATED=y | ||
| 943 | CONFIG_ENABLE_MUST_CHECK=y | ||
| 944 | CONFIG_FRAME_WARN=1024 | ||
| 945 | # CONFIG_MAGIC_SYSRQ is not set | ||
| 946 | # CONFIG_STRIP_ASM_SYMS is not set | ||
| 947 | # CONFIG_UNUSED_SYMBOLS is not set | ||
| 948 | CONFIG_DEBUG_FS=y | ||
| 949 | # CONFIG_HEADERS_CHECK is not set | ||
| 950 | CONFIG_DEBUG_KERNEL=y | ||
| 951 | # CONFIG_DEBUG_SHIRQ is not set | ||
| 952 | CONFIG_DETECT_SOFTLOCKUP=y | ||
| 953 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | ||
| 954 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | ||
| 955 | # CONFIG_DETECT_HUNG_TASK is not set | ||
| 956 | CONFIG_SCHED_DEBUG=y | ||
| 957 | CONFIG_SCHEDSTATS=y | ||
| 958 | # CONFIG_TIMER_STATS is not set | ||
| 959 | # CONFIG_DEBUG_OBJECTS is not set | ||
| 960 | # CONFIG_DEBUG_SLAB is not set | ||
| 961 | # CONFIG_DEBUG_KMEMLEAK is not set | ||
| 962 | CONFIG_DEBUG_PREEMPT=y | ||
| 963 | # CONFIG_DEBUG_RT_MUTEXES is not set | ||
| 964 | # CONFIG_RT_MUTEX_TESTER is not set | ||
| 965 | CONFIG_DEBUG_SPINLOCK=y | ||
| 966 | CONFIG_DEBUG_MUTEXES=y | ||
| 967 | # CONFIG_DEBUG_LOCK_ALLOC is not set | ||
| 968 | # CONFIG_PROVE_LOCKING is not set | ||
| 969 | # CONFIG_LOCK_STAT is not set | ||
| 970 | CONFIG_DEBUG_SPINLOCK_SLEEP=y | ||
| 971 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
| 972 | CONFIG_STACKTRACE=y | ||
| 973 | # CONFIG_DEBUG_KOBJECT is not set | ||
| 974 | CONFIG_DEBUG_BUGVERBOSE=y | ||
| 975 | # CONFIG_DEBUG_INFO is not set | ||
| 976 | # CONFIG_DEBUG_VM is not set | ||
| 977 | # CONFIG_DEBUG_WRITECOUNT is not set | ||
| 978 | # CONFIG_DEBUG_MEMORY_INIT is not set | ||
| 979 | # CONFIG_DEBUG_LIST is not set | ||
| 980 | # CONFIG_DEBUG_SG is not set | ||
| 981 | # CONFIG_DEBUG_NOTIFIERS is not set | ||
| 982 | # CONFIG_DEBUG_CREDENTIALS is not set | ||
| 983 | # CONFIG_RCU_TORTURE_TEST is not set | ||
| 984 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
| 985 | # CONFIG_BACKTRACE_SELF_TEST is not set | ||
| 986 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
| 987 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | ||
| 988 | # CONFIG_FAULT_INJECTION is not set | ||
| 989 | CONFIG_LATENCYTOP=y | ||
| 990 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
| 991 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
| 992 | CONFIG_NOP_TRACER=y | ||
| 993 | CONFIG_HAVE_FUNCTION_TRACER=y | ||
| 994 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
| 995 | CONFIG_HAVE_DYNAMIC_FTRACE=y | ||
| 996 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | ||
| 997 | CONFIG_TRACER_MAX_TRACE=y | ||
| 998 | CONFIG_RING_BUFFER=y | ||
| 999 | CONFIG_EVENT_TRACING=y | ||
| 1000 | CONFIG_CONTEXT_SWITCH_TRACER=y | ||
| 1001 | CONFIG_TRACING=y | ||
| 1002 | CONFIG_GENERIC_TRACER=y | ||
| 1003 | CONFIG_TRACING_SUPPORT=y | ||
| 1004 | CONFIG_FTRACE=y | ||
| 1005 | # CONFIG_FUNCTION_TRACER is not set | ||
| 1006 | # CONFIG_IRQSOFF_TRACER is not set | ||
| 1007 | # CONFIG_PREEMPT_TRACER is not set | ||
| 1008 | CONFIG_SCHED_TRACER=y | ||
| 1009 | CONFIG_BOOT_TRACER=y | ||
| 1010 | CONFIG_BRANCH_PROFILE_NONE=y | ||
| 1011 | # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set | ||
| 1012 | # CONFIG_PROFILE_ALL_BRANCHES is not set | ||
| 1013 | # CONFIG_STACK_TRACER is not set | ||
| 1014 | # CONFIG_KMEMTRACE is not set | ||
| 1015 | # CONFIG_WORKQUEUE_TRACER is not set | ||
| 1016 | # CONFIG_BLK_DEV_IO_TRACE is not set | ||
| 1017 | # CONFIG_FTRACE_STARTUP_TEST is not set | ||
| 1018 | # CONFIG_RING_BUFFER_BENCHMARK is not set | ||
| 1019 | # CONFIG_DYNAMIC_DEBUG is not set | ||
| 1020 | CONFIG_DMA_API_DEBUG=y | ||
| 1021 | # CONFIG_SAMPLES is not set | ||
| 1022 | CONFIG_HAVE_ARCH_KGDB=y | ||
| 1023 | # CONFIG_KGDB is not set | ||
| 1024 | # CONFIG_PPC_DISABLE_WERROR is not set | ||
| 1025 | CONFIG_PPC_WERROR=y | ||
| 1026 | CONFIG_PRINT_STACK_DEPTH=64 | ||
| 1027 | # CONFIG_DEBUG_STACKOVERFLOW is not set | ||
| 1028 | # CONFIG_DEBUG_STACK_USAGE is not set | ||
| 1029 | # CONFIG_PPC_EMULATED_STATS is not set | ||
| 1030 | # CONFIG_CODE_PATCHING_SELFTEST is not set | ||
| 1031 | # CONFIG_FTR_FIXUP_SELFTEST is not set | ||
| 1032 | # CONFIG_MSI_BITMAP_SELFTEST is not set | ||
| 1033 | # CONFIG_XMON is not set | ||
| 1034 | # CONFIG_IRQSTACKS is not set | ||
| 1035 | # CONFIG_VIRQ_DEBUG is not set | ||
| 1036 | # CONFIG_BDI_SWITCH is not set | ||
| 1037 | # CONFIG_BOOTX_TEXT is not set | ||
| 1038 | CONFIG_PPC_EARLY_DEBUG=y | ||
| 1039 | # CONFIG_PPC_EARLY_DEBUG_LPAR is not set | ||
| 1040 | # CONFIG_PPC_EARLY_DEBUG_G5 is not set | ||
| 1041 | # CONFIG_PPC_EARLY_DEBUG_RTAS_PANEL is not set | ||
| 1042 | # CONFIG_PPC_EARLY_DEBUG_RTAS_CONSOLE is not set | ||
| 1043 | # CONFIG_PPC_EARLY_DEBUG_MAPLE is not set | ||
| 1044 | # CONFIG_PPC_EARLY_DEBUG_ISERIES is not set | ||
| 1045 | # CONFIG_PPC_EARLY_DEBUG_PAS_REALMODE is not set | ||
| 1046 | # CONFIG_PPC_EARLY_DEBUG_BEAT is not set | ||
| 1047 | # CONFIG_PPC_EARLY_DEBUG_44x is not set | ||
| 1048 | # CONFIG_PPC_EARLY_DEBUG_40x is not set | ||
| 1049 | # CONFIG_PPC_EARLY_DEBUG_CPM is not set | ||
| 1050 | CONFIG_PPC_EARLY_DEBUG_USBGECKO=y | ||
| 1051 | |||
| 1052 | # | ||
| 1053 | # Security options | ||
| 1054 | # | ||
| 1055 | # CONFIG_KEYS is not set | ||
| 1056 | # CONFIG_SECURITY is not set | ||
| 1057 | # CONFIG_SECURITYFS is not set | ||
| 1058 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | ||
| 1059 | # CONFIG_CRYPTO is not set | ||
| 1060 | # CONFIG_PPC_CLOCK is not set | ||
| 1061 | # CONFIG_VIRTUALIZATION is not set | ||
diff --git a/arch/powerpc/configs/wii_defconfig b/arch/powerpc/configs/wii_defconfig new file mode 100644 index 000000000000..c386828c639a --- /dev/null +++ b/arch/powerpc/configs/wii_defconfig | |||
| @@ -0,0 +1,1406 @@ | |||
| 1 | # | ||
| 2 | # Automatically generated make config: don't edit | ||
| 3 | # Linux kernel version: 2.6.32-rc8 | ||
| 4 | # Sun Nov 22 20:37:21 2009 | ||
| 5 | # | ||
| 6 | # CONFIG_PPC64 is not set | ||
| 7 | |||
| 8 | # | ||
| 9 | # Processor support | ||
| 10 | # | ||
| 11 | CONFIG_PPC_BOOK3S_32=y | ||
| 12 | # CONFIG_PPC_85xx is not set | ||
| 13 | # CONFIG_PPC_8xx is not set | ||
| 14 | # CONFIG_40x is not set | ||
| 15 | # CONFIG_44x is not set | ||
| 16 | # CONFIG_E200 is not set | ||
| 17 | CONFIG_PPC_BOOK3S=y | ||
| 18 | CONFIG_6xx=y | ||
| 19 | CONFIG_PPC_FPU=y | ||
| 20 | # CONFIG_ALTIVEC is not set | ||
| 21 | CONFIG_PPC_STD_MMU=y | ||
| 22 | CONFIG_PPC_STD_MMU_32=y | ||
| 23 | # CONFIG_PPC_MM_SLICES is not set | ||
| 24 | CONFIG_PPC_HAVE_PMU_SUPPORT=y | ||
| 25 | CONFIG_PPC_PERF_CTRS=y | ||
| 26 | # CONFIG_SMP is not set | ||
| 27 | CONFIG_NOT_COHERENT_CACHE=y | ||
| 28 | CONFIG_PPC32=y | ||
| 29 | CONFIG_WORD_SIZE=32 | ||
| 30 | # CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set | ||
| 31 | CONFIG_MMU=y | ||
| 32 | CONFIG_GENERIC_CMOS_UPDATE=y | ||
| 33 | CONFIG_GENERIC_TIME=y | ||
| 34 | CONFIG_GENERIC_TIME_VSYSCALL=y | ||
| 35 | CONFIG_GENERIC_CLOCKEVENTS=y | ||
| 36 | CONFIG_GENERIC_HARDIRQS=y | ||
| 37 | CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y | ||
| 38 | # CONFIG_HAVE_SETUP_PER_CPU_AREA is not set | ||
| 39 | # CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK is not set | ||
| 40 | CONFIG_IRQ_PER_CPU=y | ||
| 41 | CONFIG_STACKTRACE_SUPPORT=y | ||
| 42 | CONFIG_HAVE_LATENCYTOP_SUPPORT=y | ||
| 43 | CONFIG_TRACE_IRQFLAGS_SUPPORT=y | ||
| 44 | CONFIG_LOCKDEP_SUPPORT=y | ||
| 45 | CONFIG_RWSEM_XCHGADD_ALGORITHM=y | ||
| 46 | CONFIG_ARCH_HAS_ILOG2_U32=y | ||
| 47 | CONFIG_GENERIC_HWEIGHT=y | ||
| 48 | CONFIG_GENERIC_FIND_NEXT_BIT=y | ||
| 49 | CONFIG_GENERIC_GPIO=y | ||
| 50 | # CONFIG_ARCH_NO_VIRT_TO_BUS is not set | ||
| 51 | CONFIG_PPC=y | ||
| 52 | CONFIG_EARLY_PRINTK=y | ||
| 53 | CONFIG_GENERIC_NVRAM=y | ||
| 54 | CONFIG_SCHED_OMIT_FRAME_POINTER=y | ||
| 55 | CONFIG_ARCH_MAY_HAVE_PC_FDC=y | ||
| 56 | CONFIG_PPC_OF=y | ||
| 57 | CONFIG_OF=y | ||
| 58 | # CONFIG_PPC_UDBG_16550 is not set | ||
| 59 | # CONFIG_GENERIC_TBSYNC is not set | ||
| 60 | CONFIG_AUDIT_ARCH=y | ||
| 61 | CONFIG_GENERIC_BUG=y | ||
| 62 | CONFIG_DTC=y | ||
| 63 | # CONFIG_DEFAULT_UIMAGE is not set | ||
| 64 | # CONFIG_PPC_DCR_NATIVE is not set | ||
| 65 | # CONFIG_PPC_DCR_MMIO is not set | ||
| 66 | CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y | ||
| 67 | CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||
| 68 | CONFIG_CONSTRUCTORS=y | ||
| 69 | |||
| 70 | # | ||
| 71 | # General setup | ||
| 72 | # | ||
| 73 | CONFIG_EXPERIMENTAL=y | ||
| 74 | CONFIG_BROKEN_ON_SMP=y | ||
| 75 | CONFIG_LOCK_KERNEL=y | ||
| 76 | CONFIG_INIT_ENV_ARG_LIMIT=32 | ||
| 77 | CONFIG_LOCALVERSION="-wii" | ||
| 78 | # CONFIG_LOCALVERSION_AUTO is not set | ||
| 79 | CONFIG_SWAP=y | ||
| 80 | CONFIG_SYSVIPC=y | ||
| 81 | CONFIG_SYSVIPC_SYSCTL=y | ||
| 82 | # CONFIG_POSIX_MQUEUE is not set | ||
| 83 | # CONFIG_BSD_PROCESS_ACCT is not set | ||
| 84 | # CONFIG_TASKSTATS is not set | ||
| 85 | # CONFIG_AUDIT is not set | ||
| 86 | |||
| 87 | # | ||
| 88 | # RCU Subsystem | ||
| 89 | # | ||
| 90 | CONFIG_TREE_RCU=y | ||
| 91 | # CONFIG_TREE_PREEMPT_RCU is not set | ||
| 92 | # CONFIG_RCU_TRACE is not set | ||
| 93 | CONFIG_RCU_FANOUT=32 | ||
| 94 | # CONFIG_RCU_FANOUT_EXACT is not set | ||
| 95 | # CONFIG_TREE_RCU_TRACE is not set | ||
| 96 | CONFIG_IKCONFIG=y | ||
| 97 | CONFIG_IKCONFIG_PROC=y | ||
| 98 | CONFIG_LOG_BUF_SHIFT=14 | ||
| 99 | CONFIG_GROUP_SCHED=y | ||
| 100 | CONFIG_FAIR_GROUP_SCHED=y | ||
| 101 | # CONFIG_RT_GROUP_SCHED is not set | ||
| 102 | CONFIG_USER_SCHED=y | ||
| 103 | # CONFIG_CGROUP_SCHED is not set | ||
| 104 | # CONFIG_CGROUPS is not set | ||
| 105 | CONFIG_SYSFS_DEPRECATED=y | ||
| 106 | CONFIG_SYSFS_DEPRECATED_V2=y | ||
| 107 | CONFIG_RELAY=y | ||
| 108 | # CONFIG_NAMESPACES is not set | ||
| 109 | CONFIG_BLK_DEV_INITRD=y | ||
| 110 | CONFIG_INITRAMFS_SOURCE="" | ||
| 111 | CONFIG_RD_GZIP=y | ||
| 112 | # CONFIG_RD_BZIP2 is not set | ||
| 113 | # CONFIG_RD_LZMA is not set | ||
| 114 | # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | ||
| 115 | CONFIG_SYSCTL=y | ||
| 116 | CONFIG_ANON_INODES=y | ||
| 117 | CONFIG_EMBEDDED=y | ||
| 118 | CONFIG_SYSCTL_SYSCALL=y | ||
| 119 | CONFIG_KALLSYMS=y | ||
| 120 | CONFIG_KALLSYMS_ALL=y | ||
| 121 | # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||
| 122 | CONFIG_HOTPLUG=y | ||
| 123 | CONFIG_PRINTK=y | ||
| 124 | CONFIG_BUG=y | ||
| 125 | # CONFIG_ELF_CORE is not set | ||
| 126 | CONFIG_BASE_FULL=y | ||
| 127 | CONFIG_FUTEX=y | ||
| 128 | CONFIG_EPOLL=y | ||
| 129 | CONFIG_SIGNALFD=y | ||
| 130 | CONFIG_TIMERFD=y | ||
| 131 | CONFIG_EVENTFD=y | ||
| 132 | CONFIG_SHMEM=y | ||
| 133 | CONFIG_AIO=y | ||
| 134 | CONFIG_HAVE_PERF_EVENTS=y | ||
| 135 | |||
| 136 | # | ||
| 137 | # Kernel Performance Events And Counters | ||
| 138 | # | ||
| 139 | CONFIG_PERF_EVENTS=y | ||
| 140 | CONFIG_EVENT_PROFILE=y | ||
| 141 | CONFIG_PERF_COUNTERS=y | ||
| 142 | # CONFIG_DEBUG_PERF_USE_VMALLOC is not set | ||
| 143 | # CONFIG_VM_EVENT_COUNTERS is not set | ||
| 144 | CONFIG_COMPAT_BRK=y | ||
| 145 | CONFIG_SLAB=y | ||
| 146 | # CONFIG_SLUB is not set | ||
| 147 | # CONFIG_SLOB is not set | ||
| 148 | # CONFIG_PROFILING is not set | ||
| 149 | CONFIG_TRACEPOINTS=y | ||
| 150 | CONFIG_HAVE_OPROFILE=y | ||
| 151 | # CONFIG_KPROBES is not set | ||
| 152 | CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y | ||
| 153 | CONFIG_HAVE_IOREMAP_PROT=y | ||
| 154 | CONFIG_HAVE_KPROBES=y | ||
| 155 | CONFIG_HAVE_KRETPROBES=y | ||
| 156 | CONFIG_HAVE_ARCH_TRACEHOOK=y | ||
| 157 | CONFIG_HAVE_DMA_ATTRS=y | ||
| 158 | CONFIG_HAVE_DMA_API_DEBUG=y | ||
| 159 | |||
| 160 | # | ||
| 161 | # GCOV-based kernel profiling | ||
| 162 | # | ||
| 163 | # CONFIG_GCOV_KERNEL is not set | ||
| 164 | CONFIG_SLOW_WORK=y | ||
| 165 | # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set | ||
| 166 | CONFIG_SLABINFO=y | ||
| 167 | CONFIG_RT_MUTEXES=y | ||
| 168 | CONFIG_BASE_SMALL=0 | ||
| 169 | CONFIG_MODULES=y | ||
| 170 | # CONFIG_MODULE_FORCE_LOAD is not set | ||
| 171 | CONFIG_MODULE_UNLOAD=y | ||
| 172 | # CONFIG_MODULE_FORCE_UNLOAD is not set | ||
| 173 | # CONFIG_MODVERSIONS is not set | ||
| 174 | # CONFIG_MODULE_SRCVERSION_ALL is not set | ||
| 175 | CONFIG_BLOCK=y | ||
| 176 | CONFIG_LBDAF=y | ||
| 177 | CONFIG_BLK_DEV_BSG=y | ||
| 178 | # CONFIG_BLK_DEV_INTEGRITY is not set | ||
| 179 | |||
| 180 | # | ||
| 181 | # IO Schedulers | ||
| 182 | # | ||
| 183 | CONFIG_IOSCHED_NOOP=y | ||
| 184 | CONFIG_IOSCHED_AS=y | ||
| 185 | CONFIG_IOSCHED_DEADLINE=y | ||
| 186 | CONFIG_IOSCHED_CFQ=y | ||
| 187 | CONFIG_DEFAULT_AS=y | ||
| 188 | # CONFIG_DEFAULT_DEADLINE is not set | ||
| 189 | # CONFIG_DEFAULT_CFQ is not set | ||
| 190 | # CONFIG_DEFAULT_NOOP is not set | ||
| 191 | CONFIG_DEFAULT_IOSCHED="anticipatory" | ||
| 192 | # CONFIG_FREEZER is not set | ||
| 193 | |||
| 194 | # | ||
| 195 | # Platform support | ||
| 196 | # | ||
| 197 | # CONFIG_PPC_CHRP is not set | ||
| 198 | # CONFIG_MPC5121_ADS is not set | ||
| 199 | # CONFIG_MPC5121_GENERIC is not set | ||
| 200 | # CONFIG_PPC_MPC52xx is not set | ||
| 201 | # CONFIG_PPC_PMAC is not set | ||
| 202 | # CONFIG_PPC_CELL is not set | ||
| 203 | # CONFIG_PPC_CELL_NATIVE is not set | ||
| 204 | # CONFIG_PPC_82xx is not set | ||
| 205 | # CONFIG_PQ2ADS is not set | ||
| 206 | # CONFIG_PPC_83xx is not set | ||
| 207 | # CONFIG_PPC_86xx is not set | ||
| 208 | CONFIG_EMBEDDED6xx=y | ||
| 209 | # CONFIG_LINKSTATION is not set | ||
| 210 | # CONFIG_STORCENTER is not set | ||
| 211 | # CONFIG_MPC7448HPC2 is not set | ||
| 212 | # CONFIG_PPC_HOLLY is not set | ||
| 213 | # CONFIG_PPC_PRPMC2800 is not set | ||
| 214 | # CONFIG_PPC_C2K is not set | ||
| 215 | CONFIG_GAMECUBE_COMMON=y | ||
| 216 | CONFIG_USBGECKO_UDBG=y | ||
| 217 | CONFIG_FLIPPER_PIC=y | ||
| 218 | # CONFIG_GAMECUBE is not set | ||
| 219 | CONFIG_HLWD_PIC=y | ||
| 220 | CONFIG_STARLET_MINI=y | ||
| 221 | CONFIG_WII=y | ||
| 222 | # CONFIG_AMIGAONE is not set | ||
| 223 | # CONFIG_PPC_OF_BOOT_TRAMPOLINE is not set | ||
| 224 | # CONFIG_IPIC is not set | ||
| 225 | # CONFIG_MPIC is not set | ||
| 226 | # CONFIG_MPIC_WEIRD is not set | ||
| 227 | # CONFIG_PPC_I8259 is not set | ||
| 228 | # CONFIG_PPC_RTAS is not set | ||
| 229 | # CONFIG_MMIO_NVRAM is not set | ||
| 230 | # CONFIG_PPC_MPC106 is not set | ||
| 231 | # CONFIG_PPC_970_NAP is not set | ||
| 232 | # CONFIG_PPC_INDIRECT_IO is not set | ||
| 233 | # CONFIG_GENERIC_IOMAP is not set | ||
| 234 | # CONFIG_CPU_FREQ is not set | ||
| 235 | # CONFIG_TAU is not set | ||
| 236 | # CONFIG_FSL_ULI1575 is not set | ||
| 237 | # CONFIG_SIMPLE_GPIO is not set | ||
| 238 | |||
| 239 | # | ||
| 240 | # Kernel options | ||
| 241 | # | ||
| 242 | # CONFIG_HIGHMEM is not set | ||
| 243 | # CONFIG_NO_HZ is not set | ||
| 244 | # CONFIG_HIGH_RES_TIMERS is not set | ||
| 245 | CONFIG_GENERIC_CLOCKEVENTS_BUILD=y | ||
| 246 | # CONFIG_HZ_100 is not set | ||
| 247 | CONFIG_HZ_250=y | ||
| 248 | # CONFIG_HZ_300 is not set | ||
| 249 | # CONFIG_HZ_1000 is not set | ||
| 250 | CONFIG_HZ=250 | ||
| 251 | # CONFIG_SCHED_HRTICK is not set | ||
| 252 | # CONFIG_PREEMPT_NONE is not set | ||
| 253 | # CONFIG_PREEMPT_VOLUNTARY is not set | ||
| 254 | CONFIG_PREEMPT=y | ||
| 255 | CONFIG_BINFMT_ELF=y | ||
| 256 | # CONFIG_HAVE_AOUT is not set | ||
| 257 | CONFIG_BINFMT_MISC=m | ||
| 258 | # CONFIG_IOMMU_HELPER is not set | ||
| 259 | # CONFIG_SWIOTLB is not set | ||
| 260 | CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y | ||
| 261 | CONFIG_ARCH_HAS_WALK_MEMORY=y | ||
| 262 | CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y | ||
| 263 | CONFIG_KEXEC=y | ||
| 264 | # CONFIG_CRASH_DUMP is not set | ||
| 265 | CONFIG_MAX_ACTIVE_REGIONS=32 | ||
| 266 | CONFIG_ARCH_FLATMEM_ENABLE=y | ||
| 267 | CONFIG_ARCH_POPULATES_NODE_MAP=y | ||
| 268 | CONFIG_SELECT_MEMORY_MODEL=y | ||
| 269 | CONFIG_FLATMEM_MANUAL=y | ||
| 270 | # CONFIG_DISCONTIGMEM_MANUAL is not set | ||
| 271 | # CONFIG_SPARSEMEM_MANUAL is not set | ||
| 272 | CONFIG_FLATMEM=y | ||
| 273 | CONFIG_FLAT_NODE_MEM_MAP=y | ||
| 274 | CONFIG_PAGEFLAGS_EXTENDED=y | ||
| 275 | CONFIG_SPLIT_PTLOCK_CPUS=4 | ||
| 276 | # CONFIG_MIGRATION is not set | ||
| 277 | # CONFIG_PHYS_ADDR_T_64BIT is not set | ||
| 278 | CONFIG_ZONE_DMA_FLAG=1 | ||
| 279 | CONFIG_BOUNCE=y | ||
| 280 | CONFIG_VIRT_TO_BUS=y | ||
| 281 | CONFIG_HAVE_MLOCK=y | ||
| 282 | CONFIG_HAVE_MLOCKED_PAGE_BIT=y | ||
| 283 | # CONFIG_KSM is not set | ||
| 284 | CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 | ||
| 285 | CONFIG_PPC_4K_PAGES=y | ||
| 286 | # CONFIG_PPC_16K_PAGES is not set | ||
| 287 | # CONFIG_PPC_64K_PAGES is not set | ||
| 288 | # CONFIG_PPC_256K_PAGES is not set | ||
| 289 | CONFIG_FORCE_MAX_ZONEORDER=11 | ||
| 290 | CONFIG_PROC_DEVICETREE=y | ||
| 291 | # CONFIG_CMDLINE_BOOL is not set | ||
| 292 | CONFIG_EXTRA_TARGETS="" | ||
| 293 | # CONFIG_PM is not set | ||
| 294 | # CONFIG_SECCOMP is not set | ||
| 295 | CONFIG_ISA_DMA_API=y | ||
| 296 | |||
| 297 | # | ||
| 298 | # Bus options | ||
| 299 | # | ||
| 300 | CONFIG_ZONE_DMA=y | ||
| 301 | CONFIG_GENERIC_ISA_DMA=y | ||
| 302 | # CONFIG_PCI is not set | ||
| 303 | # CONFIG_PCI_DOMAINS is not set | ||
| 304 | # CONFIG_PCI_SYSCALL is not set | ||
| 305 | # CONFIG_ARCH_SUPPORTS_MSI is not set | ||
| 306 | # CONFIG_PCCARD is not set | ||
| 307 | # CONFIG_HAS_RAPIDIO is not set | ||
| 308 | |||
| 309 | # | ||
| 310 | # Advanced setup | ||
| 311 | # | ||
| 312 | CONFIG_ADVANCED_OPTIONS=y | ||
| 313 | # CONFIG_LOWMEM_SIZE_BOOL is not set | ||
| 314 | CONFIG_LOWMEM_SIZE=0x30000000 | ||
| 315 | # CONFIG_PAGE_OFFSET_BOOL is not set | ||
| 316 | CONFIG_PAGE_OFFSET=0xc0000000 | ||
| 317 | # CONFIG_KERNEL_START_BOOL is not set | ||
| 318 | CONFIG_KERNEL_START=0xc0000000 | ||
| 319 | CONFIG_PHYSICAL_START=0x00000000 | ||
| 320 | # CONFIG_TASK_SIZE_BOOL is not set | ||
| 321 | CONFIG_TASK_SIZE=0xc0000000 | ||
| 322 | # CONFIG_CONSISTENT_SIZE_BOOL is not set | ||
| 323 | CONFIG_CONSISTENT_SIZE=0x00200000 | ||
| 324 | CONFIG_NET=y | ||
| 325 | |||
| 326 | # | ||
| 327 | # Networking options | ||
| 328 | # | ||
| 329 | CONFIG_PACKET=y | ||
| 330 | # CONFIG_PACKET_MMAP is not set | ||
| 331 | CONFIG_UNIX=y | ||
| 332 | # CONFIG_NET_KEY is not set | ||
| 333 | CONFIG_INET=y | ||
| 334 | # CONFIG_IP_MULTICAST is not set | ||
| 335 | # CONFIG_IP_ADVANCED_ROUTER is not set | ||
| 336 | CONFIG_IP_FIB_HASH=y | ||
| 337 | CONFIG_IP_PNP=y | ||
| 338 | CONFIG_IP_PNP_DHCP=y | ||
| 339 | # CONFIG_IP_PNP_BOOTP is not set | ||
| 340 | CONFIG_IP_PNP_RARP=y | ||
| 341 | # CONFIG_NET_IPIP is not set | ||
| 342 | # CONFIG_NET_IPGRE is not set | ||
| 343 | # CONFIG_ARPD is not set | ||
| 344 | # CONFIG_SYN_COOKIES is not set | ||
| 345 | # CONFIG_INET_AH is not set | ||
| 346 | # CONFIG_INET_ESP is not set | ||
| 347 | # CONFIG_INET_IPCOMP is not set | ||
| 348 | # CONFIG_INET_XFRM_TUNNEL is not set | ||
| 349 | # CONFIG_INET_TUNNEL is not set | ||
| 350 | # CONFIG_INET_XFRM_MODE_TRANSPORT is not set | ||
| 351 | # CONFIG_INET_XFRM_MODE_TUNNEL is not set | ||
| 352 | # CONFIG_INET_XFRM_MODE_BEET is not set | ||
| 353 | # CONFIG_INET_LRO is not set | ||
| 354 | # CONFIG_INET_DIAG is not set | ||
| 355 | # CONFIG_TCP_CONG_ADVANCED is not set | ||
| 356 | CONFIG_TCP_CONG_CUBIC=y | ||
| 357 | CONFIG_DEFAULT_TCP_CONG="cubic" | ||
| 358 | # CONFIG_TCP_MD5SIG is not set | ||
| 359 | # CONFIG_IPV6 is not set | ||
| 360 | # CONFIG_NETWORK_SECMARK is not set | ||
| 361 | # CONFIG_NETFILTER is not set | ||
| 362 | # CONFIG_IP_DCCP is not set | ||
| 363 | # CONFIG_IP_SCTP is not set | ||
| 364 | # CONFIG_RDS is not set | ||
| 365 | # CONFIG_TIPC is not set | ||
| 366 | # CONFIG_ATM is not set | ||
| 367 | # CONFIG_BRIDGE is not set | ||
| 368 | # CONFIG_NET_DSA is not set | ||
| 369 | # CONFIG_VLAN_8021Q is not set | ||
| 370 | # CONFIG_DECNET is not set | ||
| 371 | # CONFIG_LLC2 is not set | ||
| 372 | # CONFIG_IPX is not set | ||
| 373 | # CONFIG_ATALK is not set | ||
| 374 | # CONFIG_X25 is not set | ||
| 375 | # CONFIG_LAPB is not set | ||
| 376 | # CONFIG_ECONET is not set | ||
| 377 | # CONFIG_WAN_ROUTER is not set | ||
| 378 | # CONFIG_PHONET is not set | ||
| 379 | # CONFIG_IEEE802154 is not set | ||
| 380 | # CONFIG_NET_SCHED is not set | ||
| 381 | # CONFIG_DCB is not set | ||
| 382 | |||
| 383 | # | ||
| 384 | # Network testing | ||
| 385 | # | ||
| 386 | # CONFIG_NET_PKTGEN is not set | ||
| 387 | # CONFIG_NET_DROP_MONITOR is not set | ||
| 388 | # CONFIG_HAMRADIO is not set | ||
| 389 | # CONFIG_CAN is not set | ||
| 390 | # CONFIG_IRDA is not set | ||
| 391 | CONFIG_BT=y | ||
| 392 | CONFIG_BT_L2CAP=y | ||
| 393 | # CONFIG_BT_SCO is not set | ||
| 394 | CONFIG_BT_RFCOMM=y | ||
| 395 | # CONFIG_BT_RFCOMM_TTY is not set | ||
| 396 | CONFIG_BT_BNEP=y | ||
| 397 | CONFIG_BT_BNEP_MC_FILTER=y | ||
| 398 | # CONFIG_BT_BNEP_PROTO_FILTER is not set | ||
| 399 | CONFIG_BT_HIDP=y | ||
| 400 | |||
| 401 | # | ||
| 402 | # Bluetooth device drivers | ||
| 403 | # | ||
| 404 | # CONFIG_BT_HCIBTSDIO is not set | ||
| 405 | # CONFIG_BT_HCIUART is not set | ||
| 406 | # CONFIG_BT_HCIVHCI is not set | ||
| 407 | # CONFIG_BT_MRVL is not set | ||
| 408 | # CONFIG_AF_RXRPC is not set | ||
| 409 | CONFIG_WIRELESS=y | ||
| 410 | CONFIG_CFG80211=y | ||
| 411 | # CONFIG_NL80211_TESTMODE is not set | ||
| 412 | # CONFIG_CFG80211_DEVELOPER_WARNINGS is not set | ||
| 413 | # CONFIG_CFG80211_REG_DEBUG is not set | ||
| 414 | CONFIG_CFG80211_DEFAULT_PS=y | ||
| 415 | CONFIG_CFG80211_DEFAULT_PS_VALUE=1 | ||
| 416 | # CONFIG_CFG80211_DEBUGFS is not set | ||
| 417 | CONFIG_WIRELESS_OLD_REGULATORY=y | ||
| 418 | CONFIG_WIRELESS_EXT=y | ||
| 419 | CONFIG_WIRELESS_EXT_SYSFS=y | ||
| 420 | # CONFIG_LIB80211 is not set | ||
| 421 | CONFIG_MAC80211=y | ||
| 422 | # CONFIG_MAC80211_RC_PID is not set | ||
| 423 | CONFIG_MAC80211_RC_MINSTREL=y | ||
| 424 | # CONFIG_MAC80211_RC_DEFAULT_PID is not set | ||
| 425 | CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y | ||
| 426 | CONFIG_MAC80211_RC_DEFAULT="minstrel" | ||
| 427 | # CONFIG_MAC80211_MESH is not set | ||
| 428 | # CONFIG_MAC80211_LEDS is not set | ||
| 429 | # CONFIG_MAC80211_DEBUGFS is not set | ||
| 430 | # CONFIG_MAC80211_DEBUG_MENU is not set | ||
| 431 | # CONFIG_WIMAX is not set | ||
| 432 | # CONFIG_RFKILL is not set | ||
| 433 | # CONFIG_NET_9P is not set | ||
| 434 | |||
| 435 | # | ||
| 436 | # Device Drivers | ||
| 437 | # | ||
| 438 | |||
| 439 | # | ||
| 440 | # Generic Driver Options | ||
| 441 | # | ||
| 442 | CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" | ||
| 443 | # CONFIG_DEVTMPFS is not set | ||
| 444 | # CONFIG_STANDALONE is not set | ||
| 445 | CONFIG_PREVENT_FIRMWARE_BUILD=y | ||
| 446 | CONFIG_FW_LOADER=y | ||
| 447 | # CONFIG_FIRMWARE_IN_KERNEL is not set | ||
| 448 | CONFIG_EXTRA_FIRMWARE="" | ||
| 449 | # CONFIG_DEBUG_DRIVER is not set | ||
| 450 | # CONFIG_DEBUG_DEVRES is not set | ||
| 451 | # CONFIG_SYS_HYPERVISOR is not set | ||
| 452 | # CONFIG_CONNECTOR is not set | ||
| 453 | # CONFIG_MTD is not set | ||
| 454 | CONFIG_OF_DEVICE=y | ||
| 455 | CONFIG_OF_GPIO=y | ||
| 456 | CONFIG_OF_I2C=y | ||
| 457 | # CONFIG_PARPORT is not set | ||
| 458 | CONFIG_BLK_DEV=y | ||
| 459 | # CONFIG_BLK_DEV_FD is not set | ||
| 460 | # CONFIG_BLK_DEV_COW_COMMON is not set | ||
| 461 | CONFIG_BLK_DEV_LOOP=y | ||
| 462 | # CONFIG_BLK_DEV_CRYPTOLOOP is not set | ||
| 463 | # CONFIG_BLK_DEV_NBD is not set | ||
| 464 | CONFIG_BLK_DEV_RAM=y | ||
| 465 | CONFIG_BLK_DEV_RAM_COUNT=2 | ||
| 466 | CONFIG_BLK_DEV_RAM_SIZE=4096 | ||
| 467 | # CONFIG_BLK_DEV_XIP is not set | ||
| 468 | # CONFIG_CDROM_PKTCDVD is not set | ||
| 469 | # CONFIG_ATA_OVER_ETH is not set | ||
| 470 | # CONFIG_BLK_DEV_HD is not set | ||
| 471 | CONFIG_MISC_DEVICES=y | ||
| 472 | # CONFIG_ICS932S401 is not set | ||
| 473 | # CONFIG_ENCLOSURE_SERVICES is not set | ||
| 474 | # CONFIG_ISL29003 is not set | ||
| 475 | # CONFIG_C2PORT is not set | ||
| 476 | |||
| 477 | # | ||
| 478 | # EEPROM support | ||
| 479 | # | ||
| 480 | # CONFIG_EEPROM_AT24 is not set | ||
| 481 | # CONFIG_EEPROM_LEGACY is not set | ||
| 482 | # CONFIG_EEPROM_MAX6875 is not set | ||
| 483 | # CONFIG_EEPROM_93CX6 is not set | ||
| 484 | CONFIG_HAVE_IDE=y | ||
| 485 | # CONFIG_IDE is not set | ||
| 486 | |||
| 487 | # | ||
| 488 | # SCSI device support | ||
| 489 | # | ||
| 490 | # CONFIG_RAID_ATTRS is not set | ||
| 491 | CONFIG_SCSI=y | ||
| 492 | CONFIG_SCSI_DMA=y | ||
| 493 | # CONFIG_SCSI_TGT is not set | ||
| 494 | # CONFIG_SCSI_NETLINK is not set | ||
| 495 | CONFIG_SCSI_PROC_FS=y | ||
| 496 | |||
| 497 | # | ||
| 498 | # SCSI support type (disk, tape, CD-ROM) | ||
| 499 | # | ||
| 500 | CONFIG_BLK_DEV_SD=y | ||
| 501 | # CONFIG_CHR_DEV_ST is not set | ||
| 502 | # CONFIG_CHR_DEV_OSST is not set | ||
| 503 | # CONFIG_BLK_DEV_SR is not set | ||
| 504 | # CONFIG_CHR_DEV_SG is not set | ||
| 505 | # CONFIG_CHR_DEV_SCH is not set | ||
| 506 | CONFIG_SCSI_MULTI_LUN=y | ||
| 507 | # CONFIG_SCSI_CONSTANTS is not set | ||
| 508 | # CONFIG_SCSI_LOGGING is not set | ||
| 509 | # CONFIG_SCSI_SCAN_ASYNC is not set | ||
| 510 | CONFIG_SCSI_WAIT_SCAN=m | ||
| 511 | |||
| 512 | # | ||
| 513 | # SCSI Transports | ||
| 514 | # | ||
| 515 | # CONFIG_SCSI_SPI_ATTRS is not set | ||
| 516 | # CONFIG_SCSI_FC_ATTRS is not set | ||
| 517 | # CONFIG_SCSI_ISCSI_ATTRS is not set | ||
| 518 | # CONFIG_SCSI_SAS_ATTRS is not set | ||
| 519 | # CONFIG_SCSI_SAS_LIBSAS is not set | ||
| 520 | # CONFIG_SCSI_SRP_ATTRS is not set | ||
| 521 | CONFIG_SCSI_LOWLEVEL=y | ||
| 522 | # CONFIG_ISCSI_TCP is not set | ||
| 523 | # CONFIG_LIBFC is not set | ||
| 524 | # CONFIG_LIBFCOE is not set | ||
| 525 | # CONFIG_SCSI_DEBUG is not set | ||
| 526 | # CONFIG_SCSI_DH is not set | ||
| 527 | # CONFIG_SCSI_OSD_INITIATOR is not set | ||
| 528 | # CONFIG_ATA is not set | ||
| 529 | # CONFIG_MD is not set | ||
| 530 | # CONFIG_MACINTOSH_DRIVERS is not set | ||
| 531 | CONFIG_NETDEVICES=y | ||
| 532 | # CONFIG_DUMMY is not set | ||
| 533 | # CONFIG_BONDING is not set | ||
| 534 | # CONFIG_MACVLAN is not set | ||
| 535 | # CONFIG_EQUALIZER is not set | ||
| 536 | # CONFIG_TUN is not set | ||
| 537 | # CONFIG_VETH is not set | ||
| 538 | # CONFIG_PHYLIB is not set | ||
| 539 | CONFIG_NET_ETHERNET=y | ||
| 540 | CONFIG_MII=y | ||
| 541 | # CONFIG_ETHOC is not set | ||
| 542 | # CONFIG_DNET is not set | ||
| 543 | # CONFIG_IBM_NEW_EMAC_ZMII is not set | ||
| 544 | # CONFIG_IBM_NEW_EMAC_RGMII is not set | ||
| 545 | # CONFIG_IBM_NEW_EMAC_TAH is not set | ||
| 546 | # CONFIG_IBM_NEW_EMAC_EMAC4 is not set | ||
| 547 | # CONFIG_IBM_NEW_EMAC_NO_FLOW_CTRL is not set | ||
| 548 | # CONFIG_IBM_NEW_EMAC_MAL_CLR_ICINTSTAT is not set | ||
| 549 | # CONFIG_IBM_NEW_EMAC_MAL_COMMON_ERR is not set | ||
| 550 | # CONFIG_B44 is not set | ||
| 551 | # CONFIG_KS8842 is not set | ||
| 552 | # CONFIG_KS8851_MLL is not set | ||
| 553 | # CONFIG_XILINX_EMACLITE is not set | ||
| 554 | # CONFIG_NETDEV_1000 is not set | ||
| 555 | # CONFIG_NETDEV_10000 is not set | ||
| 556 | CONFIG_WLAN=y | ||
| 557 | # CONFIG_WLAN_PRE80211 is not set | ||
| 558 | CONFIG_WLAN_80211=y | ||
| 559 | # CONFIG_LIBERTAS is not set | ||
| 560 | # CONFIG_LIBERTAS_THINFIRM is not set | ||
| 561 | # CONFIG_MAC80211_HWSIM is not set | ||
| 562 | # CONFIG_P54_COMMON is not set | ||
| 563 | # CONFIG_ATH_COMMON is not set | ||
| 564 | # CONFIG_HOSTAP is not set | ||
| 565 | CONFIG_B43=y | ||
| 566 | CONFIG_B43_SDIO=y | ||
| 567 | CONFIG_B43_PIO=y | ||
| 568 | # CONFIG_B43_PHY_LP is not set | ||
| 569 | CONFIG_B43_DEBUG=y | ||
| 570 | # CONFIG_B43_FORCE_PIO is not set | ||
| 571 | # CONFIG_B43LEGACY is not set | ||
| 572 | # CONFIG_RT2X00 is not set | ||
| 573 | # CONFIG_WL12XX is not set | ||
| 574 | # CONFIG_IWM is not set | ||
| 575 | |||
| 576 | # | ||
| 577 | # Enable WiMAX (Networking options) to see the WiMAX drivers | ||
| 578 | # | ||
| 579 | # CONFIG_WAN is not set | ||
| 580 | # CONFIG_PPP is not set | ||
| 581 | # CONFIG_SLIP is not set | ||
| 582 | # CONFIG_NETCONSOLE is not set | ||
| 583 | # CONFIG_NETPOLL is not set | ||
| 584 | # CONFIG_NET_POLL_CONTROLLER is not set | ||
| 585 | # CONFIG_ISDN is not set | ||
| 586 | # CONFIG_PHONE is not set | ||
| 587 | |||
| 588 | # | ||
| 589 | # Input device support | ||
| 590 | # | ||
| 591 | CONFIG_INPUT=y | ||
| 592 | CONFIG_INPUT_FF_MEMLESS=m | ||
| 593 | # CONFIG_INPUT_POLLDEV is not set | ||
| 594 | |||
| 595 | # | ||
| 596 | # Userland interfaces | ||
| 597 | # | ||
| 598 | CONFIG_INPUT_MOUSEDEV=y | ||
| 599 | # CONFIG_INPUT_MOUSEDEV_PSAUX is not set | ||
| 600 | CONFIG_INPUT_MOUSEDEV_SCREEN_X=640 | ||
| 601 | CONFIG_INPUT_MOUSEDEV_SCREEN_Y=480 | ||
| 602 | CONFIG_INPUT_JOYDEV=y | ||
| 603 | CONFIG_INPUT_EVDEV=y | ||
| 604 | # CONFIG_INPUT_EVBUG is not set | ||
| 605 | |||
| 606 | # | ||
| 607 | # Input Device Drivers | ||
| 608 | # | ||
| 609 | CONFIG_INPUT_KEYBOARD=y | ||
| 610 | # CONFIG_KEYBOARD_ADP5588 is not set | ||
| 611 | # CONFIG_KEYBOARD_ATKBD is not set | ||
| 612 | # CONFIG_QT2160 is not set | ||
| 613 | # CONFIG_KEYBOARD_LKKBD is not set | ||
| 614 | # CONFIG_KEYBOARD_GPIO is not set | ||
| 615 | # CONFIG_KEYBOARD_MATRIX is not set | ||
| 616 | # CONFIG_KEYBOARD_MAX7359 is not set | ||
| 617 | # CONFIG_KEYBOARD_NEWTON is not set | ||
| 618 | # CONFIG_KEYBOARD_OPENCORES is not set | ||
| 619 | # CONFIG_KEYBOARD_STOWAWAY is not set | ||
| 620 | # CONFIG_KEYBOARD_SUNKBD is not set | ||
| 621 | # CONFIG_KEYBOARD_XTKBD is not set | ||
| 622 | CONFIG_INPUT_MOUSE=y | ||
| 623 | # CONFIG_MOUSE_PS2 is not set | ||
| 624 | # CONFIG_MOUSE_SERIAL is not set | ||
| 625 | # CONFIG_MOUSE_VSXXXAA is not set | ||
| 626 | # CONFIG_MOUSE_GPIO is not set | ||
| 627 | # CONFIG_MOUSE_SYNAPTICS_I2C is not set | ||
| 628 | CONFIG_INPUT_JOYSTICK=y | ||
| 629 | # CONFIG_JOYSTICK_ANALOG is not set | ||
| 630 | # CONFIG_JOYSTICK_A3D is not set | ||
| 631 | # CONFIG_JOYSTICK_ADI is not set | ||
| 632 | # CONFIG_JOYSTICK_COBRA is not set | ||
| 633 | # CONFIG_JOYSTICK_GF2K is not set | ||
| 634 | # CONFIG_JOYSTICK_GRIP is not set | ||
| 635 | # CONFIG_JOYSTICK_GRIP_MP is not set | ||
| 636 | # CONFIG_JOYSTICK_GUILLEMOT is not set | ||
| 637 | # CONFIG_JOYSTICK_INTERACT is not set | ||
| 638 | # CONFIG_JOYSTICK_SIDEWINDER is not set | ||
| 639 | # CONFIG_JOYSTICK_TMDC is not set | ||
| 640 | # CONFIG_JOYSTICK_IFORCE is not set | ||
| 641 | # CONFIG_JOYSTICK_WARRIOR is not set | ||
| 642 | # CONFIG_JOYSTICK_MAGELLAN is not set | ||
| 643 | # CONFIG_JOYSTICK_SPACEORB is not set | ||
| 644 | # CONFIG_JOYSTICK_SPACEBALL is not set | ||
| 645 | # CONFIG_JOYSTICK_STINGER is not set | ||
| 646 | # CONFIG_JOYSTICK_TWIDJOY is not set | ||
| 647 | # CONFIG_JOYSTICK_ZHENHUA is not set | ||
| 648 | # CONFIG_JOYSTICK_JOYDUMP is not set | ||
| 649 | # CONFIG_INPUT_TABLET is not set | ||
| 650 | # CONFIG_INPUT_TOUCHSCREEN is not set | ||
| 651 | CONFIG_INPUT_MISC=y | ||
| 652 | CONFIG_INPUT_UINPUT=y | ||
| 653 | # CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set | ||
| 654 | |||
| 655 | # | ||
| 656 | # Hardware I/O ports | ||
| 657 | # | ||
| 658 | CONFIG_SERIO=y | ||
| 659 | # CONFIG_SERIO_I8042 is not set | ||
| 660 | # CONFIG_SERIO_SERPORT is not set | ||
| 661 | # CONFIG_SERIO_LIBPS2 is not set | ||
| 662 | # CONFIG_SERIO_RAW is not set | ||
| 663 | # CONFIG_SERIO_XILINX_XPS_PS2 is not set | ||
| 664 | # CONFIG_GAMEPORT is not set | ||
| 665 | |||
| 666 | # | ||
| 667 | # Character devices | ||
| 668 | # | ||
| 669 | CONFIG_VT=y | ||
| 670 | CONFIG_CONSOLE_TRANSLATIONS=y | ||
| 671 | CONFIG_VT_CONSOLE=y | ||
| 672 | CONFIG_HW_CONSOLE=y | ||
| 673 | # CONFIG_VT_HW_CONSOLE_BINDING is not set | ||
| 674 | # CONFIG_DEVKMEM is not set | ||
| 675 | # CONFIG_SERIAL_NONSTANDARD is not set | ||
| 676 | |||
| 677 | # | ||
| 678 | # Serial drivers | ||
| 679 | # | ||
| 680 | # CONFIG_SERIAL_8250 is not set | ||
| 681 | |||
| 682 | # | ||
| 683 | # Non-8250 serial port support | ||
| 684 | # | ||
| 685 | # CONFIG_SERIAL_UARTLITE is not set | ||
| 686 | CONFIG_UNIX98_PTYS=y | ||
| 687 | # CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set | ||
| 688 | CONFIG_LEGACY_PTYS=y | ||
| 689 | CONFIG_LEGACY_PTY_COUNT=64 | ||
| 690 | # CONFIG_HVC_UDBG is not set | ||
| 691 | # CONFIG_IPMI_HANDLER is not set | ||
| 692 | # CONFIG_HW_RANDOM is not set | ||
| 693 | CONFIG_NVRAM=y | ||
| 694 | # CONFIG_R3964 is not set | ||
| 695 | # CONFIG_RAW_DRIVER is not set | ||
| 696 | # CONFIG_TCG_TPM is not set | ||
| 697 | CONFIG_I2C=y | ||
| 698 | CONFIG_I2C_BOARDINFO=y | ||
| 699 | CONFIG_I2C_COMPAT=y | ||
| 700 | CONFIG_I2C_CHARDEV=y | ||
| 701 | CONFIG_I2C_HELPER_AUTO=y | ||
| 702 | CONFIG_I2C_ALGOBIT=y | ||
| 703 | |||
| 704 | # | ||
| 705 | # I2C Hardware Bus support | ||
| 706 | # | ||
| 707 | |||
| 708 | # | ||
| 709 | # I2C system bus drivers (mostly embedded / system-on-chip) | ||
| 710 | # | ||
| 711 | CONFIG_I2C_GPIO=y | ||
| 712 | # CONFIG_I2C_MPC is not set | ||
| 713 | # CONFIG_I2C_OCORES is not set | ||
| 714 | # CONFIG_I2C_SIMTEC is not set | ||
| 715 | |||
| 716 | # | ||
| 717 | # External I2C/SMBus adapter drivers | ||
| 718 | # | ||
| 719 | # CONFIG_I2C_PARPORT_LIGHT is not set | ||
| 720 | # CONFIG_I2C_TAOS_EVM is not set | ||
| 721 | |||
| 722 | # | ||
| 723 | # Other I2C/SMBus bus drivers | ||
| 724 | # | ||
| 725 | # CONFIG_I2C_PCA_PLATFORM is not set | ||
| 726 | # CONFIG_I2C_STUB is not set | ||
| 727 | |||
| 728 | # | ||
| 729 | # Miscellaneous I2C Chip support | ||
| 730 | # | ||
| 731 | # CONFIG_DS1682 is not set | ||
| 732 | # CONFIG_SENSORS_TSL2550 is not set | ||
| 733 | # CONFIG_I2C_DEBUG_CORE is not set | ||
| 734 | # CONFIG_I2C_DEBUG_ALGO is not set | ||
| 735 | # CONFIG_I2C_DEBUG_BUS is not set | ||
| 736 | # CONFIG_I2C_DEBUG_CHIP is not set | ||
| 737 | # CONFIG_SPI is not set | ||
| 738 | |||
| 739 | # | ||
| 740 | # PPS support | ||
| 741 | # | ||
| 742 | # CONFIG_PPS is not set | ||
| 743 | CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y | ||
| 744 | CONFIG_GPIOLIB=y | ||
| 745 | # CONFIG_DEBUG_GPIO is not set | ||
| 746 | CONFIG_GPIO_SYSFS=y | ||
| 747 | |||
| 748 | # | ||
| 749 | # Memory mapped GPIO expanders: | ||
| 750 | # | ||
| 751 | # CONFIG_GPIO_XILINX is not set | ||
| 752 | |||
| 753 | # | ||
| 754 | # I2C GPIO expanders: | ||
| 755 | # | ||
| 756 | # CONFIG_GPIO_MAX732X is not set | ||
| 757 | # CONFIG_GPIO_PCA953X is not set | ||
| 758 | # CONFIG_GPIO_PCF857X is not set | ||
| 759 | |||
| 760 | # | ||
| 761 | # PCI GPIO expanders: | ||
| 762 | # | ||
| 763 | |||
| 764 | # | ||
| 765 | # SPI GPIO expanders: | ||
| 766 | # | ||
| 767 | |||
| 768 | # | ||
| 769 | # AC97 GPIO expanders: | ||
| 770 | # | ||
| 771 | # CONFIG_W1 is not set | ||
| 772 | # CONFIG_POWER_SUPPLY is not set | ||
| 773 | # CONFIG_HWMON is not set | ||
| 774 | # CONFIG_THERMAL is not set | ||
| 775 | # CONFIG_WATCHDOG is not set | ||
| 776 | CONFIG_SSB_POSSIBLE=y | ||
| 777 | |||
| 778 | # | ||
| 779 | # Sonics Silicon Backplane | ||
| 780 | # | ||
| 781 | CONFIG_SSB=y | ||
| 782 | CONFIG_SSB_BLOCKIO=y | ||
| 783 | CONFIG_SSB_SDIOHOST_POSSIBLE=y | ||
| 784 | CONFIG_SSB_SDIOHOST=y | ||
| 785 | # CONFIG_SSB_SILENT is not set | ||
| 786 | CONFIG_SSB_DEBUG=y | ||
| 787 | |||
| 788 | # | ||
| 789 | # Multifunction device drivers | ||
| 790 | # | ||
| 791 | # CONFIG_MFD_CORE is not set | ||
| 792 | # CONFIG_MFD_SM501 is not set | ||
| 793 | # CONFIG_HTC_PASIC3 is not set | ||
| 794 | # CONFIG_TPS65010 is not set | ||
| 795 | # CONFIG_TWL4030_CORE is not set | ||
| 796 | # CONFIG_MFD_TMIO is not set | ||
| 797 | # CONFIG_PMIC_DA903X is not set | ||
| 798 | # CONFIG_MFD_WM8400 is not set | ||
| 799 | # CONFIG_MFD_WM831X is not set | ||
| 800 | # CONFIG_MFD_WM8350_I2C is not set | ||
| 801 | # CONFIG_MFD_PCF50633 is not set | ||
| 802 | # CONFIG_AB3100_CORE is not set | ||
| 803 | # CONFIG_REGULATOR is not set | ||
| 804 | # CONFIG_MEDIA_SUPPORT is not set | ||
| 805 | |||
| 806 | # | ||
| 807 | # Graphics support | ||
| 808 | # | ||
| 809 | # CONFIG_VGASTATE is not set | ||
| 810 | # CONFIG_VIDEO_OUTPUT_CONTROL is not set | ||
| 811 | CONFIG_FB=y | ||
| 812 | # CONFIG_FIRMWARE_EDID is not set | ||
| 813 | # CONFIG_FB_DDC is not set | ||
| 814 | # CONFIG_FB_BOOT_VESA_SUPPORT is not set | ||
| 815 | # CONFIG_FB_CFB_FILLRECT is not set | ||
| 816 | # CONFIG_FB_CFB_COPYAREA is not set | ||
| 817 | # CONFIG_FB_CFB_IMAGEBLIT is not set | ||
| 818 | # CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set | ||
| 819 | # CONFIG_FB_SYS_FILLRECT is not set | ||
| 820 | # CONFIG_FB_SYS_COPYAREA is not set | ||
| 821 | # CONFIG_FB_SYS_IMAGEBLIT is not set | ||
| 822 | # CONFIG_FB_FOREIGN_ENDIAN is not set | ||
| 823 | # CONFIG_FB_SYS_FOPS is not set | ||
| 824 | # CONFIG_FB_SVGALIB is not set | ||
| 825 | # CONFIG_FB_MACMODES is not set | ||
| 826 | # CONFIG_FB_BACKLIGHT is not set | ||
| 827 | # CONFIG_FB_MODE_HELPERS is not set | ||
| 828 | # CONFIG_FB_TILEBLITTING is not set | ||
| 829 | |||
| 830 | # | ||
| 831 | # Frame buffer hardware drivers | ||
| 832 | # | ||
| 833 | # CONFIG_FB_OF is not set | ||
| 834 | # CONFIG_FB_VGA16 is not set | ||
| 835 | # CONFIG_FB_S1D13XXX is not set | ||
| 836 | # CONFIG_FB_IBM_GXT4500 is not set | ||
| 837 | # CONFIG_FB_VIRTUAL is not set | ||
| 838 | # CONFIG_FB_METRONOME is not set | ||
| 839 | # CONFIG_FB_MB862XX is not set | ||
| 840 | # CONFIG_FB_BROADSHEET is not set | ||
| 841 | # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||
| 842 | |||
| 843 | # | ||
| 844 | # Display device support | ||
| 845 | # | ||
| 846 | # CONFIG_DISPLAY_SUPPORT is not set | ||
| 847 | |||
| 848 | # | ||
| 849 | # Console display driver support | ||
| 850 | # | ||
| 851 | # CONFIG_VGA_CONSOLE is not set | ||
| 852 | CONFIG_DUMMY_CONSOLE=y | ||
| 853 | CONFIG_FRAMEBUFFER_CONSOLE=y | ||
| 854 | # CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set | ||
| 855 | # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set | ||
| 856 | # CONFIG_FONTS is not set | ||
| 857 | CONFIG_FONT_8x8=y | ||
| 858 | CONFIG_FONT_8x16=y | ||
| 859 | # CONFIG_LOGO is not set | ||
| 860 | CONFIG_SOUND=y | ||
| 861 | CONFIG_SOUND_OSS_CORE=y | ||
| 862 | CONFIG_SOUND_OSS_CORE_PRECLAIM=y | ||
| 863 | CONFIG_SND=y | ||
| 864 | CONFIG_SND_TIMER=y | ||
| 865 | CONFIG_SND_PCM=y | ||
| 866 | CONFIG_SND_SEQUENCER=y | ||
| 867 | # CONFIG_SND_SEQ_DUMMY is not set | ||
| 868 | CONFIG_SND_OSSEMUL=y | ||
| 869 | CONFIG_SND_MIXER_OSS=y | ||
| 870 | CONFIG_SND_PCM_OSS=y | ||
| 871 | CONFIG_SND_PCM_OSS_PLUGINS=y | ||
| 872 | CONFIG_SND_SEQUENCER_OSS=y | ||
| 873 | # CONFIG_SND_DYNAMIC_MINORS is not set | ||
| 874 | CONFIG_SND_SUPPORT_OLD_API=y | ||
| 875 | # CONFIG_SND_VERBOSE_PROCFS is not set | ||
| 876 | # CONFIG_SND_VERBOSE_PRINTK is not set | ||
| 877 | # CONFIG_SND_DEBUG is not set | ||
| 878 | # CONFIG_SND_RAWMIDI_SEQ is not set | ||
| 879 | # CONFIG_SND_OPL3_LIB_SEQ is not set | ||
| 880 | # CONFIG_SND_OPL4_LIB_SEQ is not set | ||
| 881 | # CONFIG_SND_SBAWE_SEQ is not set | ||
| 882 | # CONFIG_SND_EMU10K1_SEQ is not set | ||
| 883 | CONFIG_SND_DRIVERS=y | ||
| 884 | # CONFIG_SND_DUMMY is not set | ||
| 885 | # CONFIG_SND_VIRMIDI is not set | ||
| 886 | # CONFIG_SND_MTPAV is not set | ||
| 887 | # CONFIG_SND_SERIAL_U16550 is not set | ||
| 888 | # CONFIG_SND_MPU401 is not set | ||
| 889 | CONFIG_SND_PPC=y | ||
| 890 | # CONFIG_SND_SOC is not set | ||
| 891 | # CONFIG_SOUND_PRIME is not set | ||
| 892 | CONFIG_HID_SUPPORT=y | ||
| 893 | CONFIG_HID=y | ||
| 894 | # CONFIG_HIDRAW is not set | ||
| 895 | # CONFIG_HID_PID is not set | ||
| 896 | |||
| 897 | # | ||
| 898 | # Special HID drivers | ||
| 899 | # | ||
| 900 | CONFIG_HID_APPLE=m | ||
| 901 | CONFIG_HID_WACOM=m | ||
| 902 | CONFIG_USB_SUPPORT=y | ||
| 903 | # CONFIG_USB_ARCH_HAS_HCD is not set | ||
| 904 | # CONFIG_USB_ARCH_HAS_OHCI is not set | ||
| 905 | # CONFIG_USB_ARCH_HAS_EHCI is not set | ||
| 906 | # CONFIG_USB_OTG_WHITELIST is not set | ||
| 907 | # CONFIG_USB_OTG_BLACKLIST_HUB is not set | ||
| 908 | |||
| 909 | # | ||
| 910 | # Enable Host or Gadget support to see Inventra options | ||
| 911 | # | ||
| 912 | |||
| 913 | # | ||
| 914 | # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may | ||
| 915 | # | ||
| 916 | # CONFIG_USB_GADGET is not set | ||
| 917 | |||
| 918 | # | ||
| 919 | # OTG and related infrastructure | ||
| 920 | # | ||
| 921 | CONFIG_MMC=y | ||
| 922 | # CONFIG_MMC_DEBUG is not set | ||
| 923 | # CONFIG_MMC_UNSAFE_RESUME is not set | ||
| 924 | |||
| 925 | # | ||
| 926 | # MMC/SD/SDIO Card Drivers | ||
| 927 | # | ||
| 928 | CONFIG_MMC_BLOCK=y | ||
| 929 | CONFIG_MMC_BLOCK_BOUNCE=y | ||
| 930 | # CONFIG_SDIO_UART is not set | ||
| 931 | # CONFIG_MMC_TEST is not set | ||
| 932 | |||
| 933 | # | ||
| 934 | # MMC/SD/SDIO Host Controller Drivers | ||
| 935 | # | ||
| 936 | CONFIG_MMC_SDHCI=y | ||
| 937 | # CONFIG_MMC_SDHCI_OF is not set | ||
| 938 | # CONFIG_MMC_SDHCI_PLTFM is not set | ||
| 939 | # CONFIG_MMC_WBSD is not set | ||
| 940 | # CONFIG_MMC_AT91 is not set | ||
| 941 | # CONFIG_MMC_ATMELMCI is not set | ||
| 942 | # CONFIG_MEMSTICK is not set | ||
| 943 | # CONFIG_NEW_LEDS is not set | ||
| 944 | # CONFIG_ACCESSIBILITY is not set | ||
| 945 | # CONFIG_EDAC is not set | ||
| 946 | CONFIG_RTC_LIB=y | ||
| 947 | CONFIG_RTC_CLASS=y | ||
| 948 | CONFIG_RTC_HCTOSYS=y | ||
| 949 | CONFIG_RTC_HCTOSYS_DEVICE="rtc0" | ||
| 950 | # CONFIG_RTC_DEBUG is not set | ||
| 951 | |||
| 952 | # | ||
| 953 | # RTC interfaces | ||
| 954 | # | ||
| 955 | CONFIG_RTC_INTF_SYSFS=y | ||
| 956 | CONFIG_RTC_INTF_PROC=y | ||
| 957 | CONFIG_RTC_INTF_DEV=y | ||
| 958 | # CONFIG_RTC_INTF_DEV_UIE_EMUL is not set | ||
| 959 | # CONFIG_RTC_DRV_TEST is not set | ||
| 960 | |||
| 961 | # | ||
| 962 | # I2C RTC drivers | ||
| 963 | # | ||
| 964 | # CONFIG_RTC_DRV_DS1307 is not set | ||
| 965 | # CONFIG_RTC_DRV_DS1374 is not set | ||
| 966 | # CONFIG_RTC_DRV_DS1672 is not set | ||
| 967 | # CONFIG_RTC_DRV_MAX6900 is not set | ||
| 968 | # CONFIG_RTC_DRV_RS5C372 is not set | ||
| 969 | # CONFIG_RTC_DRV_ISL1208 is not set | ||
| 970 | # CONFIG_RTC_DRV_X1205 is not set | ||
| 971 | # CONFIG_RTC_DRV_PCF8563 is not set | ||
| 972 | # CONFIG_RTC_DRV_PCF8583 is not set | ||
| 973 | # CONFIG_RTC_DRV_M41T80 is not set | ||
| 974 | # CONFIG_RTC_DRV_S35390A is not set | ||
| 975 | # CONFIG_RTC_DRV_FM3130 is not set | ||
| 976 | # CONFIG_RTC_DRV_RX8581 is not set | ||
| 977 | # CONFIG_RTC_DRV_RX8025 is not set | ||
| 978 | |||
| 979 | # | ||
| 980 | # SPI RTC drivers | ||
| 981 | # | ||
| 982 | |||
| 983 | # | ||
| 984 | # Platform RTC drivers | ||
| 985 | # | ||
| 986 | # CONFIG_RTC_DRV_CMOS is not set | ||
| 987 | # CONFIG_RTC_DRV_DS1286 is not set | ||
| 988 | # CONFIG_RTC_DRV_DS1511 is not set | ||
| 989 | # CONFIG_RTC_DRV_DS1553 is not set | ||
| 990 | # CONFIG_RTC_DRV_DS1742 is not set | ||
| 991 | # CONFIG_RTC_DRV_STK17TA8 is not set | ||
| 992 | # CONFIG_RTC_DRV_M48T86 is not set | ||
| 993 | # CONFIG_RTC_DRV_M48T35 is not set | ||
| 994 | # CONFIG_RTC_DRV_M48T59 is not set | ||
| 995 | # CONFIG_RTC_DRV_BQ4802 is not set | ||
| 996 | # CONFIG_RTC_DRV_V3020 is not set | ||
| 997 | |||
| 998 | # | ||
| 999 | # on-CPU RTC drivers | ||
| 1000 | # | ||
| 1001 | CONFIG_RTC_DRV_GENERIC=y | ||
| 1002 | # CONFIG_DMADEVICES is not set | ||
| 1003 | # CONFIG_AUXDISPLAY is not set | ||
| 1004 | # CONFIG_UIO is not set | ||
| 1005 | |||
| 1006 | # | ||
| 1007 | # TI VLYNQ | ||
| 1008 | # | ||
| 1009 | # CONFIG_STAGING is not set | ||
| 1010 | |||
| 1011 | # | ||
| 1012 | # File systems | ||
| 1013 | # | ||
| 1014 | CONFIG_EXT2_FS=y | ||
| 1015 | # CONFIG_EXT2_FS_XATTR is not set | ||
| 1016 | # CONFIG_EXT2_FS_XIP is not set | ||
| 1017 | CONFIG_EXT3_FS=y | ||
| 1018 | # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set | ||
| 1019 | # CONFIG_EXT3_FS_XATTR is not set | ||
| 1020 | # CONFIG_EXT4_FS is not set | ||
| 1021 | CONFIG_JBD=y | ||
| 1022 | # CONFIG_JBD_DEBUG is not set | ||
| 1023 | # CONFIG_REISERFS_FS is not set | ||
| 1024 | # CONFIG_JFS_FS is not set | ||
| 1025 | # CONFIG_FS_POSIX_ACL is not set | ||
| 1026 | # CONFIG_XFS_FS is not set | ||
| 1027 | # CONFIG_GFS2_FS is not set | ||
| 1028 | # CONFIG_OCFS2_FS is not set | ||
| 1029 | # CONFIG_BTRFS_FS is not set | ||
| 1030 | # CONFIG_NILFS2_FS is not set | ||
| 1031 | CONFIG_FILE_LOCKING=y | ||
| 1032 | CONFIG_FSNOTIFY=y | ||
| 1033 | CONFIG_DNOTIFY=y | ||
| 1034 | CONFIG_INOTIFY=y | ||
| 1035 | CONFIG_INOTIFY_USER=y | ||
| 1036 | # CONFIG_QUOTA is not set | ||
| 1037 | # CONFIG_AUTOFS_FS is not set | ||
| 1038 | # CONFIG_AUTOFS4_FS is not set | ||
| 1039 | CONFIG_FUSE_FS=m | ||
| 1040 | # CONFIG_CUSE is not set | ||
| 1041 | |||
| 1042 | # | ||
| 1043 | # Caches | ||
| 1044 | # | ||
| 1045 | # CONFIG_FSCACHE is not set | ||
| 1046 | |||
| 1047 | # | ||
| 1048 | # CD-ROM/DVD Filesystems | ||
| 1049 | # | ||
| 1050 | CONFIG_ISO9660_FS=y | ||
| 1051 | CONFIG_JOLIET=y | ||
| 1052 | # CONFIG_ZISOFS is not set | ||
| 1053 | # CONFIG_UDF_FS is not set | ||
| 1054 | |||
| 1055 | # | ||
| 1056 | # DOS/FAT/NT Filesystems | ||
| 1057 | # | ||
| 1058 | CONFIG_FAT_FS=y | ||
| 1059 | CONFIG_MSDOS_FS=y | ||
| 1060 | CONFIG_VFAT_FS=y | ||
| 1061 | CONFIG_FAT_DEFAULT_CODEPAGE=437 | ||
| 1062 | CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | ||
| 1063 | # CONFIG_NTFS_FS is not set | ||
| 1064 | |||
| 1065 | # | ||
| 1066 | # Pseudo filesystems | ||
| 1067 | # | ||
| 1068 | CONFIG_PROC_FS=y | ||
| 1069 | CONFIG_PROC_KCORE=y | ||
| 1070 | CONFIG_PROC_SYSCTL=y | ||
| 1071 | # CONFIG_PROC_PAGE_MONITOR is not set | ||
| 1072 | CONFIG_SYSFS=y | ||
| 1073 | CONFIG_TMPFS=y | ||
| 1074 | # CONFIG_TMPFS_POSIX_ACL is not set | ||
| 1075 | # CONFIG_HUGETLB_PAGE is not set | ||
| 1076 | # CONFIG_CONFIGFS_FS is not set | ||
| 1077 | CONFIG_MISC_FILESYSTEMS=y | ||
| 1078 | # CONFIG_ADFS_FS is not set | ||
| 1079 | # CONFIG_AFFS_FS is not set | ||
| 1080 | # CONFIG_HFS_FS is not set | ||
| 1081 | # CONFIG_HFSPLUS_FS is not set | ||
| 1082 | # CONFIG_BEFS_FS is not set | ||
| 1083 | # CONFIG_BFS_FS is not set | ||
| 1084 | # CONFIG_EFS_FS is not set | ||
| 1085 | # CONFIG_CRAMFS is not set | ||
| 1086 | # CONFIG_SQUASHFS is not set | ||
| 1087 | # CONFIG_VXFS_FS is not set | ||
| 1088 | # CONFIG_MINIX_FS is not set | ||
| 1089 | # CONFIG_OMFS_FS is not set | ||
| 1090 | # CONFIG_HPFS_FS is not set | ||
| 1091 | # CONFIG_QNX4FS_FS is not set | ||
| 1092 | # CONFIG_ROMFS_FS is not set | ||
| 1093 | # CONFIG_SYSV_FS is not set | ||
| 1094 | # CONFIG_UFS_FS is not set | ||
| 1095 | CONFIG_NETWORK_FILESYSTEMS=y | ||
| 1096 | CONFIG_NFS_FS=y | ||
| 1097 | CONFIG_NFS_V3=y | ||
| 1098 | # CONFIG_NFS_V3_ACL is not set | ||
| 1099 | # CONFIG_NFS_V4 is not set | ||
| 1100 | CONFIG_ROOT_NFS=y | ||
| 1101 | # CONFIG_NFSD is not set | ||
| 1102 | CONFIG_LOCKD=y | ||
| 1103 | CONFIG_LOCKD_V4=y | ||
| 1104 | CONFIG_NFS_COMMON=y | ||
| 1105 | CONFIG_SUNRPC=y | ||
| 1106 | # CONFIG_RPCSEC_GSS_KRB5 is not set | ||
| 1107 | # CONFIG_RPCSEC_GSS_SPKM3 is not set | ||
| 1108 | # CONFIG_SMB_FS is not set | ||
| 1109 | CONFIG_CIFS=m | ||
| 1110 | # CONFIG_CIFS_STATS is not set | ||
| 1111 | # CONFIG_CIFS_WEAK_PW_HASH is not set | ||
| 1112 | # CONFIG_CIFS_XATTR is not set | ||
| 1113 | # CONFIG_CIFS_DEBUG2 is not set | ||
| 1114 | # CONFIG_CIFS_EXPERIMENTAL is not set | ||
| 1115 | # CONFIG_NCP_FS is not set | ||
| 1116 | # CONFIG_CODA_FS is not set | ||
| 1117 | # CONFIG_AFS_FS is not set | ||
| 1118 | |||
| 1119 | # | ||
| 1120 | # Partition Types | ||
| 1121 | # | ||
| 1122 | # CONFIG_PARTITION_ADVANCED is not set | ||
| 1123 | CONFIG_MSDOS_PARTITION=y | ||
| 1124 | CONFIG_NLS=y | ||
| 1125 | CONFIG_NLS_DEFAULT="iso8859-1" | ||
| 1126 | CONFIG_NLS_CODEPAGE_437=y | ||
| 1127 | # CONFIG_NLS_CODEPAGE_737 is not set | ||
| 1128 | # CONFIG_NLS_CODEPAGE_775 is not set | ||
| 1129 | # CONFIG_NLS_CODEPAGE_850 is not set | ||
| 1130 | # CONFIG_NLS_CODEPAGE_852 is not set | ||
| 1131 | # CONFIG_NLS_CODEPAGE_855 is not set | ||
| 1132 | # CONFIG_NLS_CODEPAGE_857 is not set | ||
| 1133 | # CONFIG_NLS_CODEPAGE_860 is not set | ||
| 1134 | # CONFIG_NLS_CODEPAGE_861 is not set | ||
| 1135 | # CONFIG_NLS_CODEPAGE_862 is not set | ||
| 1136 | # CONFIG_NLS_CODEPAGE_863 is not set | ||
| 1137 | # CONFIG_NLS_CODEPAGE_864 is not set | ||
| 1138 | # CONFIG_NLS_CODEPAGE_865 is not set | ||
| 1139 | # CONFIG_NLS_CODEPAGE_866 is not set | ||
| 1140 | # CONFIG_NLS_CODEPAGE_869 is not set | ||
| 1141 | # CONFIG_NLS_CODEPAGE_936 is not set | ||
| 1142 | # CONFIG_NLS_CODEPAGE_950 is not set | ||
| 1143 | # CONFIG_NLS_CODEPAGE_932 is not set | ||
| 1144 | # CONFIG_NLS_CODEPAGE_949 is not set | ||
| 1145 | # CONFIG_NLS_CODEPAGE_874 is not set | ||
| 1146 | # CONFIG_NLS_ISO8859_8 is not set | ||
| 1147 | # CONFIG_NLS_CODEPAGE_1250 is not set | ||
| 1148 | # CONFIG_NLS_CODEPAGE_1251 is not set | ||
| 1149 | # CONFIG_NLS_ASCII is not set | ||
| 1150 | CONFIG_NLS_ISO8859_1=y | ||
| 1151 | # CONFIG_NLS_ISO8859_2 is not set | ||
| 1152 | # CONFIG_NLS_ISO8859_3 is not set | ||
| 1153 | # CONFIG_NLS_ISO8859_4 is not set | ||
| 1154 | # CONFIG_NLS_ISO8859_5 is not set | ||
| 1155 | # CONFIG_NLS_ISO8859_6 is not set | ||
| 1156 | # CONFIG_NLS_ISO8859_7 is not set | ||
| 1157 | # CONFIG_NLS_ISO8859_9 is not set | ||
| 1158 | # CONFIG_NLS_ISO8859_13 is not set | ||
| 1159 | # CONFIG_NLS_ISO8859_14 is not set | ||
| 1160 | # CONFIG_NLS_ISO8859_15 is not set | ||
| 1161 | # CONFIG_NLS_KOI8_R is not set | ||
| 1162 | # CONFIG_NLS_KOI8_U is not set | ||
| 1163 | # CONFIG_NLS_UTF8 is not set | ||
| 1164 | # CONFIG_DLM is not set | ||
| 1165 | CONFIG_BINARY_PRINTF=y | ||
| 1166 | |||
| 1167 | # | ||
| 1168 | # Library routines | ||
| 1169 | # | ||
| 1170 | CONFIG_BITREVERSE=y | ||
| 1171 | CONFIG_GENERIC_FIND_LAST_BIT=y | ||
| 1172 | CONFIG_CRC_CCITT=y | ||
| 1173 | CONFIG_CRC16=y | ||
| 1174 | # CONFIG_CRC_T10DIF is not set | ||
| 1175 | # CONFIG_CRC_ITU_T is not set | ||
| 1176 | CONFIG_CRC32=y | ||
| 1177 | # CONFIG_CRC7 is not set | ||
| 1178 | # CONFIG_LIBCRC32C is not set | ||
| 1179 | CONFIG_ZLIB_INFLATE=y | ||
| 1180 | CONFIG_DECOMPRESS_GZIP=y | ||
| 1181 | CONFIG_HAS_IOMEM=y | ||
| 1182 | CONFIG_HAS_IOPORT=y | ||
| 1183 | CONFIG_HAS_DMA=y | ||
| 1184 | CONFIG_HAVE_LMB=y | ||
| 1185 | CONFIG_NLATTR=y | ||
| 1186 | CONFIG_GENERIC_ATOMIC64=y | ||
| 1187 | |||
| 1188 | # | ||
| 1189 | # Kernel hacking | ||
| 1190 | # | ||
| 1191 | CONFIG_PRINTK_TIME=y | ||
| 1192 | CONFIG_ENABLE_WARN_DEPRECATED=y | ||
| 1193 | CONFIG_ENABLE_MUST_CHECK=y | ||
| 1194 | CONFIG_FRAME_WARN=1024 | ||
| 1195 | CONFIG_MAGIC_SYSRQ=y | ||
| 1196 | # CONFIG_STRIP_ASM_SYMS is not set | ||
| 1197 | # CONFIG_UNUSED_SYMBOLS is not set | ||
| 1198 | CONFIG_DEBUG_FS=y | ||
| 1199 | # CONFIG_HEADERS_CHECK is not set | ||
| 1200 | CONFIG_DEBUG_KERNEL=y | ||
| 1201 | # CONFIG_DEBUG_SHIRQ is not set | ||
| 1202 | CONFIG_DETECT_SOFTLOCKUP=y | ||
| 1203 | # CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC is not set | ||
| 1204 | CONFIG_BOOTPARAM_SOFTLOCKUP_PANIC_VALUE=0 | ||
| 1205 | # CONFIG_DETECT_HUNG_TASK is not set | ||
| 1206 | CONFIG_SCHED_DEBUG=y | ||
| 1207 | CONFIG_SCHEDSTATS=y | ||
| 1208 | # CONFIG_TIMER_STATS is not set | ||
| 1209 | # CONFIG_DEBUG_OBJECTS is not set | ||
| 1210 | # CONFIG_DEBUG_SLAB is not set | ||
| 1211 | # CONFIG_DEBUG_KMEMLEAK is not set | ||
| 1212 | CONFIG_DEBUG_PREEMPT=y | ||
| 1213 | # CONFIG_DEBUG_RT_MUTEXES is not set | ||
| 1214 | # CONFIG_RT_MUTEX_TESTER is not set | ||
| 1215 | CONFIG_DEBUG_SPINLOCK=y | ||
| 1216 | CONFIG_DEBUG_MUTEXES=y | ||
| 1217 | # CONFIG_DEBUG_LOCK_ALLOC is not set | ||
| 1218 | # CONFIG_PROVE_LOCKING is not set | ||
| 1219 | # CONFIG_LOCK_STAT is not set | ||
| 1220 | CONFIG_DEBUG_SPINLOCK_SLEEP=y | ||
| 1221 | # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set | ||
| 1222 | CONFIG_STACKTRACE=y | ||
| 1223 | # CONFIG_DEBUG_KOBJECT is not set | ||
| 1224 | CONFIG_DEBUG_BUGVERBOSE=y | ||
| 1225 | # CONFIG_DEBUG_INFO is not set | ||
| 1226 | # CONFIG_DEBUG_VM is not set | ||
| 1227 | # CONFIG_DEBUG_WRITECOUNT is not set | ||
| 1228 | # CONFIG_DEBUG_MEMORY_INIT is not set | ||
| 1229 | # CONFIG_DEBUG_LIST is not set | ||
| 1230 | # CONFIG_DEBUG_SG is not set | ||
| 1231 | # CONFIG_DEBUG_NOTIFIERS is not set | ||
| 1232 | # CONFIG_DEBUG_CREDENTIALS is not set | ||
| 1233 | # CONFIG_RCU_TORTURE_TEST is not set | ||
| 1234 | # CONFIG_RCU_CPU_STALL_DETECTOR is not set | ||
| 1235 | # CONFIG_BACKTRACE_SELF_TEST is not set | ||
| 1236 | # CONFIG_DEBUG_BLOCK_EXT_DEVT is not set | ||
| 1237 | # CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set | ||
| 1238 | # CONFIG_FAULT_INJECTION is not set | ||
| 1239 | CONFIG_LATENCYTOP=y | ||
| 1240 | CONFIG_SYSCTL_SYSCALL_CHECK=y | ||
| 1241 | # CONFIG_DEBUG_PAGEALLOC is not set | ||
| 1242 | CONFIG_NOP_TRACER=y | ||
| 1243 | CONFIG_HAVE_FUNCTION_TRACER=y | ||
| 1244 | CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y | ||
| 1245 | CONFIG_HAVE_DYNAMIC_FTRACE=y | ||
| 1246 | CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y | ||
| 1247 | CONFIG_TRACER_MAX_TRACE=y | ||
| 1248 | CONFIG_RING_BUFFER=y | ||
| 1249 | CONFIG_EVENT_TRACING=y | ||
| 1250 | CONFIG_CONTEXT_SWITCH_TRACER=y | ||
| 1251 | CONFIG_TRACING=y | ||
| 1252 | CONFIG_GENERIC_TRACER=y | ||
| 1253 | CONFIG_TRACING_SUPPORT=y | ||
| 1254 | CONFIG_FTRACE=y | ||
| 1255 | # CONFIG_FUNCTION_TRACER is not set | ||
| 1256 | # CONFIG_IRQSOFF_TRACER is not set | ||
| 1257 | # CONFIG_PREEMPT_TRACER is not set | ||
| 1258 | CONFIG_SCHED_TRACER=y | ||
| 1259 | CONFIG_BOOT_TRACER=y | ||
| 1260 | CONFIG_BRANCH_PROFILE_NONE=y | ||
| 1261 | # CONFIG_PROFILE_ANNOTATED_BRANCHES is not set | ||
| 1262 | # CONFIG_PROFILE_ALL_BRANCHES is not set | ||
| 1263 | # CONFIG_STACK_TRACER is not set | ||
| 1264 | # CONFIG_KMEMTRACE is not set | ||
| 1265 | # CONFIG_WORKQUEUE_TRACER is not set | ||
| 1266 | CONFIG_BLK_DEV_IO_TRACE=y | ||
| 1267 | # CONFIG_FTRACE_STARTUP_TEST is not set | ||
| 1268 | # CONFIG_RING_BUFFER_BENCHMARK is not set | ||
| 1269 | # CONFIG_DYNAMIC_DEBUG is not set | ||
| 1270 | CONFIG_DMA_API_DEBUG=y | ||
| 1271 | # CONFIG_SAMPLES is not set | ||
| 1272 | CONFIG_HAVE_ARCH_KGDB=y | ||
| 1273 | # CONFIG_KGDB is not set | ||
| 1274 | # CONFIG_PPC_DISABLE_WERROR is not set | ||
| 1275 | CONFIG_PPC_WERROR=y | ||
| 1276 | CONFIG_PRINT_STACK_DEPTH=64 | ||
| 1277 | # CONFIG_DEBUG_STACKOVERFLOW is not set | ||
| 1278 | # CONFIG_DEBUG_STACK_USAGE is not set | ||
| 1279 | # CONFIG_PPC_EMULATED_STATS is not set | ||
| 1280 | # CONFIG_CODE_PATCHING_SELFTEST is not set | ||
| 1281 | # CONFIG_FTR_FIXUP_SELFTEST is not set | ||
| 1282 | # CONFIG_MSI_BITMAP_SELFTEST is not set | ||
| 1283 | # CONFIG_XMON is not set | ||
| 1284 | # CONFIG_IRQSTACKS is not set | ||
| 1285 | # CONFIG_VIRQ_DEBUG is not set | ||
| 1286 | # CONFIG_BDI_SWITCH is not set | ||
| 1287 | # CONFIG_BOOTX_TEXT is not set | ||
| 1288 | CONFIG_PPC_EARLY_DEBUG=y | ||
| 1289 | # CONFIG_PPC_EARLY_DEBUG_LPAR is not set | ||
| 1290 | # CONFIG_PPC_EARLY_DEBUG_G5 is not set | ||
| 1291 | # CONFIG_PPC_EARLY_DEBUG_RTAS_PANEL is not set | ||
| 1292 | # CONFIG_PPC_EARLY_DEBUG_RTAS_CONSOLE is not set | ||
| 1293 | # CONFIG_PPC_EARLY_DEBUG_MAPLE is not set | ||
| 1294 | # CONFIG_PPC_EARLY_DEBUG_ISERIES is not set | ||
| 1295 | # CONFIG_PPC_EARLY_DEBUG_PAS_REALMODE is not set | ||
| 1296 | # CONFIG_PPC_EARLY_DEBUG_BEAT is not set | ||
| 1297 | # CONFIG_PPC_EARLY_DEBUG_44x is not set | ||
| 1298 | # CONFIG_PPC_EARLY_DEBUG_40x is not set | ||
| 1299 | # CONFIG_PPC_EARLY_DEBUG_CPM is not set | ||
| 1300 | CONFIG_PPC_EARLY_DEBUG_USBGECKO=y | ||
| 1301 | |||
| 1302 | # | ||
| 1303 | # Security options | ||
| 1304 | # | ||
| 1305 | # CONFIG_KEYS is not set | ||
| 1306 | # CONFIG_SECURITY is not set | ||
| 1307 | # CONFIG_SECURITYFS is not set | ||
| 1308 | # CONFIG_SECURITY_FILE_CAPABILITIES is not set | ||
| 1309 | CONFIG_CRYPTO=y | ||
| 1310 | |||
| 1311 | # | ||
| 1312 | # Crypto core or helper | ||
| 1313 | # | ||
| 1314 | CONFIG_CRYPTO_ALGAPI=y | ||
| 1315 | CONFIG_CRYPTO_ALGAPI2=y | ||
| 1316 | CONFIG_CRYPTO_AEAD2=y | ||
| 1317 | CONFIG_CRYPTO_BLKCIPHER=y | ||
| 1318 | CONFIG_CRYPTO_BLKCIPHER2=y | ||
| 1319 | CONFIG_CRYPTO_HASH2=y | ||
| 1320 | CONFIG_CRYPTO_RNG2=y | ||
| 1321 | CONFIG_CRYPTO_PCOMP=y | ||
| 1322 | CONFIG_CRYPTO_MANAGER=y | ||
| 1323 | CONFIG_CRYPTO_MANAGER2=y | ||
| 1324 | # CONFIG_CRYPTO_GF128MUL is not set | ||
| 1325 | # CONFIG_CRYPTO_NULL is not set | ||
| 1326 | CONFIG_CRYPTO_WORKQUEUE=y | ||
| 1327 | # CONFIG_CRYPTO_CRYPTD is not set | ||
| 1328 | # CONFIG_CRYPTO_AUTHENC is not set | ||
| 1329 | # CONFIG_CRYPTO_TEST is not set | ||
| 1330 | |||
| 1331 | # | ||
| 1332 | # Authenticated Encryption with Associated Data | ||
| 1333 | # | ||
| 1334 | # CONFIG_CRYPTO_CCM is not set | ||
| 1335 | # CONFIG_CRYPTO_GCM is not set | ||
| 1336 | # CONFIG_CRYPTO_SEQIV is not set | ||
| 1337 | |||
| 1338 | # | ||
| 1339 | # Block modes | ||
| 1340 | # | ||
| 1341 | # CONFIG_CRYPTO_CBC is not set | ||
| 1342 | # CONFIG_CRYPTO_CTR is not set | ||
| 1343 | # CONFIG_CRYPTO_CTS is not set | ||
| 1344 | CONFIG_CRYPTO_ECB=y | ||
| 1345 | # CONFIG_CRYPTO_LRW is not set | ||
| 1346 | # CONFIG_CRYPTO_PCBC is not set | ||
| 1347 | # CONFIG_CRYPTO_XTS is not set | ||
| 1348 | |||
| 1349 | # | ||
| 1350 | # Hash modes | ||
| 1351 | # | ||
| 1352 | # CONFIG_CRYPTO_HMAC is not set | ||
| 1353 | # CONFIG_CRYPTO_XCBC is not set | ||
| 1354 | # CONFIG_CRYPTO_VMAC is not set | ||
| 1355 | |||
| 1356 | # | ||
| 1357 | # Digest | ||
| 1358 | # | ||
| 1359 | # CONFIG_CRYPTO_CRC32C is not set | ||
| 1360 | # CONFIG_CRYPTO_GHASH is not set | ||
| 1361 | # CONFIG_CRYPTO_MD4 is not set | ||
| 1362 | # CONFIG_CRYPTO_MD5 is not set | ||
| 1363 | # CONFIG_CRYPTO_MICHAEL_MIC is not set | ||
| 1364 | # CONFIG_CRYPTO_RMD128 is not set | ||
| 1365 | # CONFIG_CRYPTO_RMD160 is not set | ||
| 1366 | # CONFIG_CRYPTO_RMD256 is not set | ||
| 1367 | # CONFIG_CRYPTO_RMD320 is not set | ||
| 1368 | # CONFIG_CRYPTO_SHA1 is not set | ||
| 1369 | # CONFIG_CRYPTO_SHA256 is not set | ||
| 1370 | # CONFIG_CRYPTO_SHA512 is not set | ||
| 1371 | # CONFIG_CRYPTO_TGR192 is not set | ||
| 1372 | # CONFIG_CRYPTO_WP512 is not set | ||
| 1373 | |||
| 1374 | # | ||
| 1375 | # Ciphers | ||
| 1376 | # | ||
| 1377 | CONFIG_CRYPTO_AES=y | ||
| 1378 | # CONFIG_CRYPTO_ANUBIS is not set | ||
| 1379 | CONFIG_CRYPTO_ARC4=y | ||
| 1380 | # CONFIG_CRYPTO_BLOWFISH is not set | ||
| 1381 | # CONFIG_CRYPTO_CAMELLIA is not set | ||
| 1382 | # CONFIG_CRYPTO_CAST5 is not set | ||
| 1383 | # CONFIG_CRYPTO_CAST6 is not set | ||
| 1384 | # CONFIG_CRYPTO_DES is not set | ||
| 1385 | # CONFIG_CRYPTO_FCRYPT is not set | ||
| 1386 | # CONFIG_CRYPTO_KHAZAD is not set | ||
| 1387 | # CONFIG_CRYPTO_SALSA20 is not set | ||
| 1388 | # CONFIG_CRYPTO_SEED is not set | ||
| 1389 | # CONFIG_CRYPTO_SERPENT is not set | ||
| 1390 | # CONFIG_CRYPTO_TEA is not set | ||
| 1391 | # CONFIG_CRYPTO_TWOFISH is not set | ||
| 1392 | |||
| 1393 | # | ||
| 1394 | # Compression | ||
| 1395 | # | ||
| 1396 | # CONFIG_CRYPTO_DEFLATE is not set | ||
| 1397 | # CONFIG_CRYPTO_ZLIB is not set | ||
| 1398 | # CONFIG_CRYPTO_LZO is not set | ||
| 1399 | |||
| 1400 | # | ||
| 1401 | # Random Number Generation | ||
| 1402 | # | ||
| 1403 | # CONFIG_CRYPTO_ANSI_CPRNG is not set | ||
| 1404 | # CONFIG_CRYPTO_HW is not set | ||
| 1405 | # CONFIG_PPC_CLOCK is not set | ||
| 1406 | # CONFIG_VIRTUALIZATION is not set | ||
diff --git a/arch/powerpc/include/asm/fixmap.h b/arch/powerpc/include/asm/fixmap.h index f1f4e23a84e9..5c2c0233175e 100644 --- a/arch/powerpc/include/asm/fixmap.h +++ b/arch/powerpc/include/asm/fixmap.h | |||
| @@ -44,6 +44,9 @@ | |||
| 44 | */ | 44 | */ |
| 45 | enum fixed_addresses { | 45 | enum fixed_addresses { |
| 46 | FIX_HOLE, | 46 | FIX_HOLE, |
| 47 | /* reserve the top 128K for early debugging purposes */ | ||
| 48 | FIX_EARLY_DEBUG_TOP = FIX_HOLE, | ||
| 49 | FIX_EARLY_DEBUG_BASE = FIX_EARLY_DEBUG_TOP+((128*1024)/PAGE_SIZE)-1, | ||
| 47 | #ifdef CONFIG_HIGHMEM | 50 | #ifdef CONFIG_HIGHMEM |
| 48 | FIX_KMAP_BEGIN, /* reserved pte's for temporary kernel mappings */ | 51 | FIX_KMAP_BEGIN, /* reserved pte's for temporary kernel mappings */ |
| 49 | FIX_KMAP_END = FIX_KMAP_BEGIN+(KM_TYPE_NR*NR_CPUS)-1, | 52 | FIX_KMAP_END = FIX_KMAP_BEGIN+(KM_TYPE_NR*NR_CPUS)-1, |
diff --git a/arch/powerpc/include/asm/udbg.h b/arch/powerpc/include/asm/udbg.h index cd21e5e6b04f..11ae699135ba 100644 --- a/arch/powerpc/include/asm/udbg.h +++ b/arch/powerpc/include/asm/udbg.h | |||
| @@ -51,6 +51,7 @@ extern void __init udbg_init_btext(void); | |||
| 51 | extern void __init udbg_init_44x_as1(void); | 51 | extern void __init udbg_init_44x_as1(void); |
| 52 | extern void __init udbg_init_40x_realmode(void); | 52 | extern void __init udbg_init_40x_realmode(void); |
| 53 | extern void __init udbg_init_cpm(void); | 53 | extern void __init udbg_init_cpm(void); |
| 54 | extern void __init udbg_init_usbgecko(void); | ||
| 54 | 55 | ||
| 55 | #endif /* __KERNEL__ */ | 56 | #endif /* __KERNEL__ */ |
| 56 | #endif /* _ASM_POWERPC_UDBG_H */ | 57 | #endif /* _ASM_POWERPC_UDBG_H */ |
diff --git a/arch/powerpc/kernel/cputable.c b/arch/powerpc/kernel/cputable.c index 03c862b6a9c4..2fc82bac3bbc 100644 --- a/arch/powerpc/kernel/cputable.c +++ b/arch/powerpc/kernel/cputable.c | |||
| @@ -697,9 +697,9 @@ static struct cpu_spec __initdata cpu_specs[] = { | |||
| 697 | .machine_check = machine_check_generic, | 697 | .machine_check = machine_check_generic, |
| 698 | .platform = "ppc750", | 698 | .platform = "ppc750", |
| 699 | }, | 699 | }, |
| 700 | { /* 750CL */ | 700 | { /* 750CL (and "Broadway") */ |
| 701 | .pvr_mask = 0xfffff0f0, | 701 | .pvr_mask = 0xfffff0e0, |
| 702 | .pvr_value = 0x00087010, | 702 | .pvr_value = 0x00087000, |
| 703 | .cpu_name = "750CL", | 703 | .cpu_name = "750CL", |
| 704 | .cpu_features = CPU_FTRS_750CL, | 704 | .cpu_features = CPU_FTRS_750CL, |
| 705 | .cpu_user_features = COMMON_USER | PPC_FEATURE_PPC_LE, | 705 | .cpu_user_features = COMMON_USER | PPC_FEATURE_PPC_LE, |
diff --git a/arch/powerpc/kernel/head_32.S b/arch/powerpc/kernel/head_32.S index 829c3fe7c5a2..e025e89fe93e 100644 --- a/arch/powerpc/kernel/head_32.S +++ b/arch/powerpc/kernel/head_32.S | |||
| @@ -164,6 +164,9 @@ __after_mmu_off: | |||
| 164 | #ifdef CONFIG_PPC_EARLY_DEBUG_CPM | 164 | #ifdef CONFIG_PPC_EARLY_DEBUG_CPM |
| 165 | bl setup_cpm_bat | 165 | bl setup_cpm_bat |
| 166 | #endif | 166 | #endif |
| 167 | #ifdef CONFIG_PPC_EARLY_DEBUG_USBGECKO | ||
| 168 | bl setup_usbgecko_bat | ||
| 169 | #endif | ||
| 167 | 170 | ||
| 168 | /* | 171 | /* |
| 169 | * Call setup_cpu for CPU 0 and initialize 6xx Idle | 172 | * Call setup_cpu for CPU 0 and initialize 6xx Idle |
| @@ -1203,6 +1206,28 @@ setup_cpm_bat: | |||
| 1203 | blr | 1206 | blr |
| 1204 | #endif | 1207 | #endif |
| 1205 | 1208 | ||
| 1209 | #ifdef CONFIG_PPC_EARLY_DEBUG_USBGECKO | ||
| 1210 | setup_usbgecko_bat: | ||
| 1211 | /* prepare a BAT for early io */ | ||
| 1212 | #if defined(CONFIG_GAMECUBE) | ||
| 1213 | lis r8, 0x0c00 | ||
| 1214 | #elif defined(CONFIG_WII) | ||
| 1215 | lis r8, 0x0d00 | ||
| 1216 | #else | ||
| 1217 | #error Invalid platform for USB Gecko based early debugging. | ||
| 1218 | #endif | ||
| 1219 | /* | ||
| 1220 | * The virtual address used must match the virtual address | ||
| 1221 | * associated to the fixmap entry FIX_EARLY_DEBUG_BASE. | ||
| 1222 | */ | ||
| 1223 | lis r11, 0xfffe /* top 128K */ | ||
| 1224 | ori r8, r8, 0x002a /* uncached, guarded ,rw */ | ||
| 1225 | ori r11, r11, 0x2 /* 128K, Vs=1, Vp=0 */ | ||
| 1226 | mtspr SPRN_DBAT1L, r8 | ||
| 1227 | mtspr SPRN_DBAT1U, r11 | ||
| 1228 | blr | ||
| 1229 | #endif | ||
| 1230 | |||
| 1206 | #ifdef CONFIG_8260 | 1231 | #ifdef CONFIG_8260 |
| 1207 | /* Jump into the system reset for the rom. | 1232 | /* Jump into the system reset for the rom. |
| 1208 | * We first disable the MMU, and then jump to the ROM reset address. | 1233 | * We first disable the MMU, and then jump to the ROM reset address. |
diff --git a/arch/powerpc/kernel/udbg.c b/arch/powerpc/kernel/udbg.c index fc9af47e2128..e39cad83c884 100644 --- a/arch/powerpc/kernel/udbg.c +++ b/arch/powerpc/kernel/udbg.c | |||
| @@ -60,6 +60,8 @@ void __init udbg_early_init(void) | |||
| 60 | udbg_init_40x_realmode(); | 60 | udbg_init_40x_realmode(); |
| 61 | #elif defined(CONFIG_PPC_EARLY_DEBUG_CPM) | 61 | #elif defined(CONFIG_PPC_EARLY_DEBUG_CPM) |
| 62 | udbg_init_cpm(); | 62 | udbg_init_cpm(); |
| 63 | #elif defined(CONFIG_PPC_EARLY_DEBUG_USBGECKO) | ||
| 64 | udbg_init_usbgecko(); | ||
| 63 | #endif | 65 | #endif |
| 64 | 66 | ||
| 65 | #ifdef CONFIG_PPC_EARLY_DEBUG | 67 | #ifdef CONFIG_PPC_EARLY_DEBUG |
diff --git a/arch/powerpc/mm/40x_mmu.c b/arch/powerpc/mm/40x_mmu.c index f5e7b9ce63dd..08dfa8e6d86f 100644 --- a/arch/powerpc/mm/40x_mmu.c +++ b/arch/powerpc/mm/40x_mmu.c | |||
| @@ -91,7 +91,7 @@ void __init MMU_init_hw(void) | |||
| 91 | #define LARGE_PAGE_SIZE_16M (1<<24) | 91 | #define LARGE_PAGE_SIZE_16M (1<<24) |
| 92 | #define LARGE_PAGE_SIZE_4M (1<<22) | 92 | #define LARGE_PAGE_SIZE_4M (1<<22) |
| 93 | 93 | ||
| 94 | unsigned long __init mmu_mapin_ram(void) | 94 | unsigned long __init mmu_mapin_ram(unsigned long top) |
| 95 | { | 95 | { |
| 96 | unsigned long v, s, mapped; | 96 | unsigned long v, s, mapped; |
| 97 | phys_addr_t p; | 97 | phys_addr_t p; |
diff --git a/arch/powerpc/mm/44x_mmu.c b/arch/powerpc/mm/44x_mmu.c index 98052ac96580..3986264b0993 100644 --- a/arch/powerpc/mm/44x_mmu.c +++ b/arch/powerpc/mm/44x_mmu.c | |||
| @@ -88,7 +88,7 @@ void __init MMU_init_hw(void) | |||
| 88 | flush_instruction_cache(); | 88 | flush_instruction_cache(); |
| 89 | } | 89 | } |
| 90 | 90 | ||
| 91 | unsigned long __init mmu_mapin_ram(void) | 91 | unsigned long __init mmu_mapin_ram(unsigned long top) |
| 92 | { | 92 | { |
| 93 | unsigned long addr; | 93 | unsigned long addr; |
| 94 | 94 | ||
diff --git a/arch/powerpc/mm/fsl_booke_mmu.c b/arch/powerpc/mm/fsl_booke_mmu.c index fcfcb6e976c7..c5394728bf2e 100644 --- a/arch/powerpc/mm/fsl_booke_mmu.c +++ b/arch/powerpc/mm/fsl_booke_mmu.c | |||
| @@ -207,7 +207,7 @@ unsigned long map_mem_in_cams(unsigned long ram, int max_cam_idx) | |||
| 207 | return amount_mapped; | 207 | return amount_mapped; |
| 208 | } | 208 | } |
| 209 | 209 | ||
| 210 | unsigned long __init mmu_mapin_ram(void) | 210 | unsigned long __init mmu_mapin_ram(unsigned long top) |
| 211 | { | 211 | { |
| 212 | return tlbcam_addrs[tlbcam_index - 1].limit - PAGE_OFFSET + 1; | 212 | return tlbcam_addrs[tlbcam_index - 1].limit - PAGE_OFFSET + 1; |
| 213 | } | 213 | } |
diff --git a/arch/powerpc/mm/init_32.c b/arch/powerpc/mm/init_32.c index 9ddcfb4dc139..4ec900af332f 100644 --- a/arch/powerpc/mm/init_32.c +++ b/arch/powerpc/mm/init_32.c | |||
| @@ -82,6 +82,11 @@ extern struct task_struct *current_set[NR_CPUS]; | |||
| 82 | int __map_without_bats; | 82 | int __map_without_bats; |
| 83 | int __map_without_ltlbs; | 83 | int __map_without_ltlbs; |
| 84 | 84 | ||
| 85 | /* | ||
| 86 | * This tells the system to allow ioremapping memory marked as reserved. | ||
| 87 | */ | ||
| 88 | int __allow_ioremap_reserved; | ||
| 89 | |||
| 85 | /* max amount of low RAM to map in */ | 90 | /* max amount of low RAM to map in */ |
| 86 | unsigned long __max_low_memory = MAX_LOW_MEM; | 91 | unsigned long __max_low_memory = MAX_LOW_MEM; |
| 87 | 92 | ||
| @@ -131,9 +136,13 @@ void __init MMU_init(void) | |||
| 131 | MMU_setup(); | 136 | MMU_setup(); |
| 132 | 137 | ||
| 133 | if (lmb.memory.cnt > 1) { | 138 | if (lmb.memory.cnt > 1) { |
| 139 | #ifndef CONFIG_WII | ||
| 134 | lmb.memory.cnt = 1; | 140 | lmb.memory.cnt = 1; |
| 135 | lmb_analyze(); | 141 | lmb_analyze(); |
| 136 | printk(KERN_WARNING "Only using first contiguous memory region"); | 142 | printk(KERN_WARNING "Only using first contiguous memory region"); |
| 143 | #else | ||
| 144 | wii_memory_fixups(); | ||
| 145 | #endif | ||
| 137 | } | 146 | } |
| 138 | 147 | ||
| 139 | total_lowmem = total_memory = lmb_end_of_DRAM() - memstart_addr; | 148 | total_lowmem = total_memory = lmb_end_of_DRAM() - memstart_addr; |
diff --git a/arch/powerpc/mm/mmu_decl.h b/arch/powerpc/mm/mmu_decl.h index e27a990af42d..d49a77503e19 100644 --- a/arch/powerpc/mm/mmu_decl.h +++ b/arch/powerpc/mm/mmu_decl.h | |||
| @@ -104,6 +104,7 @@ extern void setbat(int index, unsigned long virt, phys_addr_t phys, | |||
| 104 | unsigned int size, int flags); | 104 | unsigned int size, int flags); |
| 105 | 105 | ||
| 106 | extern int __map_without_bats; | 106 | extern int __map_without_bats; |
| 107 | extern int __allow_ioremap_reserved; | ||
| 107 | extern unsigned long ioremap_base; | 108 | extern unsigned long ioremap_base; |
| 108 | extern unsigned int rtas_data, rtas_size; | 109 | extern unsigned int rtas_data, rtas_size; |
| 109 | 110 | ||
| @@ -125,24 +126,32 @@ extern phys_addr_t total_lowmem; | |||
| 125 | extern phys_addr_t memstart_addr; | 126 | extern phys_addr_t memstart_addr; |
| 126 | extern phys_addr_t lowmem_end_addr; | 127 | extern phys_addr_t lowmem_end_addr; |
| 127 | 128 | ||
| 129 | #ifdef CONFIG_WII | ||
| 130 | extern unsigned long wii_hole_start; | ||
| 131 | extern unsigned long wii_hole_size; | ||
| 132 | |||
| 133 | extern unsigned long wii_mmu_mapin_mem2(unsigned long top); | ||
| 134 | extern void wii_memory_fixups(void); | ||
| 135 | #endif | ||
| 136 | |||
| 128 | /* ...and now those things that may be slightly different between processor | 137 | /* ...and now those things that may be slightly different between processor |
| 129 | * architectures. -- Dan | 138 | * architectures. -- Dan |
| 130 | */ | 139 | */ |
| 131 | #if defined(CONFIG_8xx) | 140 | #if defined(CONFIG_8xx) |
| 132 | #define MMU_init_hw() do { } while(0) | 141 | #define MMU_init_hw() do { } while(0) |
| 133 | #define mmu_mapin_ram() (0UL) | 142 | #define mmu_mapin_ram(top) (0UL) |
| 134 | 143 | ||
| 135 | #elif defined(CONFIG_4xx) | 144 | #elif defined(CONFIG_4xx) |
| 136 | extern void MMU_init_hw(void); | 145 | extern void MMU_init_hw(void); |
| 137 | extern unsigned long mmu_mapin_ram(void); | 146 | extern unsigned long mmu_mapin_ram(unsigned long top); |
| 138 | 147 | ||
| 139 | #elif defined(CONFIG_FSL_BOOKE) | 148 | #elif defined(CONFIG_FSL_BOOKE) |
| 140 | extern void MMU_init_hw(void); | 149 | extern void MMU_init_hw(void); |
| 141 | extern unsigned long mmu_mapin_ram(void); | 150 | extern unsigned long mmu_mapin_ram(unsigned long top); |
| 142 | extern void adjust_total_lowmem(void); | 151 | extern void adjust_total_lowmem(void); |
| 143 | 152 | ||
| 144 | #elif defined(CONFIG_PPC32) | 153 | #elif defined(CONFIG_PPC32) |
| 145 | /* anything 32-bit except 4xx or 8xx */ | 154 | /* anything 32-bit except 4xx or 8xx */ |
| 146 | extern void MMU_init_hw(void); | 155 | extern void MMU_init_hw(void); |
| 147 | extern unsigned long mmu_mapin_ram(void); | 156 | extern unsigned long mmu_mapin_ram(unsigned long top); |
| 148 | #endif | 157 | #endif |
diff --git a/arch/powerpc/mm/pgtable_32.c b/arch/powerpc/mm/pgtable_32.c index cb96cb2e17cc..177e4038b43c 100644 --- a/arch/powerpc/mm/pgtable_32.c +++ b/arch/powerpc/mm/pgtable_32.c | |||
| @@ -26,6 +26,7 @@ | |||
| 26 | #include <linux/vmalloc.h> | 26 | #include <linux/vmalloc.h> |
| 27 | #include <linux/init.h> | 27 | #include <linux/init.h> |
| 28 | #include <linux/highmem.h> | 28 | #include <linux/highmem.h> |
| 29 | #include <linux/lmb.h> | ||
| 29 | 30 | ||
| 30 | #include <asm/pgtable.h> | 31 | #include <asm/pgtable.h> |
| 31 | #include <asm/pgalloc.h> | 32 | #include <asm/pgalloc.h> |
| @@ -191,7 +192,8 @@ __ioremap_caller(phys_addr_t addr, unsigned long size, unsigned long flags, | |||
| 191 | * Don't allow anybody to remap normal RAM that we're using. | 192 | * Don't allow anybody to remap normal RAM that we're using. |
| 192 | * mem_init() sets high_memory so only do the check after that. | 193 | * mem_init() sets high_memory so only do the check after that. |
| 193 | */ | 194 | */ |
| 194 | if (mem_init_done && (p < virt_to_phys(high_memory))) { | 195 | if (mem_init_done && (p < virt_to_phys(high_memory)) && |
| 196 | !(__allow_ioremap_reserved && lmb_is_region_reserved(p, size))) { | ||
| 195 | printk("__ioremap(): phys addr 0x%llx is RAM lr %p\n", | 197 | printk("__ioremap(): phys addr 0x%llx is RAM lr %p\n", |
| 196 | (unsigned long long)p, __builtin_return_address(0)); | 198 | (unsigned long long)p, __builtin_return_address(0)); |
| 197 | return NULL; | 199 | return NULL; |
| @@ -283,18 +285,18 @@ int map_page(unsigned long va, phys_addr_t pa, int flags) | |||
| 283 | } | 285 | } |
| 284 | 286 | ||
| 285 | /* | 287 | /* |
| 286 | * Map in a big chunk of physical memory starting at PAGE_OFFSET. | 288 | * Map in a chunk of physical memory starting at start. |
| 287 | */ | 289 | */ |
| 288 | void __init mapin_ram(void) | 290 | void __init __mapin_ram_chunk(unsigned long offset, unsigned long top) |
| 289 | { | 291 | { |
| 290 | unsigned long v, s, f; | 292 | unsigned long v, s, f; |
| 291 | phys_addr_t p; | 293 | phys_addr_t p; |
| 292 | int ktext; | 294 | int ktext; |
| 293 | 295 | ||
| 294 | s = mmu_mapin_ram(); | 296 | s = offset; |
| 295 | v = PAGE_OFFSET + s; | 297 | v = PAGE_OFFSET + s; |
| 296 | p = memstart_addr + s; | 298 | p = memstart_addr + s; |
| 297 | for (; s < total_lowmem; s += PAGE_SIZE) { | 299 | for (; s < top; s += PAGE_SIZE) { |
| 298 | ktext = ((char *) v >= _stext && (char *) v < etext); | 300 | ktext = ((char *) v >= _stext && (char *) v < etext); |
| 299 | f = ktext ? PAGE_KERNEL_TEXT : PAGE_KERNEL; | 301 | f = ktext ? PAGE_KERNEL_TEXT : PAGE_KERNEL; |
| 300 | map_page(v, p, f); | 302 | map_page(v, p, f); |
| @@ -307,6 +309,30 @@ void __init mapin_ram(void) | |||
| 307 | } | 309 | } |
| 308 | } | 310 | } |
| 309 | 311 | ||
| 312 | void __init mapin_ram(void) | ||
| 313 | { | ||
| 314 | unsigned long s, top; | ||
| 315 | |||
| 316 | #ifndef CONFIG_WII | ||
| 317 | top = total_lowmem; | ||
| 318 | s = mmu_mapin_ram(top); | ||
| 319 | __mapin_ram_chunk(s, top); | ||
| 320 | #else | ||
| 321 | if (!wii_hole_size) { | ||
| 322 | s = mmu_mapin_ram(total_lowmem); | ||
| 323 | __mapin_ram_chunk(s, total_lowmem); | ||
| 324 | } else { | ||
| 325 | top = wii_hole_start; | ||
| 326 | s = mmu_mapin_ram(top); | ||
| 327 | __mapin_ram_chunk(s, top); | ||
| 328 | |||
| 329 | top = lmb_end_of_DRAM(); | ||
| 330 | s = wii_mmu_mapin_mem2(top); | ||
| 331 | __mapin_ram_chunk(s, top); | ||
| 332 | } | ||
| 333 | #endif | ||
| 334 | } | ||
| 335 | |||
| 310 | /* Scan the real Linux page tables and return a PTE pointer for | 336 | /* Scan the real Linux page tables and return a PTE pointer for |
| 311 | * a virtual address in a context. | 337 | * a virtual address in a context. |
| 312 | * Returns true (1) if PTE was found, zero otherwise. The pointer to | 338 | * Returns true (1) if PTE was found, zero otherwise. The pointer to |
diff --git a/arch/powerpc/mm/ppc_mmu_32.c b/arch/powerpc/mm/ppc_mmu_32.c index 2d2a87e10154..f11c2cdcb0fe 100644 --- a/arch/powerpc/mm/ppc_mmu_32.c +++ b/arch/powerpc/mm/ppc_mmu_32.c | |||
| @@ -72,7 +72,7 @@ unsigned long p_mapped_by_bats(phys_addr_t pa) | |||
| 72 | return 0; | 72 | return 0; |
| 73 | } | 73 | } |
| 74 | 74 | ||
| 75 | unsigned long __init mmu_mapin_ram(void) | 75 | unsigned long __init mmu_mapin_ram(unsigned long top) |
| 76 | { | 76 | { |
| 77 | unsigned long tot, bl, done; | 77 | unsigned long tot, bl, done; |
| 78 | unsigned long max_size = (256<<20); | 78 | unsigned long max_size = (256<<20); |
| @@ -86,7 +86,7 @@ unsigned long __init mmu_mapin_ram(void) | |||
| 86 | 86 | ||
| 87 | /* Make sure we don't map a block larger than the | 87 | /* Make sure we don't map a block larger than the |
| 88 | smallest alignment of the physical address. */ | 88 | smallest alignment of the physical address. */ |
| 89 | tot = total_lowmem; | 89 | tot = top; |
| 90 | for (bl = 128<<10; bl < max_size; bl <<= 1) { | 90 | for (bl = 128<<10; bl < max_size; bl <<= 1) { |
| 91 | if (bl * 2 > tot) | 91 | if (bl * 2 > tot) |
| 92 | break; | 92 | break; |
diff --git a/arch/powerpc/platforms/Kconfig.cputype b/arch/powerpc/platforms/Kconfig.cputype index 2eab27a94cc9..fa0f690d3867 100644 --- a/arch/powerpc/platforms/Kconfig.cputype +++ b/arch/powerpc/platforms/Kconfig.cputype | |||
| @@ -311,7 +311,7 @@ config NR_CPUS | |||
| 311 | 311 | ||
| 312 | config NOT_COHERENT_CACHE | 312 | config NOT_COHERENT_CACHE |
| 313 | bool | 313 | bool |
| 314 | depends on 4xx || 8xx || E200 || PPC_MPC512x | 314 | depends on 4xx || 8xx || E200 || PPC_MPC512x || GAMECUBE_COMMON |
| 315 | default y | 315 | default y |
| 316 | 316 | ||
| 317 | config CHECK_CACHE_COHERENCY | 317 | config CHECK_CACHE_COHERENCY |
diff --git a/arch/powerpc/platforms/embedded6xx/Kconfig b/arch/powerpc/platforms/embedded6xx/Kconfig index 291ac9d8cbee..524d971a1478 100644 --- a/arch/powerpc/platforms/embedded6xx/Kconfig +++ b/arch/powerpc/platforms/embedded6xx/Kconfig | |||
| @@ -90,3 +90,36 @@ config MPC10X_OPENPIC | |||
| 90 | config MPC10X_STORE_GATHERING | 90 | config MPC10X_STORE_GATHERING |
| 91 | bool "Enable MPC10x store gathering" | 91 | bool "Enable MPC10x store gathering" |
| 92 | depends on MPC10X_BRIDGE | 92 | depends on MPC10X_BRIDGE |
| 93 | |||
| 94 | config GAMECUBE_COMMON | ||
| 95 | bool | ||
| 96 | |||
| 97 | config USBGECKO_UDBG | ||
| 98 | bool "USB Gecko udbg console for the Nintendo GameCube/Wii" | ||
| 99 | depends on GAMECUBE_COMMON | ||
| 100 | help | ||
| 101 | If you say yes to this option, support will be included for the | ||
| 102 | USB Gecko adapter as an udbg console. | ||
| 103 | The USB Gecko is a EXI to USB Serial converter that can be plugged | ||
| 104 | into a memcard slot in the Nintendo GameCube/Wii. | ||
| 105 | |||
| 106 | This driver bypasses the EXI layer completely. | ||
| 107 | |||
| 108 | If in doubt, say N here. | ||
| 109 | |||
| 110 | config GAMECUBE | ||
| 111 | bool "Nintendo-GameCube" | ||
| 112 | depends on EMBEDDED6xx | ||
| 113 | select GAMECUBE_COMMON | ||
| 114 | help | ||
| 115 | Select GAMECUBE if configuring for the Nintendo GameCube. | ||
| 116 | More information at: <http://gc-linux.sourceforge.net/> | ||
| 117 | |||
| 118 | config WII | ||
| 119 | bool "Nintendo-Wii" | ||
| 120 | depends on EMBEDDED6xx | ||
| 121 | select GAMECUBE_COMMON | ||
| 122 | help | ||
| 123 | Select WII if configuring for the Nintendo Wii. | ||
| 124 | More information at: <http://gc-linux.sourceforge.net/> | ||
| 125 | |||
diff --git a/arch/powerpc/platforms/embedded6xx/Makefile b/arch/powerpc/platforms/embedded6xx/Makefile index 0773c08bd444..66c23e423f40 100644 --- a/arch/powerpc/platforms/embedded6xx/Makefile +++ b/arch/powerpc/platforms/embedded6xx/Makefile | |||
| @@ -7,3 +7,7 @@ obj-$(CONFIG_STORCENTER) += storcenter.o | |||
| 7 | obj-$(CONFIG_PPC_HOLLY) += holly.o | 7 | obj-$(CONFIG_PPC_HOLLY) += holly.o |
| 8 | obj-$(CONFIG_PPC_PRPMC2800) += prpmc2800.o | 8 | obj-$(CONFIG_PPC_PRPMC2800) += prpmc2800.o |
| 9 | obj-$(CONFIG_PPC_C2K) += c2k.o | 9 | obj-$(CONFIG_PPC_C2K) += c2k.o |
| 10 | obj-$(CONFIG_USBGECKO_UDBG) += usbgecko_udbg.o | ||
| 11 | obj-$(CONFIG_GAMECUBE_COMMON) += flipper-pic.o | ||
| 12 | obj-$(CONFIG_GAMECUBE) += gamecube.o | ||
| 13 | obj-$(CONFIG_WII) += wii.o hlwd-pic.o | ||
diff --git a/arch/powerpc/platforms/embedded6xx/flipper-pic.c b/arch/powerpc/platforms/embedded6xx/flipper-pic.c new file mode 100644 index 000000000000..d5963285e3be --- /dev/null +++ b/arch/powerpc/platforms/embedded6xx/flipper-pic.c | |||
| @@ -0,0 +1,263 @@ | |||
| 1 | /* | ||
| 2 | * arch/powerpc/platforms/embedded6xx/flipper-pic.c | ||
| 3 | * | ||
| 4 | * Nintendo GameCube/Wii "Flipper" interrupt controller support. | ||
| 5 | * Copyright (C) 2004-2009 The GameCube Linux Team | ||
| 6 | * Copyright (C) 2007,2008,2009 Albert Herranz | ||
| 7 | * | ||
| 8 | * This program is free software; you can redistribute it and/or | ||
| 9 | * modify it under the terms of the GNU General Public License | ||
| 10 | * as published by the Free Software Foundation; either version 2 | ||
| 11 | * of the License, or (at your option) any later version. | ||
| 12 | * | ||
| 13 | */ | ||
| 14 | #define DRV_MODULE_NAME "flipper-pic" | ||
| 15 | #define pr_fmt(fmt) DRV_MODULE_NAME ": " fmt | ||
| 16 | |||
| 17 | #include <linux/kernel.h> | ||
| 18 | #include <linux/init.h> | ||
| 19 | #include <linux/irq.h> | ||
| 20 | #include <linux/of.h> | ||
| 21 | #include <asm/io.h> | ||
| 22 | |||
| 23 | #include "flipper-pic.h" | ||
| 24 | |||
| 25 | #define FLIPPER_NR_IRQS 32 | ||
| 26 | |||
| 27 | /* | ||
| 28 | * Each interrupt has a corresponding bit in both | ||
| 29 | * the Interrupt Cause (ICR) and Interrupt Mask (IMR) registers. | ||
| 30 | * | ||
| 31 | * Enabling/disabling an interrupt line involves setting/clearing | ||
| 32 | * the corresponding bit in IMR. | ||
| 33 | * Except for the RSW interrupt, all interrupts get deasserted automatically | ||
| 34 | * when the source deasserts the interrupt. | ||
| 35 | */ | ||
| 36 | #define FLIPPER_ICR 0x00 | ||
| 37 | #define FLIPPER_ICR_RSS (1<<16) /* reset switch state */ | ||
| 38 | |||
| 39 | #define FLIPPER_IMR 0x04 | ||
| 40 | |||
| 41 | #define FLIPPER_RESET 0x24 | ||
| 42 | |||
| 43 | |||
| 44 | /* | ||
| 45 | * IRQ chip hooks. | ||
| 46 | * | ||
| 47 | */ | ||
| 48 | |||
| 49 | static void flipper_pic_mask_and_ack(unsigned int virq) | ||
| 50 | { | ||
| 51 | int irq = virq_to_hw(virq); | ||
| 52 | void __iomem *io_base = get_irq_chip_data(virq); | ||
| 53 | u32 mask = 1 << irq; | ||
| 54 | |||
| 55 | clrbits32(io_base + FLIPPER_IMR, mask); | ||
| 56 | /* this is at least needed for RSW */ | ||
| 57 | out_be32(io_base + FLIPPER_ICR, mask); | ||
| 58 | } | ||
| 59 | |||
| 60 | static void flipper_pic_ack(unsigned int virq) | ||
| 61 | { | ||
| 62 | int irq = virq_to_hw(virq); | ||
| 63 | void __iomem *io_base = get_irq_chip_data(virq); | ||
| 64 | |||
| 65 | /* this is at least needed for RSW */ | ||
| 66 | out_be32(io_base + FLIPPER_ICR, 1 << irq); | ||
| 67 | } | ||
| 68 | |||
| 69 | static void flipper_pic_mask(unsigned int virq) | ||
| 70 | { | ||
| 71 | int irq = virq_to_hw(virq); | ||
| 72 | void __iomem *io_base = get_irq_chip_data(virq); | ||
| 73 | |||
| 74 | clrbits32(io_base + FLIPPER_IMR, 1 << irq); | ||
| 75 | } | ||
| 76 | |||
| 77 | static void flipper_pic_unmask(unsigned int virq) | ||
| 78 | { | ||
| 79 | int irq = virq_to_hw(virq); | ||
| 80 | void __iomem *io_base = get_irq_chip_data(virq); | ||
| 81 | |||
| 82 | setbits32(io_base + FLIPPER_IMR, 1 << irq); | ||
| 83 | } | ||
| 84 | |||
| 85 | |||
| 86 | static struct irq_chip flipper_pic = { | ||
| 87 | .name = "flipper-pic", | ||
| 88 | .ack = flipper_pic_ack, | ||
| 89 | .mask_ack = flipper_pic_mask_and_ack, | ||
| 90 | .mask = flipper_pic_mask, | ||
| 91 | .unmask = flipper_pic_unmask, | ||
| 92 | }; | ||
| 93 | |||
| 94 | /* | ||
| 95 | * IRQ host hooks. | ||
| 96 | * | ||
| 97 | */ | ||
| 98 | |||
| 99 | static struct irq_host *flipper_irq_host; | ||
| 100 | |||
| 101 | static int flipper_pic_map(struct irq_host *h, unsigned int virq, | ||
| 102 | irq_hw_number_t hwirq) | ||
| 103 | { | ||
| 104 | set_irq_chip_data(virq, h->host_data); | ||
| 105 | get_irq_desc(virq)->status |= IRQ_LEVEL; | ||
| 106 | set_irq_chip_and_handler(virq, &flipper_pic, handle_level_irq); | ||
| 107 | return 0; | ||
| 108 | } | ||
| 109 | |||
| 110 | static void flipper_pic_unmap(struct irq_host *h, unsigned int irq) | ||
| 111 | { | ||
| 112 | set_irq_chip_data(irq, NULL); | ||
| 113 | set_irq_chip(irq, NULL); | ||
| 114 | } | ||
| 115 | |||
| 116 | static int flipper_pic_match(struct irq_host *h, struct device_node *np) | ||
| 117 | { | ||
| 118 | return 1; | ||
| 119 | } | ||
| 120 | |||
| 121 | |||
| 122 | static struct irq_host_ops flipper_irq_host_ops = { | ||
| 123 | .map = flipper_pic_map, | ||
| 124 | .unmap = flipper_pic_unmap, | ||
| 125 | .match = flipper_pic_match, | ||
| 126 | }; | ||
| 127 | |||
| 128 | /* | ||
| 129 | * Platform hooks. | ||
| 130 | * | ||
| 131 | */ | ||
| 132 | |||
| 133 | static void __flipper_quiesce(void __iomem *io_base) | ||
| 134 | { | ||
| 135 | /* mask and ack all IRQs */ | ||
| 136 | out_be32(io_base + FLIPPER_IMR, 0x00000000); | ||
| 137 | out_be32(io_base + FLIPPER_ICR, 0xffffffff); | ||
| 138 | } | ||
| 139 | |||
| 140 | struct irq_host * __init flipper_pic_init(struct device_node *np) | ||
| 141 | { | ||
| 142 | struct device_node *pi; | ||
| 143 | struct irq_host *irq_host = NULL; | ||
| 144 | struct resource res; | ||
| 145 | void __iomem *io_base; | ||
| 146 | int retval; | ||
| 147 | |||
| 148 | pi = of_get_parent(np); | ||
| 149 | if (!pi) { | ||
| 150 | pr_err("no parent found\n"); | ||
| 151 | goto out; | ||
| 152 | } | ||
| 153 | if (!of_device_is_compatible(pi, "nintendo,flipper-pi")) { | ||
| 154 | pr_err("unexpected parent compatible\n"); | ||
| 155 | goto out; | ||
| 156 | } | ||
| 157 | |||
| 158 | retval = of_address_to_resource(pi, 0, &res); | ||
| 159 | if (retval) { | ||
| 160 | pr_err("no io memory range found\n"); | ||
| 161 | goto out; | ||
| 162 | } | ||
| 163 | io_base = ioremap(res.start, resource_size(&res)); | ||
| 164 | |||
| 165 | pr_info("controller at 0x%08x mapped to 0x%p\n", res.start, io_base); | ||
| 166 | |||
| 167 | __flipper_quiesce(io_base); | ||
| 168 | |||
| 169 | irq_host = irq_alloc_host(np, IRQ_HOST_MAP_LINEAR, FLIPPER_NR_IRQS, | ||
| 170 | &flipper_irq_host_ops, -1); | ||
| 171 | if (!irq_host) { | ||
| 172 | pr_err("failed to allocate irq_host\n"); | ||
| 173 | return NULL; | ||
| 174 | } | ||
| 175 | |||
| 176 | irq_host->host_data = io_base; | ||
| 177 | |||
| 178 | out: | ||
| 179 | return irq_host; | ||
| 180 | } | ||
| 181 | |||
| 182 | unsigned int flipper_pic_get_irq(void) | ||
| 183 | { | ||
| 184 | void __iomem *io_base = flipper_irq_host->host_data; | ||
| 185 | int irq; | ||
| 186 | u32 irq_status; | ||
| 187 | |||
| 188 | irq_status = in_be32(io_base + FLIPPER_ICR) & | ||
| 189 | in_be32(io_base + FLIPPER_IMR); | ||
| 190 | if (irq_status == 0) | ||
| 191 | return NO_IRQ; /* no more IRQs pending */ | ||
| 192 | |||
| 193 | irq = __ffs(irq_status); | ||
| 194 | return irq_linear_revmap(flipper_irq_host, irq); | ||
| 195 | } | ||
| 196 | |||
| 197 | /* | ||
| 198 | * Probe function. | ||
| 199 | * | ||
| 200 | */ | ||
| 201 | |||
| 202 | void __init flipper_pic_probe(void) | ||
| 203 | { | ||
| 204 | struct device_node *np; | ||
| 205 | |||
| 206 | np = of_find_compatible_node(NULL, NULL, "nintendo,flipper-pic"); | ||
| 207 | BUG_ON(!np); | ||
| 208 | |||
| 209 | flipper_irq_host = flipper_pic_init(np); | ||
| 210 | BUG_ON(!flipper_irq_host); | ||
| 211 | |||
| 212 | irq_set_default_host(flipper_irq_host); | ||
| 213 | |||
| 214 | of_node_put(np); | ||
| 215 | } | ||
| 216 | |||
| 217 | /* | ||
| 218 | * Misc functions related to the flipper chipset. | ||
| 219 | * | ||
| 220 | */ | ||
| 221 | |||
| 222 | /** | ||
| 223 | * flipper_quiesce() - quiesce flipper irq controller | ||
| 224 | * | ||
| 225 | * Mask and ack all interrupt sources. | ||
| 226 | * | ||
| 227 | */ | ||
| 228 | void flipper_quiesce(void) | ||
| 229 | { | ||
| 230 | void __iomem *io_base = flipper_irq_host->host_data; | ||
| 231 | |||
| 232 | __flipper_quiesce(io_base); | ||
| 233 | } | ||
| 234 | |||
| 235 | /* | ||
| 236 | * Resets the platform. | ||
| 237 | */ | ||
| 238 | void flipper_platform_reset(void) | ||
| 239 | { | ||
| 240 | void __iomem *io_base; | ||
| 241 | |||
| 242 | if (flipper_irq_host && flipper_irq_host->host_data) { | ||
| 243 | io_base = flipper_irq_host->host_data; | ||
| 244 | out_8(io_base + FLIPPER_RESET, 0x00); | ||
| 245 | } | ||
| 246 | } | ||
| 247 | |||
| 248 | /* | ||
| 249 | * Returns non-zero if the reset button is pressed. | ||
| 250 | */ | ||
| 251 | int flipper_is_reset_button_pressed(void) | ||
| 252 | { | ||
| 253 | void __iomem *io_base; | ||
| 254 | u32 icr; | ||
| 255 | |||
| 256 | if (flipper_irq_host && flipper_irq_host->host_data) { | ||
| 257 | io_base = flipper_irq_host->host_data; | ||
| 258 | icr = in_be32(io_base + FLIPPER_ICR); | ||
| 259 | return !(icr & FLIPPER_ICR_RSS); | ||
| 260 | } | ||
| 261 | return 0; | ||
| 262 | } | ||
| 263 | |||
diff --git a/arch/powerpc/platforms/embedded6xx/flipper-pic.h b/arch/powerpc/platforms/embedded6xx/flipper-pic.h new file mode 100644 index 000000000000..e339186b5663 --- /dev/null +++ b/arch/powerpc/platforms/embedded6xx/flipper-pic.h | |||
| @@ -0,0 +1,25 @@ | |||
| 1 | /* | ||
| 2 | * arch/powerpc/platforms/embedded6xx/flipper-pic.h | ||
| 3 | * | ||
| 4 | * Nintendo GameCube/Wii "Flipper" interrupt controller support. | ||
| 5 | * Copyright (C) 2004-2009 The GameCube Linux Team | ||
| 6 | * Copyright (C) 2007,2008,2009 Albert Herranz | ||
| 7 | * | ||
| 8 | * This program is free software; you can redistribute it and/or | ||
| 9 | * modify it under the terms of the GNU General Public License | ||
| 10 | * as published by the Free Software Foundation; either version 2 | ||
| 11 | * of the License, or (at your option) any later version. | ||
| 12 | * | ||
| 13 | */ | ||
| 14 | |||
| 15 | #ifndef __FLIPPER_PIC_H | ||
| 16 | #define __FLIPPER_PIC_H | ||
| 17 | |||
| 18 | unsigned int flipper_pic_get_irq(void); | ||
| 19 | void __init flipper_pic_probe(void); | ||
| 20 | |||
| 21 | void flipper_quiesce(void); | ||
| 22 | void flipper_platform_reset(void); | ||
| 23 | int flipper_is_reset_button_pressed(void); | ||
| 24 | |||
| 25 | #endif | ||
diff --git a/arch/powerpc/platforms/embedded6xx/gamecube.c b/arch/powerpc/platforms/embedded6xx/gamecube.c new file mode 100644 index 000000000000..1106fd99627f --- /dev/null +++ b/arch/powerpc/platforms/embedded6xx/gamecube.c | |||
| @@ -0,0 +1,118 @@ | |||
| 1 | /* | ||
| 2 | * arch/powerpc/platforms/embedded6xx/gamecube.c | ||
| 3 | * | ||
| 4 | * Nintendo GameCube board-specific support | ||
| 5 | * Copyright (C) 2004-2009 The GameCube Linux Team | ||
| 6 | * Copyright (C) 2007,2008,2009 Albert Herranz | ||
| 7 | * | ||
| 8 | * This program is free software; you can redistribute it and/or | ||
| 9 | * modify it under the terms of the GNU General Public License | ||
| 10 | * as published by the Free Software Foundation; either version 2 | ||
| 11 | * of the License, or (at your option) any later version. | ||
| 12 | * | ||
| 13 | */ | ||
| 14 | |||
| 15 | #include <linux/kernel.h> | ||
| 16 | #include <linux/init.h> | ||
| 17 | #include <linux/irq.h> | ||
| 18 | #include <linux/kexec.h> | ||
| 19 | #include <linux/seq_file.h> | ||
| 20 | #include <linux/of_platform.h> | ||
| 21 | |||
| 22 | #include <asm/io.h> | ||
| 23 | #include <asm/machdep.h> | ||
| 24 | #include <asm/prom.h> | ||
| 25 | #include <asm/time.h> | ||
| 26 | #include <asm/udbg.h> | ||
| 27 | |||
| 28 | #include "flipper-pic.h" | ||
| 29 | #include "usbgecko_udbg.h" | ||
| 30 | |||
| 31 | |||
| 32 | static void gamecube_spin(void) | ||
| 33 | { | ||
| 34 | /* spin until power button pressed */ | ||
| 35 | for (;;) | ||
| 36 | cpu_relax(); | ||
| 37 | } | ||
| 38 | |||
| 39 | static void gamecube_restart(char *cmd) | ||
| 40 | { | ||
| 41 | local_irq_disable(); | ||
| 42 | flipper_platform_reset(); | ||
| 43 | gamecube_spin(); | ||
| 44 | } | ||
| 45 | |||
| 46 | static void gamecube_power_off(void) | ||
| 47 | { | ||
| 48 | local_irq_disable(); | ||
| 49 | gamecube_spin(); | ||
| 50 | } | ||
| 51 | |||
| 52 | static void gamecube_halt(void) | ||
| 53 | { | ||
| 54 | gamecube_restart(NULL); | ||
| 55 | } | ||
| 56 | |||
| 57 | static void __init gamecube_init_early(void) | ||
| 58 | { | ||
| 59 | ug_udbg_init(); | ||
| 60 | } | ||
| 61 | |||
| 62 | static int __init gamecube_probe(void) | ||
| 63 | { | ||
| 64 | unsigned long dt_root; | ||
| 65 | |||
| 66 | dt_root = of_get_flat_dt_root(); | ||
| 67 | if (!of_flat_dt_is_compatible(dt_root, "nintendo,gamecube")) | ||
| 68 | return 0; | ||
| 69 | |||
| 70 | return 1; | ||
| 71 | } | ||
| 72 | |||
| 73 | static void gamecube_shutdown(void) | ||
| 74 | { | ||
| 75 | flipper_quiesce(); | ||
| 76 | } | ||
| 77 | |||
| 78 | #ifdef CONFIG_KEXEC | ||
| 79 | static int gamecube_kexec_prepare(struct kimage *image) | ||
| 80 | { | ||
| 81 | return 0; | ||
| 82 | } | ||
| 83 | #endif /* CONFIG_KEXEC */ | ||
| 84 | |||
| 85 | |||
| 86 | define_machine(gamecube) { | ||
| 87 | .name = "gamecube", | ||
| 88 | .probe = gamecube_probe, | ||
| 89 | .init_early = gamecube_init_early, | ||
| 90 | .restart = gamecube_restart, | ||
| 91 | .power_off = gamecube_power_off, | ||
| 92 | .halt = gamecube_halt, | ||
| 93 | .init_IRQ = flipper_pic_probe, | ||
| 94 | .get_irq = flipper_pic_get_irq, | ||
| 95 | .calibrate_decr = generic_calibrate_decr, | ||
| 96 | .progress = udbg_progress, | ||
| 97 | .machine_shutdown = gamecube_shutdown, | ||
| 98 | #ifdef CONFIG_KEXEC | ||
| 99 | .machine_kexec_prepare = gamecube_kexec_prepare, | ||
| 100 | #endif | ||
| 101 | }; | ||
| 102 | |||
| 103 | |||
| 104 | static struct of_device_id gamecube_of_bus[] = { | ||
| 105 | { .compatible = "nintendo,flipper", }, | ||
| 106 | { }, | ||
| 107 | }; | ||
| 108 | |||
| 109 | static int __init gamecube_device_probe(void) | ||
| 110 | { | ||
| 111 | if (!machine_is(gamecube)) | ||
| 112 | return 0; | ||
| 113 | |||
| 114 | of_platform_bus_probe(NULL, gamecube_of_bus, NULL); | ||
| 115 | return 0; | ||
| 116 | } | ||
| 117 | device_initcall(gamecube_device_probe); | ||
| 118 | |||
diff --git a/arch/powerpc/platforms/embedded6xx/hlwd-pic.c b/arch/powerpc/platforms/embedded6xx/hlwd-pic.c new file mode 100644 index 000000000000..dd20bff33207 --- /dev/null +++ b/arch/powerpc/platforms/embedded6xx/hlwd-pic.c | |||
| @@ -0,0 +1,241 @@ | |||
| 1 | /* | ||
| 2 | * arch/powerpc/platforms/embedded6xx/hlwd-pic.c | ||
| 3 | * | ||
| 4 | * Nintendo Wii "Hollywood" interrupt controller support. | ||
| 5 | * Copyright (C) 2009 The GameCube Linux Team | ||
| 6 | * Copyright (C) 2009 Albert Herranz | ||
| 7 | * | ||
| 8 | * This program is free software; you can redistribute it and/or | ||
| 9 | * modify it under the terms of the GNU General Public License | ||
| 10 | * as published by the Free Software Foundation; either version 2 | ||
| 11 | * of the License, or (at your option) any later version. | ||
| 12 | * | ||
| 13 | */ | ||
| 14 | #define DRV_MODULE_NAME "hlwd-pic" | ||
| 15 | #define pr_fmt(fmt) DRV_MODULE_NAME ": " fmt | ||
| 16 | |||
| 17 | #include <linux/kernel.h> | ||
| 18 | #include <linux/init.h> | ||
| 19 | #include <linux/irq.h> | ||
| 20 | #include <linux/of.h> | ||
| 21 | #include <asm/io.h> | ||
| 22 | |||
| 23 | #include "hlwd-pic.h" | ||
| 24 | |||
| 25 | #define HLWD_NR_IRQS 32 | ||
| 26 | |||
| 27 | /* | ||
| 28 | * Each interrupt has a corresponding bit in both | ||
| 29 | * the Interrupt Cause (ICR) and Interrupt Mask (IMR) registers. | ||
| 30 | * | ||
| 31 | * Enabling/disabling an interrupt line involves asserting/clearing | ||
| 32 | * the corresponding bit in IMR. ACK'ing a request simply involves | ||
| 33 | * asserting the corresponding bit in ICR. | ||
| 34 | */ | ||
| 35 | #define HW_BROADWAY_ICR 0x00 | ||
| 36 | #define HW_BROADWAY_IMR 0x04 | ||
| 37 | |||
| 38 | |||
| 39 | /* | ||
| 40 | * IRQ chip hooks. | ||
| 41 | * | ||
| 42 | */ | ||
| 43 | |||
| 44 | static void hlwd_pic_mask_and_ack(unsigned int virq) | ||
| 45 | { | ||
| 46 | int irq = virq_to_hw(virq); | ||
| 47 | void __iomem *io_base = get_irq_chip_data(virq); | ||
| 48 | u32 mask = 1 << irq; | ||
| 49 | |||
| 50 | clrbits32(io_base + HW_BROADWAY_IMR, mask); | ||
| 51 | out_be32(io_base + HW_BROADWAY_ICR, mask); | ||
| 52 | } | ||
| 53 | |||
| 54 | static void hlwd_pic_ack(unsigned int virq) | ||
| 55 | { | ||
| 56 | int irq = virq_to_hw(virq); | ||
| 57 | void __iomem *io_base = get_irq_chip_data(virq); | ||
| 58 | |||
| 59 | out_be32(io_base + HW_BROADWAY_ICR, 1 << irq); | ||
| 60 | } | ||
| 61 | |||
| 62 | static void hlwd_pic_mask(unsigned int virq) | ||
| 63 | { | ||
| 64 | int irq = virq_to_hw(virq); | ||
| 65 | void __iomem *io_base = get_irq_chip_data(virq); | ||
| 66 | |||
| 67 | clrbits32(io_base + HW_BROADWAY_IMR, 1 << irq); | ||
| 68 | } | ||
| 69 | |||
| 70 | static void hlwd_pic_unmask(unsigned int virq) | ||
| 71 | { | ||
| 72 | int irq = virq_to_hw(virq); | ||
| 73 | void __iomem *io_base = get_irq_chip_data(virq); | ||
| 74 | |||
| 75 | setbits32(io_base + HW_BROADWAY_IMR, 1 << irq); | ||
| 76 | } | ||
| 77 | |||
| 78 | |||
| 79 | static struct irq_chip hlwd_pic = { | ||
| 80 | .name = "hlwd-pic", | ||
| 81 | .ack = hlwd_pic_ack, | ||
| 82 | .mask_ack = hlwd_pic_mask_and_ack, | ||
| 83 | .mask = hlwd_pic_mask, | ||
| 84 | .unmask = hlwd_pic_unmask, | ||
| 85 | }; | ||
| 86 | |||
| 87 | /* | ||
| 88 | * IRQ host hooks. | ||
| 89 | * | ||
| 90 | */ | ||
| 91 | |||
| 92 | static struct irq_host *hlwd_irq_host; | ||
| 93 | |||
| 94 | static int hlwd_pic_map(struct irq_host *h, unsigned int virq, | ||
| 95 | irq_hw_number_t hwirq) | ||
| 96 | { | ||
| 97 | set_irq_chip_data(virq, h->host_data); | ||
| 98 | get_irq_desc(virq)->status |= IRQ_LEVEL; | ||
| 99 | set_irq_chip_and_handler(virq, &hlwd_pic, handle_level_irq); | ||
| 100 | return 0; | ||
| 101 | } | ||
| 102 | |||
| 103 | static void hlwd_pic_unmap(struct irq_host *h, unsigned int irq) | ||
| 104 | { | ||
| 105 | set_irq_chip_data(irq, NULL); | ||
| 106 | set_irq_chip(irq, NULL); | ||
| 107 | } | ||
| 108 | |||
| 109 | static struct irq_host_ops hlwd_irq_host_ops = { | ||
| 110 | .map = hlwd_pic_map, | ||
| 111 | .unmap = hlwd_pic_unmap, | ||
| 112 | }; | ||
| 113 | |||
| 114 | static unsigned int __hlwd_pic_get_irq(struct irq_host *h) | ||
| 115 | { | ||
| 116 | void __iomem *io_base = h->host_data; | ||
| 117 | int irq; | ||
| 118 | u32 irq_status; | ||
| 119 | |||
| 120 | irq_status = in_be32(io_base + HW_BROADWAY_ICR) & | ||
| 121 | in_be32(io_base + HW_BROADWAY_IMR); | ||
| 122 | if (irq_status == 0) | ||
| 123 | return NO_IRQ; /* no more IRQs pending */ | ||
| 124 | |||
| 125 | irq = __ffs(irq_status); | ||
| 126 | return irq_linear_revmap(h, irq); | ||
| 127 | } | ||
| 128 | |||
| 129 | static void hlwd_pic_irq_cascade(unsigned int cascade_virq, | ||
| 130 | struct irq_desc *desc) | ||
| 131 | { | ||
| 132 | struct irq_host *irq_host = get_irq_data(cascade_virq); | ||
| 133 | unsigned int virq; | ||
| 134 | |||
| 135 | spin_lock(&desc->lock); | ||
| 136 | desc->chip->mask(cascade_virq); /* IRQ_LEVEL */ | ||
| 137 | spin_unlock(&desc->lock); | ||
| 138 | |||
| 139 | virq = __hlwd_pic_get_irq(irq_host); | ||
| 140 | if (virq != NO_IRQ) | ||
| 141 | generic_handle_irq(virq); | ||
| 142 | else | ||
| 143 | pr_err("spurious interrupt!\n"); | ||
| 144 | |||
| 145 | spin_lock(&desc->lock); | ||
| 146 | desc->chip->ack(cascade_virq); /* IRQ_LEVEL */ | ||
| 147 | if (!(desc->status & IRQ_DISABLED) && desc->chip->unmask) | ||
| 148 | desc->chip->unmask(cascade_virq); | ||
| 149 | spin_unlock(&desc->lock); | ||
| 150 | } | ||
| 151 | |||
| 152 | /* | ||
| 153 | * Platform hooks. | ||
| 154 | * | ||
| 155 | */ | ||
| 156 | |||
| 157 | static void __hlwd_quiesce(void __iomem *io_base) | ||
| 158 | { | ||
| 159 | /* mask and ack all IRQs */ | ||
| 160 | out_be32(io_base + HW_BROADWAY_IMR, 0); | ||
| 161 | out_be32(io_base + HW_BROADWAY_ICR, 0xffffffff); | ||
| 162 | } | ||
| 163 | |||
| 164 | struct irq_host *hlwd_pic_init(struct device_node *np) | ||
| 165 | { | ||
| 166 | struct irq_host *irq_host; | ||
| 167 | struct resource res; | ||
| 168 | void __iomem *io_base; | ||
| 169 | int retval; | ||
| 170 | |||
| 171 | retval = of_address_to_resource(np, 0, &res); | ||
| 172 | if (retval) { | ||
| 173 | pr_err("no io memory range found\n"); | ||
| 174 | return NULL; | ||
| 175 | } | ||
| 176 | io_base = ioremap(res.start, resource_size(&res)); | ||
| 177 | if (!io_base) { | ||
| 178 | pr_err("ioremap failed\n"); | ||
| 179 | return NULL; | ||
| 180 | } | ||
| 181 | |||
| 182 | pr_info("controller at 0x%08x mapped to 0x%p\n", res.start, io_base); | ||
| 183 | |||
| 184 | __hlwd_quiesce(io_base); | ||
| 185 | |||
| 186 | irq_host = irq_alloc_host(np, IRQ_HOST_MAP_LINEAR, HLWD_NR_IRQS, | ||
| 187 | &hlwd_irq_host_ops, -1); | ||
| 188 | if (!irq_host) { | ||
| 189 | pr_err("failed to allocate irq_host\n"); | ||
| 190 | return NULL; | ||
| 191 | } | ||
| 192 | irq_host->host_data = io_base; | ||
| 193 | |||
| 194 | return irq_host; | ||
| 195 | } | ||
| 196 | |||
| 197 | unsigned int hlwd_pic_get_irq(void) | ||
| 198 | { | ||
| 199 | return __hlwd_pic_get_irq(hlwd_irq_host); | ||
| 200 | } | ||
| 201 | |||
| 202 | /* | ||
| 203 | * Probe function. | ||
| 204 | * | ||
| 205 | */ | ||
| 206 | |||
| 207 | void hlwd_pic_probe(void) | ||
| 208 | { | ||
| 209 | struct irq_host *host; | ||
| 210 | struct device_node *np; | ||
| 211 | const u32 *interrupts; | ||
| 212 | int cascade_virq; | ||
| 213 | |||
| 214 | for_each_compatible_node(np, NULL, "nintendo,hollywood-pic") { | ||
| 215 | interrupts = of_get_property(np, "interrupts", NULL); | ||
| 216 | if (interrupts) { | ||
| 217 | host = hlwd_pic_init(np); | ||
| 218 | BUG_ON(!host); | ||
| 219 | cascade_virq = irq_of_parse_and_map(np, 0); | ||
| 220 | set_irq_data(cascade_virq, host); | ||
| 221 | set_irq_chained_handler(cascade_virq, | ||
| 222 | hlwd_pic_irq_cascade); | ||
| 223 | hlwd_irq_host = host; | ||
| 224 | break; | ||
| 225 | } | ||
| 226 | } | ||
| 227 | } | ||
| 228 | |||
| 229 | /** | ||
| 230 | * hlwd_quiesce() - quiesce hollywood irq controller | ||
| 231 | * | ||
| 232 | * Mask and ack all interrupt sources. | ||
| 233 | * | ||
| 234 | */ | ||
| 235 | void hlwd_quiesce(void) | ||
| 236 | { | ||
| 237 | void __iomem *io_base = hlwd_irq_host->host_data; | ||
| 238 | |||
| 239 | __hlwd_quiesce(io_base); | ||
| 240 | } | ||
| 241 | |||
diff --git a/arch/powerpc/platforms/embedded6xx/hlwd-pic.h b/arch/powerpc/platforms/embedded6xx/hlwd-pic.h new file mode 100644 index 000000000000..d2e5a092761e --- /dev/null +++ b/arch/powerpc/platforms/embedded6xx/hlwd-pic.h | |||
| @@ -0,0 +1,22 @@ | |||
| 1 | /* | ||
| 2 | * arch/powerpc/platforms/embedded6xx/hlwd-pic.h | ||
| 3 | * | ||
| 4 | * Nintendo Wii "Hollywood" interrupt controller support. | ||
| 5 | * Copyright (C) 2009 The GameCube Linux Team | ||
| 6 | * Copyright (C) 2009 Albert Herranz | ||
| 7 | * | ||
| 8 | * This program is free software; you can redistribute it and/or | ||
| 9 | * modify it under the terms of the GNU General Public License | ||
| 10 | * as published by the Free Software Foundation; either version 2 | ||
| 11 | * of the License, or (at your option) any later version. | ||
| 12 | * | ||
| 13 | */ | ||
| 14 | |||
| 15 | #ifndef __HLWD_PIC_H | ||
| 16 | #define __HLWD_PIC_H | ||
| 17 | |||
| 18 | extern unsigned int hlwd_pic_get_irq(void); | ||
| 19 | extern void hlwd_pic_probe(void); | ||
| 20 | extern void hlwd_quiesce(void); | ||
| 21 | |||
| 22 | #endif | ||
diff --git a/arch/powerpc/platforms/embedded6xx/usbgecko_udbg.c b/arch/powerpc/platforms/embedded6xx/usbgecko_udbg.c new file mode 100644 index 000000000000..edc956cc8b13 --- /dev/null +++ b/arch/powerpc/platforms/embedded6xx/usbgecko_udbg.c | |||
| @@ -0,0 +1,328 @@ | |||
| 1 | /* | ||
| 2 | * arch/powerpc/platforms/embedded6xx/usbgecko_udbg.c | ||
| 3 | * | ||
| 4 | * udbg serial input/output routines for the USB Gecko adapter. | ||
| 5 | * Copyright (C) 2008-2009 The GameCube Linux Team | ||
| 6 | * Copyright (C) 2008,2009 Albert Herranz | ||
| 7 | * | ||
| 8 | * This program is free software; you can redistribute it and/or | ||
| 9 | * modify it under the terms of the GNU General Public License | ||
| 10 | * as published by the Free Software Foundation; either version 2 | ||
| 11 | * of the License, or (at your option) any later version. | ||
| 12 | * | ||
| 13 | */ | ||
| 14 | |||
| 15 | #include <mm/mmu_decl.h> | ||
| 16 | |||
| 17 | #include <asm/io.h> | ||
| 18 | #include <asm/prom.h> | ||
| 19 | #include <asm/udbg.h> | ||
| 20 | #include <asm/fixmap.h> | ||
| 21 | |||
| 22 | #include "usbgecko_udbg.h" | ||
| 23 | |||
| 24 | |||
| 25 | #define EXI_CLK_32MHZ 5 | ||
| 26 | |||
| 27 | #define EXI_CSR 0x00 | ||
| 28 | #define EXI_CSR_CLKMASK (0x7<<4) | ||
| 29 | #define EXI_CSR_CLK_32MHZ (EXI_CLK_32MHZ<<4) | ||
| 30 | #define EXI_CSR_CSMASK (0x7<<7) | ||
| 31 | #define EXI_CSR_CS_0 (0x1<<7) /* Chip Select 001 */ | ||
| 32 | |||
| 33 | #define EXI_CR 0x0c | ||
| 34 | #define EXI_CR_TSTART (1<<0) | ||
| 35 | #define EXI_CR_WRITE (1<<2) | ||
| 36 | #define EXI_CR_READ_WRITE (2<<2) | ||
| 37 | #define EXI_CR_TLEN(len) (((len)-1)<<4) | ||
| 38 | |||
| 39 | #define EXI_DATA 0x10 | ||
| 40 | |||
| 41 | #define UG_READ_ATTEMPTS 100 | ||
| 42 | #define UG_WRITE_ATTEMPTS 100 | ||
| 43 | |||
| 44 | |||
| 45 | static void __iomem *ug_io_base; | ||
| 46 | |||
| 47 | /* | ||
| 48 | * Performs one input/output transaction between the exi host and the usbgecko. | ||
| 49 | */ | ||
| 50 | static u32 ug_io_transaction(u32 in) | ||
| 51 | { | ||
| 52 | u32 __iomem *csr_reg = ug_io_base + EXI_CSR; | ||
| 53 | u32 __iomem *data_reg = ug_io_base + EXI_DATA; | ||
| 54 | u32 __iomem *cr_reg = ug_io_base + EXI_CR; | ||
| 55 | u32 csr, data, cr; | ||
| 56 | |||
| 57 | /* select */ | ||
| 58 | csr = EXI_CSR_CLK_32MHZ | EXI_CSR_CS_0; | ||
| 59 | out_be32(csr_reg, csr); | ||
| 60 | |||
| 61 | /* read/write */ | ||
| 62 | data = in; | ||
| 63 | out_be32(data_reg, data); | ||
| 64 | cr = EXI_CR_TLEN(2) | EXI_CR_READ_WRITE | EXI_CR_TSTART; | ||
| 65 | out_be32(cr_reg, cr); | ||
| 66 | |||
| 67 | while (in_be32(cr_reg) & EXI_CR_TSTART) | ||
| 68 | barrier(); | ||
| 69 | |||
| 70 | /* deselect */ | ||
| 71 | out_be32(csr_reg, 0); | ||
| 72 | |||
| 73 | /* result */ | ||
| 74 | data = in_be32(data_reg); | ||
| 75 | |||
| 76 | return data; | ||
| 77 | } | ||
| 78 | |||
| 79 | /* | ||
| 80 | * Returns true if an usbgecko adapter is found. | ||
| 81 | */ | ||
| 82 | static int ug_is_adapter_present(void) | ||
| 83 | { | ||
| 84 | if (!ug_io_base) | ||
| 85 | return 0; | ||
| 86 | |||
| 87 | return ug_io_transaction(0x90000000) == 0x04700000; | ||
| 88 | } | ||
| 89 | |||
| 90 | /* | ||
| 91 | * Returns true if the TX fifo is ready for transmission. | ||
| 92 | */ | ||
| 93 | static int ug_is_txfifo_ready(void) | ||
| 94 | { | ||
| 95 | return ug_io_transaction(0xc0000000) & 0x04000000; | ||
| 96 | } | ||
| 97 | |||
| 98 | /* | ||
| 99 | * Tries to transmit a character. | ||
| 100 | * If the TX fifo is not ready the result is undefined. | ||
| 101 | */ | ||
| 102 | static void ug_raw_putc(char ch) | ||
| 103 | { | ||
| 104 | ug_io_transaction(0xb0000000 | (ch << 20)); | ||
| 105 | } | ||
| 106 | |||
| 107 | /* | ||
| 108 | * Transmits a character. | ||
| 109 | * It silently fails if the TX fifo is not ready after a number of retries. | ||
| 110 | */ | ||
| 111 | static void ug_putc(char ch) | ||
| 112 | { | ||
| 113 | int count = UG_WRITE_ATTEMPTS; | ||
| 114 | |||
| 115 | if (!ug_io_base) | ||
| 116 | return; | ||
| 117 | |||
| 118 | if (ch == '\n') | ||
| 119 | ug_putc('\r'); | ||
| 120 | |||
| 121 | while (!ug_is_txfifo_ready() && count--) | ||
| 122 | barrier(); | ||
| 123 | if (count) | ||
| 124 | ug_raw_putc(ch); | ||
| 125 | } | ||
| 126 | |||
| 127 | /* | ||
| 128 | * Returns true if the RX fifo is ready for transmission. | ||
| 129 | */ | ||
| 130 | static int ug_is_rxfifo_ready(void) | ||
| 131 | { | ||
| 132 | return ug_io_transaction(0xd0000000) & 0x04000000; | ||
| 133 | } | ||
| 134 | |||
| 135 | /* | ||
| 136 | * Tries to receive a character. | ||
| 137 | * If a character is unavailable the function returns -1. | ||
| 138 | */ | ||
| 139 | static int ug_raw_getc(void) | ||
| 140 | { | ||
| 141 | u32 data = ug_io_transaction(0xa0000000); | ||
| 142 | if (data & 0x08000000) | ||
| 143 | return (data >> 16) & 0xff; | ||
| 144 | else | ||
| 145 | return -1; | ||
| 146 | } | ||
| 147 | |||
| 148 | /* | ||
| 149 | * Receives a character. | ||
| 150 | * It fails if the RX fifo is not ready after a number of retries. | ||
| 151 | */ | ||
| 152 | static int ug_getc(void) | ||
| 153 | { | ||
| 154 | int count = UG_READ_ATTEMPTS; | ||
| 155 | |||
| 156 | if (!ug_io_base) | ||
| 157 | return -1; | ||
| 158 | |||
| 159 | while (!ug_is_rxfifo_ready() && count--) | ||
| 160 | barrier(); | ||
| 161 | return ug_raw_getc(); | ||
| 162 | } | ||
| 163 | |||
| 164 | /* | ||
| 165 | * udbg functions. | ||
| 166 | * | ||
| 167 | */ | ||
| 168 | |||
| 169 | /* | ||
| 170 | * Transmits a character. | ||
| 171 | */ | ||
| 172 | void ug_udbg_putc(char ch) | ||
| 173 | { | ||
| 174 | ug_putc(ch); | ||
| 175 | } | ||
| 176 | |||
| 177 | /* | ||
| 178 | * Receives a character. Waits until a character is available. | ||
| 179 | */ | ||
| 180 | static int ug_udbg_getc(void) | ||
| 181 | { | ||
| 182 | int ch; | ||
| 183 | |||
| 184 | while ((ch = ug_getc()) == -1) | ||
| 185 | barrier(); | ||
| 186 | return ch; | ||
| 187 | } | ||
| 188 | |||
| 189 | /* | ||
| 190 | * Receives a character. If a character is not available, returns -1. | ||
| 191 | */ | ||
| 192 | static int ug_udbg_getc_poll(void) | ||
| 193 | { | ||
| 194 | if (!ug_is_rxfifo_ready()) | ||
| 195 | return -1; | ||
| 196 | return ug_getc(); | ||
| 197 | } | ||
| 198 | |||
| 199 | /* | ||
| 200 | * Retrieves and prepares the virtual address needed to access the hardware. | ||
| 201 | */ | ||
| 202 | static void __iomem *ug_udbg_setup_exi_io_base(struct device_node *np) | ||
| 203 | { | ||
| 204 | void __iomem *exi_io_base = NULL; | ||
| 205 | phys_addr_t paddr; | ||
| 206 | const unsigned int *reg; | ||
| 207 | |||
| 208 | reg = of_get_property(np, "reg", NULL); | ||
| 209 | if (reg) { | ||
| 210 | paddr = of_translate_address(np, reg); | ||
| 211 | if (paddr) | ||
| 212 | exi_io_base = ioremap(paddr, reg[1]); | ||
| 213 | } | ||
| 214 | return exi_io_base; | ||
| 215 | } | ||
| 216 | |||
| 217 | /* | ||
| 218 | * Checks if a USB Gecko adapter is inserted in any memory card slot. | ||
| 219 | */ | ||
| 220 | static void __iomem *ug_udbg_probe(void __iomem *exi_io_base) | ||
| 221 | { | ||
| 222 | int i; | ||
| 223 | |||
| 224 | /* look for a usbgecko on memcard slots A and B */ | ||
| 225 | for (i = 0; i < 2; i++) { | ||
| 226 | ug_io_base = exi_io_base + 0x14 * i; | ||
| 227 | if (ug_is_adapter_present()) | ||
| 228 | break; | ||
| 229 | } | ||
| 230 | if (i == 2) | ||
| 231 | ug_io_base = NULL; | ||
| 232 | return ug_io_base; | ||
| 233 | |||
| 234 | } | ||
| 235 | |||
| 236 | /* | ||
| 237 | * USB Gecko udbg support initialization. | ||
| 238 | */ | ||
| 239 | void __init ug_udbg_init(void) | ||
| 240 | { | ||
| 241 | struct device_node *np; | ||
| 242 | void __iomem *exi_io_base; | ||
| 243 | |||
| 244 | if (ug_io_base) | ||
| 245 | udbg_printf("%s: early -> final\n", __func__); | ||
| 246 | |||
| 247 | np = of_find_compatible_node(NULL, NULL, "nintendo,flipper-exi"); | ||
| 248 | if (!np) { | ||
| 249 | udbg_printf("%s: EXI node not found\n", __func__); | ||
| 250 | goto done; | ||
| 251 | } | ||
| 252 | |||
| 253 | exi_io_base = ug_udbg_setup_exi_io_base(np); | ||
| 254 | if (!exi_io_base) { | ||
| 255 | udbg_printf("%s: failed to setup EXI io base\n", __func__); | ||
| 256 | goto done; | ||
| 257 | } | ||
| 258 | |||
| 259 | if (!ug_udbg_probe(exi_io_base)) { | ||
| 260 | udbg_printf("usbgecko_udbg: not found\n"); | ||
| 261 | iounmap(exi_io_base); | ||
| 262 | } else { | ||
| 263 | udbg_putc = ug_udbg_putc; | ||
| 264 | udbg_getc = ug_udbg_getc; | ||
| 265 | udbg_getc_poll = ug_udbg_getc_poll; | ||
| 266 | udbg_printf("usbgecko_udbg: ready\n"); | ||
| 267 | } | ||
| 268 | |||
| 269 | done: | ||
| 270 | if (np) | ||
| 271 | of_node_put(np); | ||
| 272 | return; | ||
| 273 | } | ||
| 274 | |||
| 275 | #ifdef CONFIG_PPC_EARLY_DEBUG_USBGECKO | ||
| 276 | |||
| 277 | static phys_addr_t __init ug_early_grab_io_addr(void) | ||
| 278 | { | ||
| 279 | #if defined(CONFIG_GAMECUBE) | ||
| 280 | return 0x0c000000; | ||
| 281 | #elif defined(CONFIG_WII) | ||
| 282 | return 0x0d000000; | ||
| 283 | #else | ||
| 284 | #error Invalid platform for USB Gecko based early debugging. | ||
| 285 | #endif | ||
| 286 | } | ||
| 287 | |||
| 288 | /* | ||
| 289 | * USB Gecko early debug support initialization for udbg. | ||
| 290 | */ | ||
| 291 | void __init udbg_init_usbgecko(void) | ||
| 292 | { | ||
| 293 | void __iomem *early_debug_area; | ||
| 294 | void __iomem *exi_io_base; | ||
| 295 | |||
| 296 | /* | ||
| 297 | * At this point we have a BAT already setup that enables I/O | ||
| 298 | * to the EXI hardware. | ||
| 299 | * | ||
| 300 | * The BAT uses a virtual address range reserved at the fixmap. | ||
| 301 | * This must match the virtual address configured in | ||
| 302 | * head_32.S:setup_usbgecko_bat(). | ||
| 303 | */ | ||
| 304 | early_debug_area = (void __iomem *)__fix_to_virt(FIX_EARLY_DEBUG_BASE); | ||
| 305 | exi_io_base = early_debug_area + 0x00006800; | ||
| 306 | |||
| 307 | /* try to detect a USB Gecko */ | ||
| 308 | if (!ug_udbg_probe(exi_io_base)) | ||
| 309 | return; | ||
| 310 | |||
| 311 | /* we found a USB Gecko, load udbg hooks */ | ||
| 312 | udbg_putc = ug_udbg_putc; | ||
| 313 | udbg_getc = ug_udbg_getc; | ||
| 314 | udbg_getc_poll = ug_udbg_getc_poll; | ||
| 315 | |||
| 316 | /* | ||
| 317 | * Prepare again the same BAT for MMU_init. | ||
| 318 | * This allows udbg I/O to continue working after the MMU is | ||
| 319 | * turned on for real. | ||
| 320 | * It is safe to continue using the same virtual address as it is | ||
| 321 | * a reserved fixmap area. | ||
| 322 | */ | ||
| 323 | setbat(1, (unsigned long)early_debug_area, | ||
| 324 | ug_early_grab_io_addr(), 128*1024, PAGE_KERNEL_NCG); | ||
| 325 | } | ||
| 326 | |||
| 327 | #endif /* CONFIG_PPC_EARLY_DEBUG_USBGECKO */ | ||
| 328 | |||
diff --git a/arch/powerpc/platforms/embedded6xx/usbgecko_udbg.h b/arch/powerpc/platforms/embedded6xx/usbgecko_udbg.h new file mode 100644 index 000000000000..bb6cde4ad764 --- /dev/null +++ b/arch/powerpc/platforms/embedded6xx/usbgecko_udbg.h | |||
| @@ -0,0 +1,32 @@ | |||
| 1 | /* | ||
| 2 | * arch/powerpc/platforms/embedded6xx/usbgecko_udbg.h | ||
| 3 | * | ||
| 4 | * udbg serial input/output routines for the USB Gecko adapter. | ||
| 5 | * Copyright (C) 2008-2009 The GameCube Linux Team | ||
| 6 | * Copyright (C) 2008,2009 Albert Herranz | ||
| 7 | * | ||
| 8 | * This program is free software; you can redistribute it and/or | ||
| 9 | * modify it under the terms of the GNU General Public License | ||
| 10 | * as published by the Free Software Foundation; either version 2 | ||
| 11 | * of the License, or (at your option) any later version. | ||
| 12 | * | ||
| 13 | */ | ||
| 14 | |||
| 15 | #ifndef __USBGECKO_UDBG_H | ||
| 16 | #define __USBGECKO_UDBG_H | ||
| 17 | |||
| 18 | #ifdef CONFIG_USBGECKO_UDBG | ||
| 19 | |||
| 20 | extern void __init ug_udbg_init(void); | ||
| 21 | |||
| 22 | #else | ||
| 23 | |||
| 24 | static inline void __init ug_udbg_init(void) | ||
| 25 | { | ||
| 26 | } | ||
| 27 | |||
| 28 | #endif /* CONFIG_USBGECKO_UDBG */ | ||
| 29 | |||
| 30 | void __init udbg_init_usbgecko(void); | ||
| 31 | |||
| 32 | #endif /* __USBGECKO_UDBG_H */ | ||
diff --git a/arch/powerpc/platforms/embedded6xx/wii.c b/arch/powerpc/platforms/embedded6xx/wii.c new file mode 100644 index 000000000000..57e5b608fa1a --- /dev/null +++ b/arch/powerpc/platforms/embedded6xx/wii.c | |||
| @@ -0,0 +1,268 @@ | |||
| 1 | /* | ||
| 2 | * arch/powerpc/platforms/embedded6xx/wii.c | ||
| 3 | * | ||
| 4 | * Nintendo Wii board-specific support | ||
| 5 | * Copyright (C) 2008-2009 The GameCube Linux Team | ||
| 6 | * Copyright (C) 2008,2009 Albert Herranz | ||
| 7 | * | ||
| 8 | * This program is free software; you can redistribute it and/or | ||
| 9 | * modify it under the terms of the GNU General Public License | ||
| 10 | * as published by the Free Software Foundation; either version 2 | ||
| 11 | * of the License, or (at your option) any later version. | ||
| 12 | * | ||
| 13 | */ | ||
| 14 | #define DRV_MODULE_NAME "wii" | ||
| 15 | #define pr_fmt(fmt) DRV_MODULE_NAME ": " fmt | ||
| 16 | |||
| 17 | #include <linux/kernel.h> | ||
| 18 | #include <linux/init.h> | ||
| 19 | #include <linux/irq.h> | ||
| 20 | #include <linux/seq_file.h> | ||
| 21 | #include <linux/kexec.h> | ||
| 22 | #include <linux/of_platform.h> | ||
| 23 | #include <linux/lmb.h> | ||
| 24 | #include <mm/mmu_decl.h> | ||
| 25 | |||
| 26 | #include <asm/io.h> | ||
| 27 | #include <asm/machdep.h> | ||
| 28 | #include <asm/prom.h> | ||
| 29 | #include <asm/time.h> | ||
| 30 | #include <asm/udbg.h> | ||
| 31 | |||
| 32 | #include "flipper-pic.h" | ||
| 33 | #include "hlwd-pic.h" | ||
| 34 | #include "usbgecko_udbg.h" | ||
| 35 | |||
| 36 | /* control block */ | ||
| 37 | #define HW_CTRL_COMPATIBLE "nintendo,hollywood-control" | ||
| 38 | |||
| 39 | #define HW_CTRL_RESETS 0x94 | ||
| 40 | #define HW_CTRL_RESETS_SYS (1<<0) | ||
| 41 | |||
| 42 | /* gpio */ | ||
| 43 | #define HW_GPIO_COMPATIBLE "nintendo,hollywood-gpio" | ||
| 44 | |||
| 45 | #define HW_GPIO_BASE(idx) (idx * 0x20) | ||
| 46 | #define HW_GPIO_OUT(idx) (HW_GPIO_BASE(idx) + 0) | ||
| 47 | #define HW_GPIO_DIR(idx) (HW_GPIO_BASE(idx) + 4) | ||
| 48 | |||
| 49 | #define HW_GPIO_SHUTDOWN (1<<1) | ||
| 50 | #define HW_GPIO_SLOT_LED (1<<5) | ||
| 51 | #define HW_GPIO_SENSOR_BAR (1<<8) | ||
| 52 | |||
| 53 | |||
| 54 | static void __iomem *hw_ctrl; | ||
| 55 | static void __iomem *hw_gpio; | ||
| 56 | |||
| 57 | unsigned long wii_hole_start; | ||
| 58 | unsigned long wii_hole_size; | ||
| 59 | |||
| 60 | |||
| 61 | static int __init page_aligned(unsigned long x) | ||
| 62 | { | ||
| 63 | return !(x & (PAGE_SIZE-1)); | ||
| 64 | } | ||
| 65 | |||
| 66 | void __init wii_memory_fixups(void) | ||
| 67 | { | ||
| 68 | struct lmb_property *p = lmb.memory.region; | ||
| 69 | |||
| 70 | /* | ||
| 71 | * This is part of a workaround to allow the use of two | ||
| 72 | * discontiguous RAM ranges on the Wii, even if this is | ||
| 73 | * currently unsupported on 32-bit PowerPC Linux. | ||
| 74 | * | ||
| 75 | * We coealesce the two memory ranges of the Wii into a | ||
| 76 | * single range, then create a reservation for the "hole" | ||
| 77 | * between both ranges. | ||
| 78 | */ | ||
| 79 | |||
| 80 | BUG_ON(lmb.memory.cnt != 2); | ||
| 81 | BUG_ON(!page_aligned(p[0].base) || !page_aligned(p[1].base)); | ||
| 82 | |||
| 83 | p[0].size = _ALIGN_DOWN(p[0].size, PAGE_SIZE); | ||
| 84 | p[1].size = _ALIGN_DOWN(p[1].size, PAGE_SIZE); | ||
| 85 | |||
| 86 | wii_hole_start = p[0].base + p[0].size; | ||
| 87 | wii_hole_size = p[1].base - wii_hole_start; | ||
| 88 | |||
| 89 | pr_info("MEM1: <%08llx %08llx>\n", p[0].base, p[0].size); | ||
| 90 | pr_info("HOLE: <%08lx %08lx>\n", wii_hole_start, wii_hole_size); | ||
| 91 | pr_info("MEM2: <%08llx %08llx>\n", p[1].base, p[1].size); | ||
| 92 | |||
| 93 | p[0].size += wii_hole_size + p[1].size; | ||
| 94 | |||
| 95 | lmb.memory.cnt = 1; | ||
| 96 | lmb_analyze(); | ||
| 97 | |||
| 98 | /* reserve the hole */ | ||
| 99 | lmb_reserve(wii_hole_start, wii_hole_size); | ||
| 100 | |||
| 101 | /* allow ioremapping the address space in the hole */ | ||
| 102 | __allow_ioremap_reserved = 1; | ||
| 103 | } | ||
| 104 | |||
| 105 | unsigned long __init wii_mmu_mapin_mem2(unsigned long top) | ||
| 106 | { | ||
| 107 | unsigned long delta, size, bl; | ||
| 108 | unsigned long max_size = (256<<20); | ||
| 109 | |||
| 110 | /* MEM2 64MB@0x10000000 */ | ||
| 111 | delta = wii_hole_start + wii_hole_size; | ||
| 112 | size = top - delta; | ||
| 113 | for (bl = 128<<10; bl < max_size; bl <<= 1) { | ||
| 114 | if (bl * 2 > size) | ||
| 115 | break; | ||
| 116 | } | ||
| 117 | setbat(4, PAGE_OFFSET+delta, delta, bl, PAGE_KERNEL_X); | ||
| 118 | return delta + bl; | ||
| 119 | } | ||
| 120 | |||
| 121 | static void wii_spin(void) | ||
| 122 | { | ||
| 123 | local_irq_disable(); | ||
| 124 | for (;;) | ||
| 125 | cpu_relax(); | ||
| 126 | } | ||
| 127 | |||
| 128 | static void __iomem *wii_ioremap_hw_regs(char *name, char *compatible) | ||
| 129 | { | ||
| 130 | void __iomem *hw_regs = NULL; | ||
| 131 | struct device_node *np; | ||
| 132 | struct resource res; | ||
| 133 | int error = -ENODEV; | ||
| 134 | |||
| 135 | np = of_find_compatible_node(NULL, NULL, compatible); | ||
| 136 | if (!np) { | ||
| 137 | pr_err("no compatible node found for %s\n", compatible); | ||
| 138 | goto out; | ||
| 139 | } | ||
| 140 | error = of_address_to_resource(np, 0, &res); | ||
| 141 | if (error) { | ||
| 142 | pr_err("no valid reg found for %s\n", np->name); | ||
| 143 | goto out_put; | ||
| 144 | } | ||
| 145 | |||
| 146 | hw_regs = ioremap(res.start, resource_size(&res)); | ||
| 147 | if (hw_regs) { | ||
| 148 | pr_info("%s at 0x%08x mapped to 0x%p\n", name, | ||
| 149 | res.start, hw_regs); | ||
| 150 | } | ||
| 151 | |||
| 152 | out_put: | ||
| 153 | of_node_put(np); | ||
| 154 | out: | ||
| 155 | return hw_regs; | ||
| 156 | } | ||
| 157 | |||
| 158 | static void __init wii_setup_arch(void) | ||
| 159 | { | ||
| 160 | hw_ctrl = wii_ioremap_hw_regs("hw_ctrl", HW_CTRL_COMPATIBLE); | ||
| 161 | hw_gpio = wii_ioremap_hw_regs("hw_gpio", HW_GPIO_COMPATIBLE); | ||
| 162 | if (hw_gpio) { | ||
| 163 | /* turn off the front blue led and IR light */ | ||
| 164 | clrbits32(hw_gpio + HW_GPIO_OUT(0), | ||
| 165 | HW_GPIO_SLOT_LED | HW_GPIO_SENSOR_BAR); | ||
| 166 | } | ||
| 167 | } | ||
| 168 | |||
| 169 | static void wii_restart(char *cmd) | ||
| 170 | { | ||
| 171 | local_irq_disable(); | ||
| 172 | |||
| 173 | if (hw_ctrl) { | ||
| 174 | /* clear the system reset pin to cause a reset */ | ||
| 175 | clrbits32(hw_ctrl + HW_CTRL_RESETS, HW_CTRL_RESETS_SYS); | ||
| 176 | } | ||
| 177 | wii_spin(); | ||
| 178 | } | ||
| 179 | |||
| 180 | static void wii_power_off(void) | ||
| 181 | { | ||
| 182 | local_irq_disable(); | ||
| 183 | |||
| 184 | if (hw_gpio) { | ||
| 185 | /* make sure that the poweroff GPIO is configured as output */ | ||
| 186 | setbits32(hw_gpio + HW_GPIO_DIR(1), HW_GPIO_SHUTDOWN); | ||
| 187 | |||
| 188 | /* drive the poweroff GPIO high */ | ||
| 189 | setbits32(hw_gpio + HW_GPIO_OUT(1), HW_GPIO_SHUTDOWN); | ||
| 190 | } | ||
| 191 | wii_spin(); | ||
| 192 | } | ||
| 193 | |||
| 194 | static void wii_halt(void) | ||
| 195 | { | ||
| 196 | if (ppc_md.restart) | ||
| 197 | ppc_md.restart(NULL); | ||
| 198 | wii_spin(); | ||
| 199 | } | ||
| 200 | |||
| 201 | static void __init wii_init_early(void) | ||
| 202 | { | ||
| 203 | ug_udbg_init(); | ||
| 204 | } | ||
| 205 | |||
| 206 | static void __init wii_pic_probe(void) | ||
| 207 | { | ||
| 208 | flipper_pic_probe(); | ||
| 209 | hlwd_pic_probe(); | ||
| 210 | } | ||
| 211 | |||
| 212 | static int __init wii_probe(void) | ||
| 213 | { | ||
| 214 | unsigned long dt_root; | ||
| 215 | |||
| 216 | dt_root = of_get_flat_dt_root(); | ||
| 217 | if (!of_flat_dt_is_compatible(dt_root, "nintendo,wii")) | ||
| 218 | return 0; | ||
| 219 | |||
| 220 | return 1; | ||
| 221 | } | ||
| 222 | |||
| 223 | static void wii_shutdown(void) | ||
| 224 | { | ||
| 225 | hlwd_quiesce(); | ||
| 226 | flipper_quiesce(); | ||
| 227 | } | ||
| 228 | |||
| 229 | #ifdef CONFIG_KEXEC | ||
| 230 | static int wii_machine_kexec_prepare(struct kimage *image) | ||
| 231 | { | ||
| 232 | return 0; | ||
| 233 | } | ||
| 234 | #endif /* CONFIG_KEXEC */ | ||
| 235 | |||
| 236 | define_machine(wii) { | ||
| 237 | .name = "wii", | ||
| 238 | .probe = wii_probe, | ||
| 239 | .init_early = wii_init_early, | ||
| 240 | .setup_arch = wii_setup_arch, | ||
| 241 | .restart = wii_restart, | ||
| 242 | .power_off = wii_power_off, | ||
| 243 | .halt = wii_halt, | ||
| 244 | .init_IRQ = wii_pic_probe, | ||
| 245 | .get_irq = flipper_pic_get_irq, | ||
| 246 | .calibrate_decr = generic_calibrate_decr, | ||
| 247 | .progress = udbg_progress, | ||
| 248 | .machine_shutdown = wii_shutdown, | ||
| 249 | #ifdef CONFIG_KEXEC | ||
| 250 | .machine_kexec_prepare = wii_machine_kexec_prepare, | ||
| 251 | #endif | ||
| 252 | }; | ||
| 253 | |||
| 254 | static struct of_device_id wii_of_bus[] = { | ||
| 255 | { .compatible = "nintendo,hollywood", }, | ||
| 256 | { }, | ||
| 257 | }; | ||
| 258 | |||
| 259 | static int __init wii_device_probe(void) | ||
| 260 | { | ||
| 261 | if (!machine_is(wii)) | ||
| 262 | return 0; | ||
| 263 | |||
| 264 | of_platform_bus_probe(NULL, wii_of_bus, NULL); | ||
| 265 | return 0; | ||
| 266 | } | ||
| 267 | device_initcall(wii_device_probe); | ||
| 268 | |||
diff --git a/include/linux/lmb.h b/include/linux/lmb.h index 2442e3f3d033..ef82b8fcbddb 100644 --- a/include/linux/lmb.h +++ b/include/linux/lmb.h | |||
| @@ -54,6 +54,7 @@ extern u64 __init lmb_phys_mem_size(void); | |||
| 54 | extern u64 lmb_end_of_DRAM(void); | 54 | extern u64 lmb_end_of_DRAM(void); |
| 55 | extern void __init lmb_enforce_memory_limit(u64 memory_limit); | 55 | extern void __init lmb_enforce_memory_limit(u64 memory_limit); |
| 56 | extern int __init lmb_is_reserved(u64 addr); | 56 | extern int __init lmb_is_reserved(u64 addr); |
| 57 | extern int lmb_is_region_reserved(u64 base, u64 size); | ||
| 57 | extern int lmb_find(struct lmb_property *res); | 58 | extern int lmb_find(struct lmb_property *res); |
| 58 | 59 | ||
| 59 | extern void lmb_dump_all(void); | 60 | extern void lmb_dump_all(void); |
| @@ -263,7 +263,7 @@ long __init lmb_reserve(u64 base, u64 size) | |||
| 263 | return lmb_add_region(_rgn, base, size); | 263 | return lmb_add_region(_rgn, base, size); |
| 264 | } | 264 | } |
| 265 | 265 | ||
| 266 | long __init lmb_overlaps_region(struct lmb_region *rgn, u64 base, u64 size) | 266 | long lmb_overlaps_region(struct lmb_region *rgn, u64 base, u64 size) |
| 267 | { | 267 | { |
| 268 | unsigned long i; | 268 | unsigned long i; |
| 269 | 269 | ||
| @@ -493,6 +493,11 @@ int __init lmb_is_reserved(u64 addr) | |||
| 493 | return 0; | 493 | return 0; |
| 494 | } | 494 | } |
| 495 | 495 | ||
| 496 | int lmb_is_region_reserved(u64 base, u64 size) | ||
| 497 | { | ||
| 498 | return lmb_overlaps_region(&lmb.reserved, base, size); | ||
| 499 | } | ||
| 500 | |||
| 496 | /* | 501 | /* |
| 497 | * Given a <base, len>, find which memory regions belong to this range. | 502 | * Given a <base, len>, find which memory regions belong to this range. |
| 498 | * Adjust the request and return a contiguous chunk. | 503 | * Adjust the request and return a contiguous chunk. |
