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.

+5161 -22
+109
Documentation/powerpc/dts-bindings/nintendo/gamecube.txt
··· 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 +
+184
Documentation/powerpc/dts-bindings/nintendo/wii.txt
··· 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 +
+1 -1
arch/powerpc/Kconfig
··· 704 704 config PCI 705 705 bool "PCI support" if PPC_PCI_CHOICE 706 706 default y if !40x && !CPM2 && !8xx && !PPC_83xx \ 707 - && !PPC_85xx && !PPC_86xx 707 + && !PPC_85xx && !PPC_86xx && !GAMECUBE_COMMON 708 708 default PCI_PERMEDIA if !4xx && !CPM2 && !8xx 709 709 default PCI_QSPAN if !4xx && !CPM2 && 8xx 710 710 select ARCH_SUPPORTS_MSI
+8
arch/powerpc/Kconfig.debug
··· 254 254 using a CPM-based serial port. This assumes that the bootwrapper 255 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 265 endchoice 258 266 259 267 config PPC_EARLY_DEBUG_44x_PHYSLOW
+5 -2
arch/powerpc/boot/Makefile
··· 66 66 gunzip_util.c elf_util.c $(zlib) devtree.c oflib.c ofconsole.c \ 67 67 4xx.c ebony.c mv64x60.c mpsc.c mv64x60_i2c.c cuboot.c bamboo.c \ 68 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 70 src-plat := of.c cuboot-52xx.c cuboot-824x.c cuboot-83xx.c cuboot-85xx.c holly.c \ 71 71 cuboot-ebony.c cuboot-hotfoot.c treeboot-ebony.c prpmc2800.c \ 72 72 ps3-head.S ps3-hvcall.S ps3.c treeboot-bamboo.c cuboot-8xx.c \ ··· 76 76 cuboot-katmai.c cuboot-rainier.c redboot-8xx.c ep8248e.c \ 77 77 cuboot-warp.c cuboot-85xx-cpm2.c cuboot-yosemite.c simpleboot.c \ 78 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 81 src-boot := $(src-wlib) $(src-plat) empty.c 81 82 82 83 src-boot := $(addprefix $(obj)/, $(src-boot)) ··· 255 254 image-$(CONFIG_STORCENTER) += cuImage.storcenter 256 255 image-$(CONFIG_MPC7448HPC2) += cuImage.mpc7448hpc2 257 256 image-$(CONFIG_PPC_C2K) += cuImage.c2k 257 + image-$(CONFIG_GAMECUBE) += dtbImage.gamecube 258 + image-$(CONFIG_WII) += dtbImage.wii 258 259 259 260 # Board port in arch/powerpc/platform/amigaone/Kconfig 260 261 image-$(CONFIG_AMIGAONE) += cuImage.amigaone
+114
arch/powerpc/boot/dts/gamecube.dts
··· 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 +
+218
arch/powerpc/boot/dts/wii.dts
··· 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 +
+111
arch/powerpc/boot/gamecube-head.S
··· 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 +
+35
arch/powerpc/boot/gamecube.c
··· 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 +
+147
arch/powerpc/boot/ugecon.c
··· 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 +
+24
arch/powerpc/boot/ugecon.h
··· 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 +
+142
arch/powerpc/boot/wii-head.S
··· 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 +
+158
arch/powerpc/boot/wii.c
··· 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 +
+4
arch/powerpc/boot/wrapper
··· 230 230 link_address='0x1400000' 231 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 237 esac 234 238 235 239 vmz="$tmpdir/`basename \"$kernel\"`.$ext"
+1061
arch/powerpc/configs/gamecube_defconfig
··· 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
+1406
arch/powerpc/configs/wii_defconfig
··· 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
+3
arch/powerpc/include/asm/fixmap.h
··· 44 44 */ 45 45 enum fixed_addresses { 46 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 50 #ifdef CONFIG_HIGHMEM 48 51 FIX_KMAP_BEGIN, /* reserved pte's for temporary kernel mappings */ 49 52 FIX_KMAP_END = FIX_KMAP_BEGIN+(KM_TYPE_NR*NR_CPUS)-1,
+1
arch/powerpc/include/asm/udbg.h
··· 51 51 extern void __init udbg_init_44x_as1(void); 52 52 extern void __init udbg_init_40x_realmode(void); 53 53 extern void __init udbg_init_cpm(void); 54 + extern void __init udbg_init_usbgecko(void); 54 55 55 56 #endif /* __KERNEL__ */ 56 57 #endif /* _ASM_POWERPC_UDBG_H */
+3 -3
arch/powerpc/kernel/cputable.c
··· 697 697 .machine_check = machine_check_generic, 698 698 .platform = "ppc750", 699 699 }, 700 - { /* 750CL */ 701 - .pvr_mask = 0xfffff0f0, 702 - .pvr_value = 0x00087010, 700 + { /* 750CL (and "Broadway") */ 701 + .pvr_mask = 0xfffff0e0, 702 + .pvr_value = 0x00087000, 703 703 .cpu_name = "750CL", 704 704 .cpu_features = CPU_FTRS_750CL, 705 705 .cpu_user_features = COMMON_USER | PPC_FEATURE_PPC_LE,
+25
arch/powerpc/kernel/head_32.S
··· 164 164 #ifdef CONFIG_PPC_EARLY_DEBUG_CPM 165 165 bl setup_cpm_bat 166 166 #endif 167 + #ifdef CONFIG_PPC_EARLY_DEBUG_USBGECKO 168 + bl setup_usbgecko_bat 169 + #endif 167 170 168 171 /* 169 172 * Call setup_cpu for CPU 0 and initialize 6xx Idle ··· 1203 1200 ori r11, r11, (BL_1M << 2) | 2 1204 1201 mtspr SPRN_DBAT1U, r11 1205 1202 1203 + blr 1204 + #endif 1205 + 1206 + #ifdef CONFIG_PPC_EARLY_DEBUG_USBGECKO 1207 + setup_usbgecko_bat: 1208 + /* prepare a BAT for early io */ 1209 + #if defined(CONFIG_GAMECUBE) 1210 + lis r8, 0x0c00 1211 + #elif defined(CONFIG_WII) 1212 + lis r8, 0x0d00 1213 + #else 1214 + #error Invalid platform for USB Gecko based early debugging. 1215 + #endif 1216 + /* 1217 + * The virtual address used must match the virtual address 1218 + * associated to the fixmap entry FIX_EARLY_DEBUG_BASE. 1219 + */ 1220 + lis r11, 0xfffe /* top 128K */ 1221 + ori r8, r8, 0x002a /* uncached, guarded ,rw */ 1222 + ori r11, r11, 0x2 /* 128K, Vs=1, Vp=0 */ 1223 + mtspr SPRN_DBAT1L, r8 1224 + mtspr SPRN_DBAT1U, r11 1206 1225 blr 1207 1226 #endif 1208 1227
+2
arch/powerpc/kernel/udbg.c
··· 60 60 udbg_init_40x_realmode(); 61 61 #elif defined(CONFIG_PPC_EARLY_DEBUG_CPM) 62 62 udbg_init_cpm(); 63 + #elif defined(CONFIG_PPC_EARLY_DEBUG_USBGECKO) 64 + udbg_init_usbgecko(); 63 65 #endif 64 66 65 67 #ifdef CONFIG_PPC_EARLY_DEBUG
+1 -1
arch/powerpc/mm/40x_mmu.c
··· 91 91 #define LARGE_PAGE_SIZE_16M (1<<24) 92 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 96 unsigned long v, s, mapped; 97 97 phys_addr_t p;
+1 -1
arch/powerpc/mm/44x_mmu.c
··· 88 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 93 unsigned long addr; 94 94
+1 -1
arch/powerpc/mm/fsl_booke_mmu.c
··· 207 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 212 return tlbcam_addrs[tlbcam_index - 1].limit - PAGE_OFFSET + 1; 213 213 }
+9
arch/powerpc/mm/init_32.c
··· 82 82 int __map_without_bats; 83 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 90 /* max amount of low RAM to map in */ 86 91 unsigned long __max_low_memory = MAX_LOW_MEM; 87 92 ··· 136 131 MMU_setup(); 137 132 138 133 if (lmb.memory.cnt > 1) { 134 + #ifndef CONFIG_WII 139 135 lmb.memory.cnt = 1; 140 136 lmb_analyze(); 141 137 printk(KERN_WARNING "Only using first contiguous memory region"); 138 + #else 139 + wii_memory_fixups(); 140 + #endif 142 141 } 143 142 144 143 total_lowmem = total_memory = lmb_end_of_DRAM() - memstart_addr;
+13 -4
arch/powerpc/mm/mmu_decl.h
··· 104 104 unsigned int size, int flags); 105 105 106 106 extern int __map_without_bats; 107 + extern int __allow_ioremap_reserved; 107 108 extern unsigned long ioremap_base; 108 109 extern unsigned int rtas_data, rtas_size; 109 110 ··· 126 125 extern phys_addr_t memstart_addr; 127 126 extern phys_addr_t lowmem_end_addr; 128 127 128 + #ifdef CONFIG_WII 129 + extern unsigned long wii_hole_start; 130 + extern unsigned long wii_hole_size; 131 + 132 + extern unsigned long wii_mmu_mapin_mem2(unsigned long top); 133 + extern void wii_memory_fixups(void); 134 + #endif 135 + 129 136 /* ...and now those things that may be slightly different between processor 130 137 * architectures. -- Dan 131 138 */ 132 139 #if defined(CONFIG_8xx) 133 140 #define MMU_init_hw() do { } while(0) 134 - #define mmu_mapin_ram() (0UL) 141 + #define mmu_mapin_ram(top) (0UL) 135 142 136 143 #elif defined(CONFIG_4xx) 137 144 extern void MMU_init_hw(void); 138 - extern unsigned long mmu_mapin_ram(void); 145 + extern unsigned long mmu_mapin_ram(unsigned long top); 139 146 140 147 #elif defined(CONFIG_FSL_BOOKE) 141 148 extern void MMU_init_hw(void); 142 - extern unsigned long mmu_mapin_ram(void); 149 + extern unsigned long mmu_mapin_ram(unsigned long top); 143 150 extern void adjust_total_lowmem(void); 144 151 145 152 #elif defined(CONFIG_PPC32) 146 153 /* anything 32-bit except 4xx or 8xx */ 147 154 extern void MMU_init_hw(void); 148 - extern unsigned long mmu_mapin_ram(void); 155 + extern unsigned long mmu_mapin_ram(unsigned long top); 149 156 #endif
+31 -5
arch/powerpc/mm/pgtable_32.c
··· 26 26 #include <linux/vmalloc.h> 27 27 #include <linux/init.h> 28 28 #include <linux/highmem.h> 29 + #include <linux/lmb.h> 29 30 30 31 #include <asm/pgtable.h> 31 32 #include <asm/pgalloc.h> ··· 192 191 * Don't allow anybody to remap normal RAM that we're using. 193 192 * mem_init() sets high_memory so only do the check after that. 194 193 */ 195 - if (mem_init_done && (p < virt_to_phys(high_memory))) { 194 + if (mem_init_done && (p < virt_to_phys(high_memory)) && 195 + !(__allow_ioremap_reserved && lmb_is_region_reserved(p, size))) { 196 196 printk("__ioremap(): phys addr 0x%llx is RAM lr %p\n", 197 197 (unsigned long long)p, __builtin_return_address(0)); 198 198 return NULL; ··· 285 283 } 286 284 287 285 /* 288 - * Map in a big chunk of physical memory starting at PAGE_OFFSET. 286 + * Map in a chunk of physical memory starting at start. 289 287 */ 290 - void __init mapin_ram(void) 288 + void __init __mapin_ram_chunk(unsigned long offset, unsigned long top) 291 289 { 292 290 unsigned long v, s, f; 293 291 phys_addr_t p; 294 292 int ktext; 295 293 296 - s = mmu_mapin_ram(); 294 + s = offset; 297 295 v = PAGE_OFFSET + s; 298 296 p = memstart_addr + s; 299 - for (; s < total_lowmem; s += PAGE_SIZE) { 297 + for (; s < top; s += PAGE_SIZE) { 300 298 ktext = ((char *) v >= _stext && (char *) v < etext); 301 299 f = ktext ? PAGE_KERNEL_TEXT : PAGE_KERNEL; 302 300 map_page(v, p, f); ··· 307 305 v += PAGE_SIZE; 308 306 p += PAGE_SIZE; 309 307 } 308 + } 309 + 310 + void __init mapin_ram(void) 311 + { 312 + unsigned long s, top; 313 + 314 + #ifndef CONFIG_WII 315 + top = total_lowmem; 316 + s = mmu_mapin_ram(top); 317 + __mapin_ram_chunk(s, top); 318 + #else 319 + if (!wii_hole_size) { 320 + s = mmu_mapin_ram(total_lowmem); 321 + __mapin_ram_chunk(s, total_lowmem); 322 + } else { 323 + top = wii_hole_start; 324 + s = mmu_mapin_ram(top); 325 + __mapin_ram_chunk(s, top); 326 + 327 + top = lmb_end_of_DRAM(); 328 + s = wii_mmu_mapin_mem2(top); 329 + __mapin_ram_chunk(s, top); 330 + } 331 + #endif 310 332 } 311 333 312 334 /* Scan the real Linux page tables and return a PTE pointer for
+2 -2
arch/powerpc/mm/ppc_mmu_32.c
··· 72 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 77 unsigned long tot, bl, done; 78 78 unsigned long max_size = (256<<20); ··· 86 86 87 87 /* Make sure we don't map a block larger than the 88 88 smallest alignment of the physical address. */ 89 - tot = total_lowmem; 89 + tot = top; 90 90 for (bl = 128<<10; bl < max_size; bl <<= 1) { 91 91 if (bl * 2 > tot) 92 92 break;
+1 -1
arch/powerpc/platforms/Kconfig.cputype
··· 311 311 312 312 config NOT_COHERENT_CACHE 313 313 bool 314 - depends on 4xx || 8xx || E200 || PPC_MPC512x 314 + depends on 4xx || 8xx || E200 || PPC_MPC512x || GAMECUBE_COMMON 315 315 default y 316 316 317 317 config CHECK_CACHE_COHERENCY
+33
arch/powerpc/platforms/embedded6xx/Kconfig
··· 90 90 config MPC10X_STORE_GATHERING 91 91 bool "Enable MPC10x store gathering" 92 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 +
+4
arch/powerpc/platforms/embedded6xx/Makefile
··· 7 7 obj-$(CONFIG_PPC_HOLLY) += holly.o 8 8 obj-$(CONFIG_PPC_PRPMC2800) += prpmc2800.o 9 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
+263
arch/powerpc/platforms/embedded6xx/flipper-pic.c
··· 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 +
+25
arch/powerpc/platforms/embedded6xx/flipper-pic.h
··· 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
+118
arch/powerpc/platforms/embedded6xx/gamecube.c
··· 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 +
+241
arch/powerpc/platforms/embedded6xx/hlwd-pic.c
··· 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 +
+22
arch/powerpc/platforms/embedded6xx/hlwd-pic.h
··· 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
+328
arch/powerpc/platforms/embedded6xx/usbgecko_udbg.c
··· 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 +
+32
arch/powerpc/platforms/embedded6xx/usbgecko_udbg.h
··· 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 */
+268
arch/powerpc/platforms/embedded6xx/wii.c
··· 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 +
+1
include/linux/lmb.h
··· 54 54 extern u64 lmb_end_of_DRAM(void); 55 55 extern void __init lmb_enforce_memory_limit(u64 memory_limit); 56 56 extern int __init lmb_is_reserved(u64 addr); 57 + extern int lmb_is_region_reserved(u64 base, u64 size); 57 58 extern int lmb_find(struct lmb_property *res); 58 59 59 60 extern void lmb_dump_all(void);
+6 -1
lib/lmb.c
··· 263 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 268 unsigned long i; 269 269 ··· 491 491 return 1; 492 492 } 493 493 return 0; 494 + } 495 + 496 + int lmb_is_region_reserved(u64 base, u64 size) 497 + { 498 + return lmb_overlaps_region(&lmb.reserved, base, size); 494 499 } 495 500 496 501 /*