···2828 - info on sound support under Linux/PPC2929zImage_layout.txt3030 - info on the kernel images for Linux/PPC3131+qe_firmware.txt3232+ - describes the layout of firmware binaries for the Freescale QUICC3333+ Engine and the code that parses and uploads the microcode therein.
+84-7
Documentation/powerpc/booting-without-of.txt
···5252 i) Freescale QUICC Engine module (QE)5353 j) CFI or JEDEC memory-mapped NOR flash5454 k) Global Utilities Block5555- l) Xilinx IP cores5555+ l) Freescale Communications Processor Module5656+ m) Chipselect/Local Bus5757+ n) 4xx/Axon EMAC ethernet nodes5858+ o) Xilinx IP cores5959+ p) Freescale Synchronous Serial Interface56605761 VII - Specifying interrupt information for devices5862 1) interrupts property···12611257 services interrupts for this device.12621258 - phy-handle : The phandle for the PHY connected to this ethernet12631259 controller.12601260+ - fixed-link : <a b c d e> where a is emulated phy id - choose any,12611261+ but unique to the all specified fixed-links, b is duplex - 0 half,12621262+ 1 full, c is link speed - d#10/d#100/d#1000, d is pause - 0 no12631263+ pause, 1 pause, e is asym_pause - 0 no asym_pause, 1 asym_pause.1264126412651265 Recommended properties:12661266···1419141114201412 Example multi port host USB controller device node :14211413 usb@22000 {14221422- device_type = "usb";14231414 compatible = "fsl-usb2-mph";14241415 reg = <22000 1000>;14251416 #address-cells = <1>;···1432142514331426 Example dual role USB controller device node :14341427 usb@23000 {14351435- device_type = "usb";14361428 compatible = "fsl-usb2-dr";14371429 reg = <23000 1000>;14381430 #address-cells = <1>;···15951589 iii) USB (Universal Serial Bus Controller)1596159015971591 Required properties:15981598- - device_type : should be "usb".15991592 - compatible : could be "qe_udc" or "fhci-hcd".16001593 - mode : the could be "host" or "slave".16011594 - reg : Offset and length of the register set for the device···1608160316091604 Example(slave):16101605 usb@6c0 {16111611- device_type = "usb";16121606 compatible = "qe_udc";16131607 reg = <6c0 40>;16141608 interrupts = <8b 0>;···1620161616211617 Required properties:16221618 - device_type : should be "network", "hldc", "uart", "transparent"16231623- "bisync" or "atm".16191619+ "bisync", "atm", or "serial".16241620 - compatible : could be "ucc_geth" or "fsl_atm" and so on.16251621 - model : should be "UCC".16261622 - device-id : the ucc number(1-8), corresponding to UCCx in UM.···16331629 - interrupt-parent : the phandle for the interrupt controller that16341630 services interrupts for this device.16351631 - pio-handle : The phandle for the Parallel I/O port configuration.16321632+ - port-number : for UART drivers, the port number to use, between 0 and 3.16331633+ This usually corresponds to the /dev/ttyQE device, e.g. <0> = /dev/ttyQE0.16341634+ The port number is added to the minor number of the device. Unlike the16351635+ CPM UART driver, the port-number is required for the QE UART driver.16361636+ - soft-uart : for UART drivers, if specified this means the QE UART device16371637+ driver should use "Soft-UART" mode, which is needed on some SOCs that have16381638+ broken UART hardware. Soft-UART is provided via a microcode upload.16361639 - rx-clock-name: the UCC receive clock source16371640 "none": clock source is disabled16381641 "brg1" through "brg16": clock source is BRG1-BRG16, respectively···17981787 reg = <0 c000>;17991788 };18001789 };17901790+17911791+ viii) Uploaded QE firmware17921792+17931793+ If a new firwmare has been uploaded to the QE (usually by the17941794+ boot loader), then a 'firmware' child node should be added to the QE17951795+ node. This node provides information on the uploaded firmware that17961796+ device drivers may need.17971797+17981798+ Required properties:17991799+ - id: The string name of the firmware. This is taken from the 'id'18001800+ member of the qe_firmware structure of the uploaded firmware.18011801+ Device drivers can search this string to determine if the18021802+ firmware they want is already present.18031803+ - extended-modes: The Extended Modes bitfield, taken from the18041804+ firmware binary. It is a 64-bit number represented18051805+ as an array of two 32-bit numbers.18061806+ - virtual-traps: The virtual traps, taken from the firmware binary.18071807+ It is an array of 8 32-bit numbers.18081808+18091809+ Example:18101810+18111811+ firmware {18121812+ id = "Soft-UART";18131813+ extended-modes = <0 0>;18141814+ virtual-traps = <0 0 0 0 0 0 0 0>;18151815+ }1801181618021817 j) CFI or JEDEC memory-mapped NOR flash18031818···23062269 available.23072270 For Axon: 0x0000012a2308227123092309- l) Xilinx IP cores22722272+ o) Xilinx IP cores2310227323112274 The Xilinx EDK toolchain ships with a set of IP cores (devices) for use23122275 in Xilinx Spartan and Virtex FPGAs. The devices cover the whole range···2575253825762539 Requred properties:25772540 - current-speed : Baud rate of uartlite25412541+25422542+ p) Freescale Synchronous Serial Interface25432543+25442544+ The SSI is a serial device that communicates with audio codecs. It can25452545+ be programmed in AC97, I2S, left-justified, or right-justified modes.25462546+25472547+ Required properties:25482548+ - compatible : compatible list, containing "fsl,ssi"25492549+ - cell-index : the SSI, <0> = SSI1, <1> = SSI2, and so on25502550+ - reg : offset and length of the register set for the device25512551+ - interrupts : <a b> where a is the interrupt number and b is a25522552+ field that represents an encoding of the sense and25532553+ level information for the interrupt. This should be25542554+ encoded based on the information in section 2)25552555+ depending on the type of interrupt controller you25562556+ have.25572557+ - interrupt-parent : the phandle for the interrupt controller that25582558+ services interrupts for this device.25592559+ - fsl,mode : the operating mode for the SSI interface25602560+ "i2s-slave" - I2S mode, SSI is clock slave25612561+ "i2s-master" - I2S mode, SSI is clock master25622562+ "lj-slave" - left-justified mode, SSI is clock slave25632563+ "lj-master" - l.j. mode, SSI is clock master25642564+ "rj-slave" - right-justified mode, SSI is clock slave25652565+ "rj-master" - r.j., SSI is clock master25662566+ "ac97-slave" - AC97 mode, SSI is clock slave25672567+ "ac97-master" - AC97 mode, SSI is clock master25682568+25692569+ Optional properties:25702570+ - codec-handle : phandle to a 'codec' node that defines an audio25712571+ codec connected to this SSI. This node is typically25722572+ a child of an I2C or other control node.25732573+25742574+ Child 'codec' node required properties:25752575+ - compatible : compatible list, contains the name of the codec25762576+25772577+ Child 'codec' node optional properties:25782578+ - clock-frequency : The frequency of the input clock, which typically25792579+ comes from an on-board dedicated oscillator.25802580+2578258125792582 More devices will be defined as this spec matures.25802583
+295
Documentation/powerpc/qe_firmware.txt
···11+ Freescale QUICC Engine Firmware Uploading22+ -----------------------------------------33+44+(c) 2007 Timur Tabi <timur at freescale.com>,55+ Freescale Semiconductor66+77+Table of Contents88+=================99+1010+ I - Software License for Firmware1111+1212+ II - Microcode Availability1313+1414+ III - Description and Terminology1515+1616+ IV - Microcode Programming Details1717+1818+ V - Firmware Structure Layout1919+2020+ VI - Sample Code for Creating Firmware Files2121+2222+Revision Information2323+====================2424+2525+November 30, 2007: Rev 1.0 - Initial version2626+2727+I - Software License for Firmware2828+=================================2929+3030+Each firmware file comes with its own software license. For information on3131+the particular license, please see the license text that is distributed with3232+the firmware.3333+3434+II - Microcode Availability3535+===========================3636+3737+Firmware files are distributed through various channels. Some are available on3838+http://opensource.freescale.com. For other firmware files, please contact3939+your Freescale representative or your operating system vendor.4040+4141+III - Description and Terminology4242+================================4343+4444+In this document, the term 'microcode' refers to the sequence of 32-bit4545+integers that compose the actual QE microcode.4646+4747+The term 'firmware' refers to a binary blob that contains the microcode as4848+well as other data that4949+5050+ 1) describes the microcode's purpose5151+ 2) describes how and where to upload the microcode5252+ 3) specifies the values of various registers5353+ 4) includes additional data for use by specific device drivers5454+5555+Firmware files are binary files that contain only a firmware.5656+5757+IV - Microcode Programming Details5858+===================================5959+6060+The QE architecture allows for only one microcode present in I-RAM for each6161+RISC processor. To replace any current microcode, a full QE reset (which6262+disables the microcode) must be performed first.6363+6464+QE microcode is uploaded using the following procedure:6565+6666+1) The microcode is placed into I-RAM at a specific location, using the6767+ IRAM.IADD and IRAM.IDATA registers.6868+6969+2) The CERCR.CIR bit is set to 0 or 1, depending on whether the firmware7070+ needs split I-RAM. Split I-RAM is only meaningful for SOCs that have7171+ QEs with multiple RISC processors, such as the 8360. Splitting the I-RAM7272+ allows each processor to run a different microcode, effectively creating an7373+ asymmetric multiprocessing (AMP) system.7474+7575+3) The TIBCR trap registers are loaded with the addresses of the trap handlers7676+ in the microcode.7777+7878+4) The RSP.ECCR register is programmed with the value provided.7979+8080+5) If necessary, device drivers that need the virtual traps and extended mode8181+ data will use them.8282+8383+Virtual Microcode Traps8484+8585+These virtual traps are conditional branches in the microcode. These are8686+"soft" provisional introduced in the ROMcode in order to enable higher8787+flexibility and save h/w traps If new features are activated or an issue is8888+being fixed in the RAM package utilizing they should be activated. This data8989+structure signals the microcode which of these virtual traps is active.9090+9191+This structure contains 6 words that the application should copy to some9292+specific been defined. This table describes the structure.9393+9494+ ---------------------------------------------------------------9595+ | Offset in | | Destination Offset | Size of |9696+ | array | Protocol | within PRAM | Operand |9797+ --------------------------------------------------------------|9898+ | 0 | Ethernet | 0xF8 | 4 bytes |9999+ | | interworking | | |100100+ ---------------------------------------------------------------101101+ | 4 | ATM | 0xF8 | 4 bytes |102102+ | | interworking | | |103103+ ---------------------------------------------------------------104104+ | 8 | PPP | 0xF8 | 4 bytes |105105+ | | interworking | | |106106+ ---------------------------------------------------------------107107+ | 12 | Ethernet RX | 0x22 | 1 byte |108108+ | | Distributor Page | | |109109+ ---------------------------------------------------------------110110+ | 16 | ATM Globtal | 0x28 | 1 byte |111111+ | | Params Table | | |112112+ ---------------------------------------------------------------113113+ | 20 | Insert Frame | 0xF8 | 4 bytes |114114+ ---------------------------------------------------------------115115+116116+117117+Extended Modes118118+119119+This is a double word bit array (64 bits) that defines special functionality120120+which has an impact on the softwarew drivers. Each bit has its own impact121121+and has special instructions for the s/w associated with it. This structure is122122+described in this table:123123+124124+ -----------------------------------------------------------------------125125+ | Bit # | Name | Description |126126+ -----------------------------------------------------------------------127127+ | 0 | General | Indicates that prior to each host command |128128+ | | push command | given by the application, the software must |129129+ | | | assert a special host command (push command)|130130+ | | | CECDR = 0x00800000. |131131+ | | | CECR = 0x01c1000f. |132132+ -----------------------------------------------------------------------133133+ | 1 | UCC ATM | Indicates that after issuing ATM RX INIT |134134+ | | RX INIT | command, the host must issue another special|135135+ | | push command | command (push command) and immediately |136136+ | | | following that re-issue the ATM RX INIT |137137+ | | | command. (This makes the sequence of |138138+ | | | initializing the ATM receiver a sequence of |139139+ | | | three host commands) |140140+ | | | CECDR = 0x00800000. |141141+ | | | CECR = 0x01c1000f. |142142+ -----------------------------------------------------------------------143143+ | 2 | Add/remove | Indicates that following the specific host |144144+ | | command | command: "Add/Remove entry in Hash Lookup |145145+ | | validation | Table" used in Interworking setup, the user |146146+ | | | must issue another command. |147147+ | | | CECDR = 0xce000003. |148148+ | | | CECR = 0x01c10f58. |149149+ -----------------------------------------------------------------------150150+ | 3 | General push | Indicates that the s/w has to initialize |151151+ | | command | some pointers in the Ethernet thread pages |152152+ | | | which are used when Header Compression is |153153+ | | | activated. The full details of these |154154+ | | | pointers is located in the software drivers.|155155+ -----------------------------------------------------------------------156156+ | 4 | General push | Indicates that after issuing Ethernet TX |157157+ | | command | INIT command, user must issue this command |158158+ | | | for each SNUM of Ethernet TX thread. |159159+ | | | CECDR = 0x00800003. |160160+ | | | CECR = 0x7'b{0}, 8'b{Enet TX thread SNUM}, |161161+ | | | 1'b{1}, 12'b{0}, 4'b{1} |162162+ -----------------------------------------------------------------------163163+ | 5 - 31 | N/A | Reserved, set to zero. |164164+ -----------------------------------------------------------------------165165+166166+V - Firmware Structure Layout167167+==============================168168+169169+QE microcode from Freescale is typically provided as a header file. This170170+header file contains macros that define the microcode binary itself as well as171171+some other data used in uploading that microcode. The format of these files172172+do not lend themselves to simple inclusion into other code. Hence,173173+the need for a more portable format. This section defines that format.174174+175175+Instead of distributing a header file, the microcode and related data are176176+embedded into a binary blob. This blob is passed to the qe_upload_firmware()177177+function, which parses the blob and performs everything necessary to upload178178+the microcode.179179+180180+All integers are big-endian. See the comments for function181181+qe_upload_firmware() for up-to-date implementation information.182182+183183+This structure supports versioning, where the version of the structure is184184+embedded into the structure itself. To ensure forward and backwards185185+compatibility, all versions of the structure must use the same 'qe_header'186186+structure at the beginning.187187+188188+'header' (type: struct qe_header):189189+ The 'length' field is the size, in bytes, of the entire structure,190190+ including all the microcode embedded in it, as well as the CRC (if191191+ present).192192+193193+ The 'magic' field is an array of three bytes that contains the letters194194+ 'Q', 'E', and 'F'. This is an identifier that indicates that this195195+ structure is a QE Firmware structure.196196+197197+ The 'version' field is a single byte that indicates the version of this198198+ structure. If the layout of the structure should ever need to be199199+ changed to add support for additional types of microcode, then the200200+ version number should also be changed.201201+202202+The 'id' field is a null-terminated string(suitable for printing) that203203+identifies the firmware.204204+205205+The 'count' field indicates the number of 'microcode' structures. There206206+must be one and only one 'microcode' structure for each RISC processor.207207+Therefore, this field also represents the number of RISC processors for this208208+SOC.209209+210210+The 'soc' structure contains the SOC numbers and revisions used to match211211+the microcode to the SOC itself. Normally, the microcode loader should212212+check the data in this structure with the SOC number and revisions, and213213+only upload the microcode if there's a match. However, this check is not214214+made on all platforms.215215+216216+Although it is not recommended, you can specify '0' in the soc.model217217+field to skip matching SOCs altogether.218218+219219+The 'model' field is a 16-bit number that matches the actual SOC. The220220+'major' and 'minor' fields are the major and minor revision numbrs,221221+respectively, of the SOC.222222+223223+For example, to match the 8323, revision 1.0:224224+ soc.model = 8323225225+ soc.major = 1226226+ soc.minor = 0227227+228228+'padding' is neccessary for structure alignment. This field ensures that the229229+'extended_modes' field is aligned on a 64-bit boundary.230230+231231+'extended_modes' is a bitfield that defines special functionality which has an232232+impact on the device drivers. Each bit has its own impact and has special233233+instructions for the driver associated with it. This field is stored in234234+the QE library and available to any driver that calles qe_get_firmware_info().235235+236236+'vtraps' is an array of 8 words that contain virtual trap values for each237237+virtual traps. As with 'extended_modes', this field is stored in the QE238238+library and available to any driver that calles qe_get_firmware_info().239239+240240+'microcode' (type: struct qe_microcode):241241+ For each RISC processor there is one 'microcode' structure. The first242242+ 'microcode' structure is for the first RISC, and so on.243243+244244+ The 'id' field is a null-terminated string suitable for printing that245245+ identifies this particular microcode.246246+247247+ 'traps' is an array of 16 words that contain hardware trap values248248+ for each of the 16 traps. If trap[i] is 0, then this particular249249+ trap is to be ignored (i.e. not written to TIBCR[i]). The entire value250250+ is written as-is to the TIBCR[i] register, so be sure to set the EN251251+ and T_IBP bits if necessary.252252+253253+ 'eccr' is the value to program into the ECCR register.254254+255255+ 'iram_offset' is the offset into IRAM to start writing the256256+ microcode.257257+258258+ 'count' is the number of 32-bit words in the microcode.259259+260260+ 'code_offset' is the offset, in bytes, from the beginning of this261261+ structure where the microcode itself can be found. The first262262+ microcode binary should be located immediately after the 'microcode'263263+ array.264264+265265+ 'major', 'minor', and 'revision' are the major, minor, and revision266266+ version numbers, respectively, of the microcode. If all values are 0,267267+ then these fields are ignored.268268+269269+ 'reserved' is necessary for structure alignment. Since 'microcode'270270+ is an array, the 64-bit 'extended_modes' field needs to be aligned271271+ on a 64-bit boundary, and this can only happen if the size of272272+ 'microcode' is a multiple of 8 bytes. To ensure that, we add273273+ 'reserved'.274274+275275+After the last microcode is a 32-bit CRC. It can be calculated using276276+this algorithm:277277+278278+u32 crc32(const u8 *p, unsigned int len)279279+{280280+ unsigned int i;281281+ u32 crc = 0;282282+283283+ while (len--) {284284+ crc ^= *p++;285285+ for (i = 0; i < 8; i++)286286+ crc = (crc >> 1) ^ ((crc & 1) ? 0xedb88320 : 0);287287+ }288288+ return crc;289289+}290290+291291+VI - Sample Code for Creating Firmware Files292292+============================================293293+294294+A Python program that creates firmware binaries from the header files normally295295+distributed by Freescale can be found on http://opensource.freescale.com.
+3
arch/powerpc/Kconfig
···140140 Used to allow a board to specify it wants a uImage built by default141141 default n142142143143+config REDBOOT144144+ bool145145+143146config PPC64_SWSUSP144147 bool145148 depends on PPC64 && (BROKEN || (PPC_PMAC64 && EXPERIMENTAL))
···11+/*22+ * Old U-boot compatibility for 824x33+ *44+ * Copyright (c) 2007 Freescale Semiconductor, Inc.55+ *66+ * This program is free software; you can redistribute it and/or modify it77+ * under the terms of the GNU General Public License version 2 as published88+ * by the Free Software Foundation.99+ */1010+1111+#include "ops.h"1212+#include "stdio.h"1313+#include "cuboot.h"1414+1515+#define TARGET_824x1616+#include "ppcboot.h"1717+1818+static bd_t bd;1919+2020+2121+static void platform_fixups(void)2222+{2323+ void *soc;2424+2525+ dt_fixup_memory(bd.bi_memstart, bd.bi_memsize);2626+ dt_fixup_mac_addresses(bd.bi_enetaddr);2727+ dt_fixup_cpu_clocks(bd.bi_intfreq, bd.bi_busfreq / 4, bd.bi_busfreq);2828+2929+ soc = find_node_by_devtype(NULL, "soc");3030+ if (soc) {3131+ void *serial = NULL;3232+3333+ setprop(soc, "bus-frequency", &bd.bi_busfreq,3434+ sizeof(bd.bi_busfreq));3535+3636+ while ((serial = find_node_by_devtype(serial, "serial"))) {3737+ if (get_parent(serial) != soc)3838+ continue;3939+4040+ setprop(serial, "clock-frequency", &bd.bi_busfreq,4141+ sizeof(bd.bi_busfreq));4242+ }4343+ }4444+}4545+4646+void platform_init(unsigned long r3, unsigned long r4, unsigned long r5,4747+ unsigned long r6, unsigned long r7)4848+{4949+ CUBOOT_INIT();5050+ fdt_init(_dtb_start);5151+ serial_console_init();5252+ platform_ops.fixups = platform_fixups;5353+}
+2-1
arch/powerpc/boot/cuboot-83xx.c
···2424 void *soc;25252626 dt_fixup_memory(bd.bi_memstart, bd.bi_memsize);2727- dt_fixup_mac_addresses(bd.bi_enetaddr, bd.bi_enet1addr);2727+ dt_fixup_mac_address_by_alias("ethernet0", bd.bi_enetaddr);2828+ dt_fixup_mac_address_by_alias("ethernet1", bd.bi_enet1addr);2829 dt_fixup_cpu_clocks(bd.bi_intfreq, bd.bi_busfreq / 4, bd.bi_busfreq);29303031 /* Unfortunately, the specific model number is encoded in the
+3-2
arch/powerpc/boot/cuboot-85xx.c
···2424 void *soc;25252626 dt_fixup_memory(bd.bi_memstart, bd.bi_memsize);2727- dt_fixup_mac_addresses(bd.bi_enetaddr, bd.bi_enet1addr,2828- bd.bi_enet2addr);2727+ dt_fixup_mac_address_by_alias("ethernet0", bd.bi_enetaddr);2828+ dt_fixup_mac_address_by_alias("ethernet1", bd.bi_enet1addr);2929+ dt_fixup_mac_address_by_alias("ethernet2", bd.bi_enet2addr);2930 dt_fixup_cpu_clocks(bd.bi_intfreq, bd.bi_busfreq / 8, bd.bi_busfreq);30313132 /* Unfortunately, the specific model number is encoded in the
···77 * under the terms of the GNU General Public License as published by the88 * Free Software Foundation; either version 2 of the License, or (at your99 * option) any later version.1010+1111+ * To enable external serial I/O on a Freescale MPC 8323 SYS/MDS board, do1212+ * this:1313+ *1414+ * 1) On chip U61, lift (disconnect) pins 21 (TXD) and 22 (RXD) from the board.1515+ * 2) Solder a wire from U61-21 to P19A-23. P19 is a grid of pins on the board1616+ * next to the serial ports.1717+ * 3) Solder a wire from U61-22 to P19K-22.1818+ *1919+ * Note that there's a typo in the schematic. The board labels the last column2020+ * of pins "P19K", but in the schematic, that column is called "P19J". So if2121+ * you're going by the schematic, the pin is called "P19J-K22".1022 */11231224/ {···181169 1 1e 1 0 1 0 /* TX_EN */182170 1 1f 2 0 1 0>;/* CRS */183171 };172172+ pio5: ucc_pin@05 {173173+ pio-map = <174174+ /*175175+ * open has176176+ * port pin dir drain sel irq177177+ */178178+ 2 0 1 0 2 0 /* TxD5 */179179+ 2 8 2 0 2 0 /* RxD5 */180180+181181+ 2 1d 2 0 0 0 /* CTS5 */182182+ 2 1f 1 0 2 0 /* RTS5 */183183+184184+ 2 18 2 0 0 0 /* CD */185185+186186+ >;187187+ };188188+184189 };185190 };186191···205176 #address-cells = <1>;206177 #size-cells = <1>;207178 device_type = "qe";179179+ compatible = "fsl,qe";208180 model = "QE";209181 ranges = <0 e0100000 00100000>;210182 reg = <e0100000 480>;···240210 };241211242212 usb@6c0 {243243- device_type = "usb";244213 compatible = "qe_udc";245214 reg = <6c0 40 8B00 100>;246215 interrupts = <b>;···278249 phy-handle = < &phy4 >;279250 pio-handle = < &pio4 >;280251 };252252+253253+ ucc@2400 {254254+ device_type = "serial";255255+ compatible = "ucc_uart";256256+ model = "UCC";257257+ device-id = <5>; /* The UCC number, 1-7*/258258+ port-number = <0>; /* Which ttyQEx device */259259+ soft-uart; /* We need Soft-UART */260260+ reg = <2400 200>;261261+ interrupts = <28>; /* From Table 18-12 */262262+ interrupt-parent = < &qeic >;263263+ /*264264+ * For Soft-UART, we need to set TX to 1X, which265265+ * means specifying separate clock sources.266266+ */267267+ rx-clock-name = "brg5";268268+ tx-clock-name = "brg6";269269+ pio-handle = < &pio5 >;270270+ };271271+281272282273 mdio@2320 {283274 #address-cells = <1>;
···11+/*22+ * Embedded Planet EP8248E with PlanetCore firmware33+ *44+ * Author: Scott Wood <scottwood@freescale.com>55+ *66+ * Copyright (c) 2007 Freescale Semiconductor, Inc.77+ *88+ * This program is free software; you can redistribute it and/or modify it99+ * under the terms of the GNU General Public License version 2 as published1010+ * by the Free Software Foundation.1111+ */1212+1313+#include "ops.h"1414+#include "stdio.h"1515+#include "planetcore.h"1616+#include "pq2.h"1717+1818+static char *table;1919+static u64 mem_size;2020+2121+#include <io.h>2222+2323+static void platform_fixups(void)2424+{2525+ u64 val;2626+2727+ dt_fixup_memory(0, mem_size);2828+ planetcore_set_mac_addrs(table);2929+3030+ if (!planetcore_get_decimal(table, PLANETCORE_KEY_CRYSTAL_HZ, &val)) {3131+ printf("No PlanetCore crystal frequency key.\r\n");3232+ return;3333+ }3434+3535+ pq2_fixup_clocks(val);3636+}3737+3838+void platform_init(unsigned long r3, unsigned long r4, unsigned long r5,3939+ unsigned long r6, unsigned long r7)4040+{4141+ table = (char *)r3;4242+ planetcore_prepare_table(table);4343+4444+ if (!planetcore_get_decimal(table, PLANETCORE_KEY_MB_RAM, &mem_size))4545+ return;4646+4747+ mem_size *= 1024 * 1024;4848+ simple_alloc_init(_end, mem_size - (unsigned long)_end, 32, 64);4949+5050+ fdt_init(_dtb_start);5151+5252+ planetcore_set_stdout_path(table);5353+ serial_console_init();5454+ platform_ops.fixups = platform_fixups;5555+}
···11+/*22+ * RedBoot firmware support33+ *44+ * Author: Scott Wood <scottwood@freescale.com>55+ *66+ * Copyright (c) 2007 Freescale Semiconductor, Inc.77+ *88+ * This program is free software; you can redistribute it and/or modify it99+ * under the terms of the GNU General Public License version 2 as published1010+ * by the Free Software Foundation.1111+ */1212+1313+#include "ops.h"1414+#include "stdio.h"1515+#include "redboot.h"1616+#include "fsl-soc.h"1717+#include "io.h"1818+1919+static bd_t bd;2020+BSS_STACK(4096);2121+2222+#define MHZ(x) ((x + 500000) / 1000000)2323+2424+static void platform_fixups(void)2525+{2626+ void *node;2727+2828+ dt_fixup_memory(bd.bi_memstart, bd.bi_memsize);2929+ dt_fixup_mac_addresses(bd.bi_enetaddr);3030+ dt_fixup_cpu_clocks(bd.bi_intfreq, bd.bi_busfreq / 16, bd.bi_busfreq);3131+3232+ node = finddevice("/soc/cpm/brg");3333+ if (node) {3434+ printf("BRG clock-frequency <- 0x%x (%dMHz)\r\n",3535+ bd.bi_busfreq, MHZ(bd.bi_busfreq));3636+ setprop(node, "clock-frequency", &bd.bi_busfreq, 4);3737+ }3838+}3939+4040+void platform_init(unsigned long r3, unsigned long r4, unsigned long r5,4141+ unsigned long r6, unsigned long r7)4242+{4343+ memcpy(&bd, (char *)r3, sizeof(bd));4444+4545+ if (bd.bi_tag != 0x42444944)4646+ return;4747+4848+ simple_alloc_init(_end,4949+ bd.bi_memstart + bd.bi_memsize - (unsigned long)_end,5050+ 32, 64);5151+5252+ fdt_init(_dtb_start);5353+ serial_console_init();5454+ platform_ops.fixups = platform_fixups;5555+5656+ loader_info.cmdline = (char *)bd.bi_cmdline;5757+ loader_info.cmdline_len = strlen((char *)bd.bi_cmdline);5858+}
+56
arch/powerpc/boot/redboot.h
···11+#ifndef _PPC_REDBOOT_H22+#define _PPC_REDBOOT_H33+44+//=========================================================================55+// include/asm-ppc/redboot.h66+// Copyright (c) 2002, 2003 Gary Thomas (<gary@mlbassoc.com>77+// Copyright (c) 1997 Dan Malek (dmalek@jlc.net)88+99+//1010+// Board specific details, as provided by RedBoot1111+//1212+1313+/* A Board Information structure that is given to a program when1414+ * RedBoot starts it up. Note: not all fields make sense for all1515+ * architectures and it's up to the platform specific code to fill1616+ * in the details.1717+ */1818+typedef struct bd_info {1919+ unsigned int bi_tag; /* Should be 0x42444944 "BDID" */2020+ unsigned int bi_size; /* Size of this structure */2121+ unsigned int bi_revision; /* revision of this structure */2222+ unsigned int bi_bdate; /* bootstrap date, i.e. 0x19971106 */2323+ unsigned int bi_memstart; /* Memory start address */2424+ unsigned int bi_memsize; /* Memory (end) size in bytes */2525+ unsigned int bi_intfreq; /* Internal Freq, in Hz */2626+ unsigned int bi_busfreq; /* Bus Freq, in Hz */2727+ unsigned int bi_cpmfreq; /* CPM Freq, in Hz */2828+ unsigned int bi_brgfreq; /* BRG Freq, in Hz */2929+ unsigned int bi_vco; /* VCO Out from PLL */3030+ unsigned int bi_pci_freq; /* PCI Freq, in Hz */3131+ unsigned int bi_baudrate; /* Default console baud rate */3232+ unsigned int bi_immr; /* IMMR when called from boot rom */3333+ unsigned char bi_enetaddr[6];3434+ unsigned int bi_flashbase; /* Physical address of FLASH memory */3535+ unsigned int bi_flashsize; /* Length of FLASH memory */3636+ int bi_flashwidth; /* Width (8,16,32,64) */3737+ unsigned char *bi_cmdline; /* Pointer to command line */3838+ unsigned char bi_esa[3][6]; /* Ethernet station addresses */3939+ unsigned int bi_ramdisk_begin, bi_ramdisk_end;4040+ struct { /* Information about [main] video screen */4141+ short x_res; /* Horizontal resolution in pixels */4242+ short y_res; /* Vertical resolution in pixels */4343+ short bpp; /* Bits/pixel */4444+ short mode; /* Type of pixels (packed, indexed) */4545+ unsigned long fb; /* Pointer to frame buffer (pixel) memory */4646+ } bi_video;4747+ void (*bi_cputc)(char); /* Write a character to the RedBoot console */4848+ char (*bi_cgetc)(void); /* Read a character from the RedBoot console */4949+ int (*bi_ctstc)(void); /* Test for input on the RedBoot console */5050+} bd_t;5151+5252+#define BI_REV 0x0102 /* Version 1.02 */5353+5454+#define bi_pci_busfreq bi_pci_freq5555+#define bi_immr_base bi_immr5656+#endif
···11+#22+# Automatically generated make config: don't edit33+# Linux kernel version: 2.6.24-rc644+# Thu Jan 17 16:17:38 200855+#66+# CONFIG_PPC64 is not set77+88+#99+# Processor support1010+#1111+# CONFIG_6xx is not set1212+# CONFIG_PPC_85xx is not set1313+CONFIG_PPC_8xx=y1414+# CONFIG_40x is not set1515+# CONFIG_44x is not set1616+# CONFIG_E200 is not set1717+CONFIG_8xx=y1818+# CONFIG_PPC_MM_SLICES is not set1919+CONFIG_NOT_COHERENT_CACHE=y2020+CONFIG_PPC32=y2121+CONFIG_WORD_SIZE=322222+CONFIG_PPC_MERGE=y2323+CONFIG_MMU=y2424+CONFIG_GENERIC_CMOS_UPDATE=y2525+CONFIG_GENERIC_TIME=y2626+CONFIG_GENERIC_TIME_VSYSCALL=y2727+CONFIG_GENERIC_CLOCKEVENTS=y2828+CONFIG_GENERIC_HARDIRQS=y2929+CONFIG_IRQ_PER_CPU=y3030+CONFIG_RWSEM_XCHGADD_ALGORITHM=y3131+CONFIG_ARCH_HAS_ILOG2_U32=y3232+CONFIG_GENERIC_HWEIGHT=y3333+CONFIG_GENERIC_CALIBRATE_DELAY=y3434+CONFIG_GENERIC_FIND_NEXT_BIT=y3535+# CONFIG_ARCH_NO_VIRT_TO_BUS is not set3636+CONFIG_PPC=y3737+CONFIG_EARLY_PRINTK=y3838+CONFIG_GENERIC_NVRAM=y3939+CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y4040+CONFIG_ARCH_MAY_HAVE_PC_FDC=y4141+CONFIG_PPC_OF=y4242+CONFIG_OF=y4343+# CONFIG_PPC_UDBG_16550 is not set4444+# CONFIG_GENERIC_TBSYNC is not set4545+CONFIG_AUDIT_ARCH=y4646+CONFIG_GENERIC_BUG=y4747+# CONFIG_DEFAULT_UIMAGE is not set4848+CONFIG_REDBOOT=y4949+# CONFIG_PPC_DCR_NATIVE is not set5050+# CONFIG_PPC_DCR_MMIO is not set5151+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"5252+5353+#5454+# General setup5555+#5656+CONFIG_EXPERIMENTAL=y5757+CONFIG_BROKEN_ON_SMP=y5858+CONFIG_INIT_ENV_ARG_LIMIT=325959+CONFIG_LOCALVERSION=""6060+CONFIG_LOCALVERSION_AUTO=y6161+# CONFIG_SWAP is not set6262+CONFIG_SYSVIPC=y6363+CONFIG_SYSVIPC_SYSCTL=y6464+# CONFIG_POSIX_MQUEUE is not set6565+# CONFIG_BSD_PROCESS_ACCT is not set6666+# CONFIG_TASKSTATS is not set6767+# CONFIG_USER_NS is not set6868+# CONFIG_PID_NS is not set6969+# CONFIG_AUDIT is not set7070+# CONFIG_IKCONFIG is not set7171+CONFIG_LOG_BUF_SHIFT=147272+# CONFIG_CGROUPS is not set7373+CONFIG_FAIR_GROUP_SCHED=y7474+CONFIG_FAIR_USER_SCHED=y7575+# CONFIG_FAIR_CGROUP_SCHED is not set7676+CONFIG_SYSFS_DEPRECATED=y7777+# CONFIG_RELAY is not set7878+# CONFIG_BLK_DEV_INITRD is not set7979+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set8080+CONFIG_SYSCTL=y8181+CONFIG_EMBEDDED=y8282+# CONFIG_SYSCTL_SYSCALL is not set8383+CONFIG_KALLSYMS=y8484+# CONFIG_KALLSYMS_ALL is not set8585+# CONFIG_KALLSYMS_EXTRA_PASS is not set8686+CONFIG_HOTPLUG=y8787+CONFIG_PRINTK=y8888+CONFIG_BUG=y8989+# CONFIG_ELF_CORE is not set9090+# CONFIG_BASE_FULL is not set9191+# CONFIG_FUTEX is not set9292+CONFIG_ANON_INODES=y9393+CONFIG_EPOLL=y9494+CONFIG_SIGNALFD=y9595+CONFIG_EVENTFD=y9696+CONFIG_SHMEM=y9797+# CONFIG_VM_EVENT_COUNTERS is not set9898+CONFIG_SLUB_DEBUG=y9999+# CONFIG_SLAB is not set100100+CONFIG_SLUB=y101101+# CONFIG_SLOB is not set102102+# CONFIG_TINY_SHMEM is not set103103+CONFIG_BASE_SMALL=1104104+# CONFIG_MODULES is not set105105+CONFIG_BLOCK=y106106+# CONFIG_LBD is not set107107+# CONFIG_BLK_DEV_IO_TRACE is not set108108+# CONFIG_LSF is not set109109+# CONFIG_BLK_DEV_BSG is not set110110+111111+#112112+# IO Schedulers113113+#114114+CONFIG_IOSCHED_NOOP=y115115+# CONFIG_IOSCHED_AS is not set116116+CONFIG_IOSCHED_DEADLINE=y117117+# CONFIG_IOSCHED_CFQ is not set118118+# CONFIG_DEFAULT_AS is not set119119+CONFIG_DEFAULT_DEADLINE=y120120+# CONFIG_DEFAULT_CFQ is not set121121+# CONFIG_DEFAULT_NOOP is not set122122+CONFIG_DEFAULT_IOSCHED="deadline"123123+124124+#125125+# Platform support126126+#127127+# CONFIG_PPC_MPC52xx is not set128128+# CONFIG_PPC_MPC5200 is not set129129+# CONFIG_PPC_CELL is not set130130+# CONFIG_PPC_CELL_NATIVE is not set131131+CONFIG_CPM1=y132132+# CONFIG_MPC8XXFADS is not set133133+# CONFIG_MPC86XADS is not set134134+# CONFIG_MPC885ADS is not set135135+# CONFIG_PPC_EP88XC is not set136136+CONFIG_PPC_ADDER875=y137137+138138+#139139+# MPC8xx CPM Options140140+#141141+142142+#143143+# Generic MPC8xx Options144144+#145145+CONFIG_8xx_COPYBACK=y146146+# CONFIG_8xx_CPU6 is not set147147+CONFIG_8xx_CPU15=y148148+CONFIG_NO_UCODE_PATCH=y149149+# CONFIG_USB_SOF_UCODE_PATCH is not set150150+# CONFIG_I2C_SPI_UCODE_PATCH is not set151151+# CONFIG_I2C_SPI_SMC1_UCODE_PATCH is not set152152+# CONFIG_PQ2ADS is not set153153+# CONFIG_MPIC is not set154154+# CONFIG_MPIC_WEIRD is not set155155+# CONFIG_PPC_I8259 is not set156156+# CONFIG_PPC_RTAS is not set157157+# CONFIG_MMIO_NVRAM is not set158158+# CONFIG_PPC_MPC106 is not set159159+# CONFIG_PPC_970_NAP is not set160160+# CONFIG_PPC_INDIRECT_IO is not set161161+# CONFIG_GENERIC_IOMAP is not set162162+# CONFIG_CPU_FREQ is not set163163+# CONFIG_CPM2 is not set164164+CONFIG_PPC_CPM_NEW_BINDING=y165165+# CONFIG_FSL_ULI1575 is not set166166+CONFIG_CPM=y167167+168168+#169169+# Kernel options170170+#171171+# CONFIG_HIGHMEM is not set172172+# CONFIG_TICK_ONESHOT is not set173173+# CONFIG_NO_HZ is not set174174+# CONFIG_HIGH_RES_TIMERS is not set175175+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y176176+# CONFIG_HZ_100 is not set177177+# CONFIG_HZ_250 is not set178178+# CONFIG_HZ_300 is not set179179+CONFIG_HZ_1000=y180180+CONFIG_HZ=1000181181+CONFIG_PREEMPT_NONE=y182182+# CONFIG_PREEMPT_VOLUNTARY is not set183183+# CONFIG_PREEMPT is not set184184+CONFIG_BINFMT_ELF=y185185+# CONFIG_BINFMT_MISC is not set186186+# CONFIG_MATH_EMULATION is not set187187+# CONFIG_8XX_MINIMAL_FPEMU is not set188188+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y189189+CONFIG_ARCH_FLATMEM_ENABLE=y190190+CONFIG_ARCH_POPULATES_NODE_MAP=y191191+CONFIG_SELECT_MEMORY_MODEL=y192192+CONFIG_FLATMEM_MANUAL=y193193+# CONFIG_DISCONTIGMEM_MANUAL is not set194194+# CONFIG_SPARSEMEM_MANUAL is not set195195+CONFIG_FLATMEM=y196196+CONFIG_FLAT_NODE_MEM_MAP=y197197+# CONFIG_SPARSEMEM_STATIC is not set198198+# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set199199+CONFIG_SPLIT_PTLOCK_CPUS=4200200+# CONFIG_RESOURCES_64BIT is not set201201+CONFIG_ZONE_DMA_FLAG=1202202+CONFIG_BOUNCE=y203203+CONFIG_VIRT_TO_BUS=y204204+# CONFIG_PROC_DEVICETREE is not set205205+# CONFIG_CMDLINE_BOOL is not set206206+# CONFIG_PM is not set207207+CONFIG_SUSPEND_UP_POSSIBLE=y208208+CONFIG_HIBERNATION_UP_POSSIBLE=y209209+# CONFIG_SECCOMP is not set210210+CONFIG_WANT_DEVICE_TREE=y211211+CONFIG_DEVICE_TREE="adder875-redboot.dts"212212+CONFIG_ISA_DMA_API=y213213+214214+#215215+# Bus options216216+#217217+CONFIG_ZONE_DMA=y218218+CONFIG_FSL_SOC=y219219+# CONFIG_PCI is not set220220+# CONFIG_PCI_DOMAINS is not set221221+# CONFIG_PCI_SYSCALL is not set222222+# CONFIG_PCI_QSPAN is not set223223+# CONFIG_ARCH_SUPPORTS_MSI is not set224224+# CONFIG_PCCARD is not set225225+226226+#227227+# Advanced setup228228+#229229+# CONFIG_ADVANCED_OPTIONS is not set230230+231231+#232232+# Default settings for advanced configuration options are used233233+#234234+CONFIG_HIGHMEM_START=0xfe000000235235+CONFIG_LOWMEM_SIZE=0x30000000236236+CONFIG_KERNEL_START=0xc0000000237237+CONFIG_TASK_SIZE=0x80000000238238+CONFIG_CONSISTENT_START=0xfd000000239239+CONFIG_CONSISTENT_SIZE=0x00200000240240+CONFIG_BOOT_LOAD=0x00400000241241+242242+#243243+# Networking244244+#245245+CONFIG_NET=y246246+247247+#248248+# Networking options249249+#250250+CONFIG_PACKET=y251251+# CONFIG_PACKET_MMAP is not set252252+CONFIG_UNIX=y253253+# CONFIG_NET_KEY is not set254254+CONFIG_INET=y255255+CONFIG_IP_MULTICAST=y256256+# CONFIG_IP_ADVANCED_ROUTER is not set257257+CONFIG_IP_FIB_HASH=y258258+CONFIG_IP_PNP=y259259+# CONFIG_IP_PNP_DHCP is not set260260+# CONFIG_IP_PNP_BOOTP is not set261261+# CONFIG_IP_PNP_RARP is not set262262+# CONFIG_NET_IPIP is not set263263+# CONFIG_NET_IPGRE is not set264264+# CONFIG_IP_MROUTE is not set265265+# CONFIG_ARPD is not set266266+CONFIG_SYN_COOKIES=y267267+# CONFIG_INET_AH is not set268268+# CONFIG_INET_ESP is not set269269+# CONFIG_INET_IPCOMP is not set270270+# CONFIG_INET_XFRM_TUNNEL is not set271271+# CONFIG_INET_TUNNEL is not set272272+# CONFIG_INET_XFRM_MODE_TRANSPORT is not set273273+# CONFIG_INET_XFRM_MODE_TUNNEL is not set274274+# CONFIG_INET_XFRM_MODE_BEET is not set275275+# CONFIG_INET_LRO is not set276276+CONFIG_INET_DIAG=y277277+CONFIG_INET_TCP_DIAG=y278278+# CONFIG_TCP_CONG_ADVANCED is not set279279+CONFIG_TCP_CONG_CUBIC=y280280+CONFIG_DEFAULT_TCP_CONG="cubic"281281+# CONFIG_TCP_MD5SIG is not set282282+# CONFIG_IPV6 is not set283283+# CONFIG_INET6_XFRM_TUNNEL is not set284284+# CONFIG_INET6_TUNNEL is not set285285+# CONFIG_NETWORK_SECMARK is not set286286+# CONFIG_NETFILTER is not set287287+# CONFIG_IP_DCCP is not set288288+# CONFIG_IP_SCTP is not set289289+# CONFIG_TIPC is not set290290+# CONFIG_ATM is not set291291+# CONFIG_BRIDGE is not set292292+# CONFIG_VLAN_8021Q is not set293293+# CONFIG_DECNET is not set294294+# CONFIG_LLC2 is not set295295+# CONFIG_IPX is not set296296+# CONFIG_ATALK is not set297297+# CONFIG_X25 is not set298298+# CONFIG_LAPB is not set299299+# CONFIG_ECONET is not set300300+# CONFIG_WAN_ROUTER is not set301301+# CONFIG_NET_SCHED is not set302302+303303+#304304+# Network testing305305+#306306+# CONFIG_NET_PKTGEN is not set307307+# CONFIG_HAMRADIO is not set308308+# CONFIG_IRDA is not set309309+# CONFIG_BT is not set310310+# CONFIG_AF_RXRPC is not set311311+312312+#313313+# Wireless314314+#315315+# CONFIG_CFG80211 is not set316316+# CONFIG_WIRELESS_EXT is not set317317+# CONFIG_MAC80211 is not set318318+# CONFIG_IEEE80211 is not set319319+# CONFIG_RFKILL is not set320320+# CONFIG_NET_9P is not set321321+322322+#323323+# Device Drivers324324+#325325+326326+#327327+# Generic Driver Options328328+#329329+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"330330+CONFIG_STANDALONE=y331331+CONFIG_PREVENT_FIRMWARE_BUILD=y332332+# CONFIG_FW_LOADER is not set333333+# CONFIG_DEBUG_DRIVER is not set334334+# CONFIG_DEBUG_DEVRES is not set335335+# CONFIG_SYS_HYPERVISOR is not set336336+# CONFIG_CONNECTOR is not set337337+CONFIG_MTD=y338338+# CONFIG_MTD_DEBUG is not set339339+# CONFIG_MTD_CONCAT is not set340340+# CONFIG_MTD_PARTITIONS is not set341341+342342+#343343+# User Modules And Translation Layers344344+#345345+CONFIG_MTD_CHAR=y346346+CONFIG_MTD_BLKDEVS=y347347+CONFIG_MTD_BLOCK=y348348+# CONFIG_FTL is not set349349+# CONFIG_NFTL is not set350350+# CONFIG_INFTL is not set351351+# CONFIG_RFD_FTL is not set352352+# CONFIG_SSFDC is not set353353+# CONFIG_MTD_OOPS is not set354354+355355+#356356+# RAM/ROM/Flash chip drivers357357+#358358+CONFIG_MTD_CFI=y359359+# CONFIG_MTD_JEDECPROBE is not set360360+CONFIG_MTD_GEN_PROBE=y361361+# CONFIG_MTD_CFI_ADV_OPTIONS is not set362362+CONFIG_MTD_MAP_BANK_WIDTH_1=y363363+CONFIG_MTD_MAP_BANK_WIDTH_2=y364364+CONFIG_MTD_MAP_BANK_WIDTH_4=y365365+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set366366+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set367367+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set368368+CONFIG_MTD_CFI_I1=y369369+CONFIG_MTD_CFI_I2=y370370+# CONFIG_MTD_CFI_I4 is not set371371+# CONFIG_MTD_CFI_I8 is not set372372+# CONFIG_MTD_CFI_INTELEXT is not set373373+CONFIG_MTD_CFI_AMDSTD=y374374+# CONFIG_MTD_CFI_STAA is not set375375+CONFIG_MTD_CFI_UTIL=y376376+# CONFIG_MTD_RAM is not set377377+# CONFIG_MTD_ROM is not set378378+# CONFIG_MTD_ABSENT is not set379379+380380+#381381+# Mapping drivers for chip access382382+#383383+# CONFIG_MTD_COMPLEX_MAPPINGS is not set384384+# CONFIG_MTD_PHYSMAP is not set385385+CONFIG_MTD_PHYSMAP_OF=y386386+# CONFIG_MTD_CFI_FLAGADM is not set387387+# CONFIG_MTD_PLATRAM is not set388388+389389+#390390+# Self-contained MTD device drivers391391+#392392+# CONFIG_MTD_SLRAM is not set393393+# CONFIG_MTD_PHRAM is not set394394+# CONFIG_MTD_MTDRAM is not set395395+# CONFIG_MTD_BLOCK2MTD is not set396396+397397+#398398+# Disk-On-Chip Device Drivers399399+#400400+# CONFIG_MTD_DOC2000 is not set401401+# CONFIG_MTD_DOC2001 is not set402402+# CONFIG_MTD_DOC2001PLUS is not set403403+# CONFIG_MTD_NAND is not set404404+# CONFIG_MTD_ONENAND is not set405405+406406+#407407+# UBI - Unsorted block images408408+#409409+# CONFIG_MTD_UBI is not set410410+CONFIG_OF_DEVICE=y411411+# CONFIG_PARPORT is not set412412+# CONFIG_BLK_DEV is not set413413+# CONFIG_MISC_DEVICES is not set414414+# CONFIG_IDE is not set415415+416416+#417417+# SCSI device support418418+#419419+# CONFIG_RAID_ATTRS is not set420420+# CONFIG_SCSI is not set421421+# CONFIG_SCSI_DMA is not set422422+# CONFIG_SCSI_NETLINK is not set423423+# CONFIG_ATA is not set424424+# CONFIG_MD is not set425425+# CONFIG_MACINTOSH_DRIVERS is not set426426+CONFIG_NETDEVICES=y427427+# CONFIG_NETDEVICES_MULTIQUEUE is not set428428+# CONFIG_DUMMY is not set429429+# CONFIG_BONDING is not set430430+# CONFIG_MACVLAN is not set431431+# CONFIG_EQUALIZER is not set432432+# CONFIG_TUN is not set433433+# CONFIG_VETH is not set434434+CONFIG_PHYLIB=y435435+436436+#437437+# MII PHY device drivers438438+#439439+# CONFIG_MARVELL_PHY is not set440440+CONFIG_DAVICOM_PHY=y441441+# CONFIG_QSEMI_PHY is not set442442+# CONFIG_LXT_PHY is not set443443+# CONFIG_CICADA_PHY is not set444444+# CONFIG_VITESSE_PHY is not set445445+# CONFIG_SMSC_PHY is not set446446+# CONFIG_BROADCOM_PHY is not set447447+# CONFIG_ICPLUS_PHY is not set448448+# CONFIG_FIXED_PHY is not set449449+# CONFIG_MDIO_BITBANG is not set450450+CONFIG_NET_ETHERNET=y451451+CONFIG_MII=y452452+# CONFIG_IBM_NEW_EMAC_ZMII is not set453453+# CONFIG_IBM_NEW_EMAC_RGMII is not set454454+# CONFIG_IBM_NEW_EMAC_TAH is not set455455+# CONFIG_IBM_NEW_EMAC_EMAC4 is not set456456+# CONFIG_B44 is not set457457+CONFIG_FS_ENET=y458458+# CONFIG_FS_ENET_HAS_SCC is not set459459+CONFIG_FS_ENET_HAS_FEC=y460460+CONFIG_FS_ENET_MDIO_FEC=y461461+# CONFIG_NETDEV_1000 is not set462462+# CONFIG_NETDEV_10000 is not set463463+464464+#465465+# Wireless LAN466466+#467467+# CONFIG_WLAN_PRE80211 is not set468468+# CONFIG_WLAN_80211 is not set469469+# CONFIG_WAN is not set470470+# CONFIG_PPP is not set471471+# CONFIG_SLIP is not set472472+# CONFIG_SHAPER is not set473473+# CONFIG_NETCONSOLE is not set474474+# CONFIG_NETPOLL is not set475475+# CONFIG_NET_POLL_CONTROLLER is not set476476+# CONFIG_ISDN is not set477477+# CONFIG_PHONE is not set478478+479479+#480480+# Input device support481481+#482482+CONFIG_INPUT=y483483+# CONFIG_INPUT_FF_MEMLESS is not set484484+# CONFIG_INPUT_POLLDEV is not set485485+486486+#487487+# Userland interfaces488488+#489489+CONFIG_INPUT_MOUSEDEV=y490490+CONFIG_INPUT_MOUSEDEV_PSAUX=y491491+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024492492+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768493493+# CONFIG_INPUT_JOYDEV is not set494494+# CONFIG_INPUT_EVDEV is not set495495+# CONFIG_INPUT_EVBUG is not set496496+497497+#498498+# Input Device Drivers499499+#500500+CONFIG_INPUT_KEYBOARD=y501501+CONFIG_KEYBOARD_ATKBD=y502502+# CONFIG_KEYBOARD_SUNKBD is not set503503+# CONFIG_KEYBOARD_LKKBD is not set504504+# CONFIG_KEYBOARD_XTKBD is not set505505+# CONFIG_KEYBOARD_NEWTON is not set506506+# CONFIG_KEYBOARD_STOWAWAY is not set507507+CONFIG_INPUT_MOUSE=y508508+CONFIG_MOUSE_PS2=y509509+CONFIG_MOUSE_PS2_ALPS=y510510+CONFIG_MOUSE_PS2_LOGIPS2PP=y511511+CONFIG_MOUSE_PS2_SYNAPTICS=y512512+CONFIG_MOUSE_PS2_LIFEBOOK=y513513+CONFIG_MOUSE_PS2_TRACKPOINT=y514514+# CONFIG_MOUSE_PS2_TOUCHKIT is not set515515+# CONFIG_MOUSE_SERIAL is not set516516+# CONFIG_MOUSE_VSXXXAA is not set517517+# CONFIG_INPUT_JOYSTICK is not set518518+# CONFIG_INPUT_TABLET is not set519519+# CONFIG_INPUT_TOUCHSCREEN is not set520520+# CONFIG_INPUT_MISC is not set521521+522522+#523523+# Hardware I/O ports524524+#525525+CONFIG_SERIO=y526526+CONFIG_SERIO_I8042=y527527+CONFIG_SERIO_SERPORT=y528528+CONFIG_SERIO_LIBPS2=y529529+# CONFIG_SERIO_RAW is not set530530+# CONFIG_GAMEPORT is not set531531+532532+#533533+# Character devices534534+#535535+# CONFIG_VT is not set536536+# CONFIG_SERIAL_NONSTANDARD is not set537537+538538+#539539+# Serial drivers540540+#541541+# CONFIG_SERIAL_8250 is not set542542+543543+#544544+# Non-8250 serial port support545545+#546546+# CONFIG_SERIAL_UARTLITE is not set547547+CONFIG_SERIAL_CORE=y548548+CONFIG_SERIAL_CORE_CONSOLE=y549549+CONFIG_SERIAL_CPM=y550550+CONFIG_SERIAL_CPM_CONSOLE=y551551+# CONFIG_SERIAL_CPM_SCC1 is not set552552+# CONFIG_SERIAL_CPM_SCC2 is not set553553+# CONFIG_SERIAL_CPM_SCC3 is not set554554+# CONFIG_SERIAL_CPM_SCC4 is not set555555+CONFIG_SERIAL_CPM_SMC1=y556556+CONFIG_SERIAL_CPM_SMC2=y557557+CONFIG_UNIX98_PTYS=y558558+# CONFIG_LEGACY_PTYS is not set559559+# CONFIG_IPMI_HANDLER is not set560560+CONFIG_HW_RANDOM=y561561+# CONFIG_NVRAM is not set562562+CONFIG_GEN_RTC=y563563+# CONFIG_GEN_RTC_X is not set564564+# CONFIG_R3964 is not set565565+# CONFIG_RAW_DRIVER is not set566566+# CONFIG_TCG_TPM is not set567567+# CONFIG_I2C is not set568568+569569+#570570+# SPI support571571+#572572+# CONFIG_SPI is not set573573+# CONFIG_SPI_MASTER is not set574574+# CONFIG_W1 is not set575575+# CONFIG_POWER_SUPPLY is not set576576+# CONFIG_HWMON is not set577577+# CONFIG_WATCHDOG is not set578578+579579+#580580+# Sonics Silicon Backplane581581+#582582+CONFIG_SSB_POSSIBLE=y583583+# CONFIG_SSB is not set584584+585585+#586586+# Multifunction device drivers587587+#588588+# CONFIG_MFD_SM501 is not set589589+590590+#591591+# Multimedia devices592592+#593593+# CONFIG_VIDEO_DEV is not set594594+# CONFIG_DVB_CORE is not set595595+CONFIG_DAB=y596596+597597+#598598+# Graphics support599599+#600600+# CONFIG_VGASTATE is not set601601+CONFIG_VIDEO_OUTPUT_CONTROL=y602602+# CONFIG_FB is not set603603+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set604604+605605+#606606+# Display device support607607+#608608+# CONFIG_DISPLAY_SUPPORT is not set609609+610610+#611611+# Sound612612+#613613+# CONFIG_SOUND is not set614614+# CONFIG_HID_SUPPORT is not set615615+# CONFIG_USB_SUPPORT is not set616616+# CONFIG_MMC is not set617617+# CONFIG_NEW_LEDS is not set618618+# CONFIG_EDAC is not set619619+# CONFIG_RTC_CLASS is not set620620+621621+#622622+# Userspace I/O623623+#624624+# CONFIG_UIO is not set625625+626626+#627627+# File systems628628+#629629+# CONFIG_EXT2_FS is not set630630+# CONFIG_EXT3_FS is not set631631+# CONFIG_EXT4DEV_FS is not set632632+# CONFIG_REISERFS_FS is not set633633+# CONFIG_JFS_FS is not set634634+# CONFIG_FS_POSIX_ACL is not set635635+# CONFIG_XFS_FS is not set636636+# CONFIG_GFS2_FS is not set637637+# CONFIG_OCFS2_FS is not set638638+# CONFIG_MINIX_FS is not set639639+# CONFIG_ROMFS_FS is not set640640+# CONFIG_INOTIFY is not set641641+# CONFIG_QUOTA is not set642642+# CONFIG_DNOTIFY is not set643643+# CONFIG_AUTOFS_FS is not set644644+# CONFIG_AUTOFS4_FS is not set645645+# CONFIG_FUSE_FS is not set646646+647647+#648648+# CD-ROM/DVD Filesystems649649+#650650+# CONFIG_ISO9660_FS is not set651651+# CONFIG_UDF_FS is not set652652+653653+#654654+# DOS/FAT/NT Filesystems655655+#656656+# CONFIG_MSDOS_FS is not set657657+# CONFIG_VFAT_FS is not set658658+# CONFIG_NTFS_FS is not set659659+660660+#661661+# Pseudo filesystems662662+#663663+CONFIG_PROC_FS=y664664+# CONFIG_PROC_KCORE is not set665665+CONFIG_PROC_SYSCTL=y666666+CONFIG_SYSFS=y667667+CONFIG_TMPFS=y668668+# CONFIG_TMPFS_POSIX_ACL is not set669669+# CONFIG_HUGETLB_PAGE is not set670670+# CONFIG_CONFIGFS_FS is not set671671+672672+#673673+# Miscellaneous filesystems674674+#675675+# CONFIG_ADFS_FS is not set676676+# CONFIG_AFFS_FS is not set677677+# CONFIG_HFS_FS is not set678678+# CONFIG_HFSPLUS_FS is not set679679+# CONFIG_BEFS_FS is not set680680+# CONFIG_BFS_FS is not set681681+# CONFIG_EFS_FS is not set682682+# CONFIG_JFFS2_FS is not set683683+CONFIG_CRAMFS=y684684+# CONFIG_VXFS_FS is not set685685+# CONFIG_HPFS_FS is not set686686+# CONFIG_QNX4FS_FS is not set687687+# CONFIG_SYSV_FS is not set688688+# CONFIG_UFS_FS is not set689689+CONFIG_NETWORK_FILESYSTEMS=y690690+CONFIG_NFS_FS=y691691+CONFIG_NFS_V3=y692692+# CONFIG_NFS_V3_ACL is not set693693+# CONFIG_NFS_V4 is not set694694+# CONFIG_NFS_DIRECTIO is not set695695+# CONFIG_NFSD is not set696696+CONFIG_ROOT_NFS=y697697+CONFIG_LOCKD=y698698+CONFIG_LOCKD_V4=y699699+CONFIG_NFS_COMMON=y700700+CONFIG_SUNRPC=y701701+# CONFIG_SUNRPC_BIND34 is not set702702+# CONFIG_RPCSEC_GSS_KRB5 is not set703703+# CONFIG_RPCSEC_GSS_SPKM3 is not set704704+# CONFIG_SMB_FS is not set705705+# CONFIG_CIFS is not set706706+# CONFIG_NCP_FS is not set707707+# CONFIG_CODA_FS is not set708708+# CONFIG_AFS_FS is not set709709+710710+#711711+# Partition Types712712+#713713+CONFIG_PARTITION_ADVANCED=y714714+# CONFIG_ACORN_PARTITION is not set715715+# CONFIG_OSF_PARTITION is not set716716+# CONFIG_AMIGA_PARTITION is not set717717+# CONFIG_ATARI_PARTITION is not set718718+# CONFIG_MAC_PARTITION is not set719719+CONFIG_MSDOS_PARTITION=y720720+# CONFIG_BSD_DISKLABEL is not set721721+# CONFIG_MINIX_SUBPARTITION is not set722722+# CONFIG_SOLARIS_X86_PARTITION is not set723723+# CONFIG_UNIXWARE_DISKLABEL is not set724724+# CONFIG_LDM_PARTITION is not set725725+# CONFIG_SGI_PARTITION is not set726726+# CONFIG_ULTRIX_PARTITION is not set727727+# CONFIG_SUN_PARTITION is not set728728+# CONFIG_KARMA_PARTITION is not set729729+# CONFIG_EFI_PARTITION is not set730730+# CONFIG_SYSV68_PARTITION is not set731731+# CONFIG_NLS is not set732732+# CONFIG_DLM is not set733733+# CONFIG_UCC_SLOW is not set734734+735735+#736736+# Library routines737737+#738738+# CONFIG_CRC_CCITT is not set739739+# CONFIG_CRC16 is not set740740+# CONFIG_CRC_ITU_T is not set741741+# CONFIG_CRC32 is not set742742+# CONFIG_CRC7 is not set743743+# CONFIG_LIBCRC32C is not set744744+CONFIG_ZLIB_INFLATE=y745745+CONFIG_HAS_IOMEM=y746746+CONFIG_HAS_IOPORT=y747747+CONFIG_HAS_DMA=y748748+CONFIG_INSTRUMENTATION=y749749+# CONFIG_PROFILING is not set750750+# CONFIG_MARKERS is not set751751+752752+#753753+# Kernel hacking754754+#755755+# CONFIG_PRINTK_TIME is not set756756+CONFIG_ENABLE_WARN_DEPRECATED=y757757+CONFIG_ENABLE_MUST_CHECK=y758758+CONFIG_MAGIC_SYSRQ=y759759+# CONFIG_UNUSED_SYMBOLS is not set760760+# CONFIG_DEBUG_FS is not set761761+# CONFIG_HEADERS_CHECK is not set762762+CONFIG_DEBUG_KERNEL=y763763+# CONFIG_DEBUG_SHIRQ is not set764764+CONFIG_DETECT_SOFTLOCKUP=y765765+CONFIG_SCHED_DEBUG=y766766+# CONFIG_SCHEDSTATS is not set767767+# CONFIG_TIMER_STATS is not set768768+# CONFIG_SLUB_DEBUG_ON is not set769769+# CONFIG_DEBUG_SPINLOCK is not set770770+# CONFIG_DEBUG_MUTEXES is not set771771+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set772772+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set773773+# CONFIG_DEBUG_KOBJECT is not set774774+CONFIG_DEBUG_BUGVERBOSE=y775775+CONFIG_DEBUG_INFO=y776776+# CONFIG_DEBUG_VM is not set777777+# CONFIG_DEBUG_LIST is not set778778+# CONFIG_DEBUG_SG is not set779779+CONFIG_FORCED_INLINING=y780780+# CONFIG_BOOT_PRINTK_DELAY is not set781781+# CONFIG_FAULT_INJECTION is not set782782+# CONFIG_SAMPLES is not set783783+# CONFIG_DEBUG_STACKOVERFLOW is not set784784+# CONFIG_DEBUG_STACK_USAGE is not set785785+# CONFIG_DEBUG_PAGEALLOC is not set786786+# CONFIG_DEBUGGER is not set787787+# CONFIG_BDI_SWITCH is not set788788+# CONFIG_PPC_EARLY_DEBUG is not set789789+790790+#791791+# Security options792792+#793793+# CONFIG_KEYS is not set794794+# CONFIG_SECURITY is not set795795+# CONFIG_SECURITY_FILE_CAPABILITIES is not set796796+# CONFIG_CRYPTO is not set797797+# CONFIG_PPC_CLOCK is not set798798+CONFIG_PPC_LIB_RHEAP=y
+798
arch/powerpc/configs/adder875-uboot_defconfig
···11+#22+# Automatically generated make config: don't edit33+# Linux kernel version: 2.6.24-rc644+# Thu Jan 17 16:17:18 200855+#66+# CONFIG_PPC64 is not set77+88+#99+# Processor support1010+#1111+# CONFIG_6xx is not set1212+# CONFIG_PPC_85xx is not set1313+CONFIG_PPC_8xx=y1414+# CONFIG_40x is not set1515+# CONFIG_44x is not set1616+# CONFIG_E200 is not set1717+CONFIG_8xx=y1818+# CONFIG_PPC_MM_SLICES is not set1919+CONFIG_NOT_COHERENT_CACHE=y2020+CONFIG_PPC32=y2121+CONFIG_WORD_SIZE=322222+CONFIG_PPC_MERGE=y2323+CONFIG_MMU=y2424+CONFIG_GENERIC_CMOS_UPDATE=y2525+CONFIG_GENERIC_TIME=y2626+CONFIG_GENERIC_TIME_VSYSCALL=y2727+CONFIG_GENERIC_CLOCKEVENTS=y2828+CONFIG_GENERIC_HARDIRQS=y2929+CONFIG_IRQ_PER_CPU=y3030+CONFIG_RWSEM_XCHGADD_ALGORITHM=y3131+CONFIG_ARCH_HAS_ILOG2_U32=y3232+CONFIG_GENERIC_HWEIGHT=y3333+CONFIG_GENERIC_CALIBRATE_DELAY=y3434+CONFIG_GENERIC_FIND_NEXT_BIT=y3535+# CONFIG_ARCH_NO_VIRT_TO_BUS is not set3636+CONFIG_PPC=y3737+CONFIG_EARLY_PRINTK=y3838+CONFIG_GENERIC_NVRAM=y3939+CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y4040+CONFIG_ARCH_MAY_HAVE_PC_FDC=y4141+CONFIG_PPC_OF=y4242+CONFIG_OF=y4343+# CONFIG_PPC_UDBG_16550 is not set4444+# CONFIG_GENERIC_TBSYNC is not set4545+CONFIG_AUDIT_ARCH=y4646+CONFIG_GENERIC_BUG=y4747+# CONFIG_DEFAULT_UIMAGE is not set4848+CONFIG_REDBOOT=y4949+# CONFIG_PPC_DCR_NATIVE is not set5050+# CONFIG_PPC_DCR_MMIO is not set5151+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"5252+5353+#5454+# General setup5555+#5656+CONFIG_EXPERIMENTAL=y5757+CONFIG_BROKEN_ON_SMP=y5858+CONFIG_INIT_ENV_ARG_LIMIT=325959+CONFIG_LOCALVERSION=""6060+CONFIG_LOCALVERSION_AUTO=y6161+# CONFIG_SWAP is not set6262+CONFIG_SYSVIPC=y6363+CONFIG_SYSVIPC_SYSCTL=y6464+# CONFIG_POSIX_MQUEUE is not set6565+# CONFIG_BSD_PROCESS_ACCT is not set6666+# CONFIG_TASKSTATS is not set6767+# CONFIG_USER_NS is not set6868+# CONFIG_PID_NS is not set6969+# CONFIG_AUDIT is not set7070+# CONFIG_IKCONFIG is not set7171+CONFIG_LOG_BUF_SHIFT=147272+# CONFIG_CGROUPS is not set7373+CONFIG_FAIR_GROUP_SCHED=y7474+CONFIG_FAIR_USER_SCHED=y7575+# CONFIG_FAIR_CGROUP_SCHED is not set7676+CONFIG_SYSFS_DEPRECATED=y7777+# CONFIG_RELAY is not set7878+# CONFIG_BLK_DEV_INITRD is not set7979+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set8080+CONFIG_SYSCTL=y8181+CONFIG_EMBEDDED=y8282+# CONFIG_SYSCTL_SYSCALL is not set8383+CONFIG_KALLSYMS=y8484+# CONFIG_KALLSYMS_ALL is not set8585+# CONFIG_KALLSYMS_EXTRA_PASS is not set8686+CONFIG_HOTPLUG=y8787+CONFIG_PRINTK=y8888+CONFIG_BUG=y8989+# CONFIG_ELF_CORE is not set9090+# CONFIG_BASE_FULL is not set9191+# CONFIG_FUTEX is not set9292+CONFIG_ANON_INODES=y9393+CONFIG_EPOLL=y9494+CONFIG_SIGNALFD=y9595+CONFIG_EVENTFD=y9696+CONFIG_SHMEM=y9797+# CONFIG_VM_EVENT_COUNTERS is not set9898+CONFIG_SLUB_DEBUG=y9999+# CONFIG_SLAB is not set100100+CONFIG_SLUB=y101101+# CONFIG_SLOB is not set102102+# CONFIG_TINY_SHMEM is not set103103+CONFIG_BASE_SMALL=1104104+# CONFIG_MODULES is not set105105+CONFIG_BLOCK=y106106+# CONFIG_LBD is not set107107+# CONFIG_BLK_DEV_IO_TRACE is not set108108+# CONFIG_LSF is not set109109+# CONFIG_BLK_DEV_BSG is not set110110+111111+#112112+# IO Schedulers113113+#114114+CONFIG_IOSCHED_NOOP=y115115+# CONFIG_IOSCHED_AS is not set116116+CONFIG_IOSCHED_DEADLINE=y117117+# CONFIG_IOSCHED_CFQ is not set118118+# CONFIG_DEFAULT_AS is not set119119+CONFIG_DEFAULT_DEADLINE=y120120+# CONFIG_DEFAULT_CFQ is not set121121+# CONFIG_DEFAULT_NOOP is not set122122+CONFIG_DEFAULT_IOSCHED="deadline"123123+124124+#125125+# Platform support126126+#127127+# CONFIG_PPC_MPC52xx is not set128128+# CONFIG_PPC_MPC5200 is not set129129+# CONFIG_PPC_CELL is not set130130+# CONFIG_PPC_CELL_NATIVE is not set131131+CONFIG_CPM1=y132132+# CONFIG_MPC8XXFADS is not set133133+# CONFIG_MPC86XADS is not set134134+# CONFIG_MPC885ADS is not set135135+# CONFIG_PPC_EP88XC is not set136136+CONFIG_PPC_ADDER875=y137137+138138+#139139+# MPC8xx CPM Options140140+#141141+142142+#143143+# Generic MPC8xx Options144144+#145145+CONFIG_8xx_COPYBACK=y146146+# CONFIG_8xx_CPU6 is not set147147+CONFIG_8xx_CPU15=y148148+CONFIG_NO_UCODE_PATCH=y149149+# CONFIG_USB_SOF_UCODE_PATCH is not set150150+# CONFIG_I2C_SPI_UCODE_PATCH is not set151151+# CONFIG_I2C_SPI_SMC1_UCODE_PATCH is not set152152+# CONFIG_PQ2ADS is not set153153+# CONFIG_MPIC is not set154154+# CONFIG_MPIC_WEIRD is not set155155+# CONFIG_PPC_I8259 is not set156156+# CONFIG_PPC_RTAS is not set157157+# CONFIG_MMIO_NVRAM is not set158158+# CONFIG_PPC_MPC106 is not set159159+# CONFIG_PPC_970_NAP is not set160160+# CONFIG_PPC_INDIRECT_IO is not set161161+# CONFIG_GENERIC_IOMAP is not set162162+# CONFIG_CPU_FREQ is not set163163+# CONFIG_CPM2 is not set164164+CONFIG_PPC_CPM_NEW_BINDING=y165165+# CONFIG_FSL_ULI1575 is not set166166+CONFIG_CPM=y167167+168168+#169169+# Kernel options170170+#171171+# CONFIG_HIGHMEM is not set172172+# CONFIG_TICK_ONESHOT is not set173173+# CONFIG_NO_HZ is not set174174+# CONFIG_HIGH_RES_TIMERS is not set175175+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y176176+# CONFIG_HZ_100 is not set177177+# CONFIG_HZ_250 is not set178178+# CONFIG_HZ_300 is not set179179+CONFIG_HZ_1000=y180180+CONFIG_HZ=1000181181+CONFIG_PREEMPT_NONE=y182182+# CONFIG_PREEMPT_VOLUNTARY is not set183183+# CONFIG_PREEMPT is not set184184+CONFIG_BINFMT_ELF=y185185+# CONFIG_BINFMT_MISC is not set186186+# CONFIG_MATH_EMULATION is not set187187+# CONFIG_8XX_MINIMAL_FPEMU is not set188188+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y189189+CONFIG_ARCH_FLATMEM_ENABLE=y190190+CONFIG_ARCH_POPULATES_NODE_MAP=y191191+CONFIG_SELECT_MEMORY_MODEL=y192192+CONFIG_FLATMEM_MANUAL=y193193+# CONFIG_DISCONTIGMEM_MANUAL is not set194194+# CONFIG_SPARSEMEM_MANUAL is not set195195+CONFIG_FLATMEM=y196196+CONFIG_FLAT_NODE_MEM_MAP=y197197+# CONFIG_SPARSEMEM_STATIC is not set198198+# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set199199+CONFIG_SPLIT_PTLOCK_CPUS=4200200+# CONFIG_RESOURCES_64BIT is not set201201+CONFIG_ZONE_DMA_FLAG=1202202+CONFIG_BOUNCE=y203203+CONFIG_VIRT_TO_BUS=y204204+# CONFIG_PROC_DEVICETREE is not set205205+# CONFIG_CMDLINE_BOOL is not set206206+# CONFIG_PM is not set207207+CONFIG_SUSPEND_UP_POSSIBLE=y208208+CONFIG_HIBERNATION_UP_POSSIBLE=y209209+# CONFIG_SECCOMP is not set210210+CONFIG_WANT_DEVICE_TREE=y211211+CONFIG_DEVICE_TREE="adder875-uboot.dts"212212+CONFIG_ISA_DMA_API=y213213+214214+#215215+# Bus options216216+#217217+CONFIG_ZONE_DMA=y218218+CONFIG_FSL_SOC=y219219+# CONFIG_PCI is not set220220+# CONFIG_PCI_DOMAINS is not set221221+# CONFIG_PCI_SYSCALL is not set222222+# CONFIG_PCI_QSPAN is not set223223+# CONFIG_ARCH_SUPPORTS_MSI is not set224224+# CONFIG_PCCARD is not set225225+226226+#227227+# Advanced setup228228+#229229+# CONFIG_ADVANCED_OPTIONS is not set230230+231231+#232232+# Default settings for advanced configuration options are used233233+#234234+CONFIG_HIGHMEM_START=0xfe000000235235+CONFIG_LOWMEM_SIZE=0x30000000236236+CONFIG_KERNEL_START=0xc0000000237237+CONFIG_TASK_SIZE=0x80000000238238+CONFIG_CONSISTENT_START=0xfd000000239239+CONFIG_CONSISTENT_SIZE=0x00200000240240+CONFIG_BOOT_LOAD=0x00400000241241+242242+#243243+# Networking244244+#245245+CONFIG_NET=y246246+247247+#248248+# Networking options249249+#250250+CONFIG_PACKET=y251251+# CONFIG_PACKET_MMAP is not set252252+CONFIG_UNIX=y253253+# CONFIG_NET_KEY is not set254254+CONFIG_INET=y255255+CONFIG_IP_MULTICAST=y256256+# CONFIG_IP_ADVANCED_ROUTER is not set257257+CONFIG_IP_FIB_HASH=y258258+CONFIG_IP_PNP=y259259+# CONFIG_IP_PNP_DHCP is not set260260+# CONFIG_IP_PNP_BOOTP is not set261261+# CONFIG_IP_PNP_RARP is not set262262+# CONFIG_NET_IPIP is not set263263+# CONFIG_NET_IPGRE is not set264264+# CONFIG_IP_MROUTE is not set265265+# CONFIG_ARPD is not set266266+CONFIG_SYN_COOKIES=y267267+# CONFIG_INET_AH is not set268268+# CONFIG_INET_ESP is not set269269+# CONFIG_INET_IPCOMP is not set270270+# CONFIG_INET_XFRM_TUNNEL is not set271271+# CONFIG_INET_TUNNEL is not set272272+# CONFIG_INET_XFRM_MODE_TRANSPORT is not set273273+# CONFIG_INET_XFRM_MODE_TUNNEL is not set274274+# CONFIG_INET_XFRM_MODE_BEET is not set275275+# CONFIG_INET_LRO is not set276276+CONFIG_INET_DIAG=y277277+CONFIG_INET_TCP_DIAG=y278278+# CONFIG_TCP_CONG_ADVANCED is not set279279+CONFIG_TCP_CONG_CUBIC=y280280+CONFIG_DEFAULT_TCP_CONG="cubic"281281+# CONFIG_TCP_MD5SIG is not set282282+# CONFIG_IPV6 is not set283283+# CONFIG_INET6_XFRM_TUNNEL is not set284284+# CONFIG_INET6_TUNNEL is not set285285+# CONFIG_NETWORK_SECMARK is not set286286+# CONFIG_NETFILTER is not set287287+# CONFIG_IP_DCCP is not set288288+# CONFIG_IP_SCTP is not set289289+# CONFIG_TIPC is not set290290+# CONFIG_ATM is not set291291+# CONFIG_BRIDGE is not set292292+# CONFIG_VLAN_8021Q is not set293293+# CONFIG_DECNET is not set294294+# CONFIG_LLC2 is not set295295+# CONFIG_IPX is not set296296+# CONFIG_ATALK is not set297297+# CONFIG_X25 is not set298298+# CONFIG_LAPB is not set299299+# CONFIG_ECONET is not set300300+# CONFIG_WAN_ROUTER is not set301301+# CONFIG_NET_SCHED is not set302302+303303+#304304+# Network testing305305+#306306+# CONFIG_NET_PKTGEN is not set307307+# CONFIG_HAMRADIO is not set308308+# CONFIG_IRDA is not set309309+# CONFIG_BT is not set310310+# CONFIG_AF_RXRPC is not set311311+312312+#313313+# Wireless314314+#315315+# CONFIG_CFG80211 is not set316316+# CONFIG_WIRELESS_EXT is not set317317+# CONFIG_MAC80211 is not set318318+# CONFIG_IEEE80211 is not set319319+# CONFIG_RFKILL is not set320320+# CONFIG_NET_9P is not set321321+322322+#323323+# Device Drivers324324+#325325+326326+#327327+# Generic Driver Options328328+#329329+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"330330+CONFIG_STANDALONE=y331331+CONFIG_PREVENT_FIRMWARE_BUILD=y332332+# CONFIG_FW_LOADER is not set333333+# CONFIG_DEBUG_DRIVER is not set334334+# CONFIG_DEBUG_DEVRES is not set335335+# CONFIG_SYS_HYPERVISOR is not set336336+# CONFIG_CONNECTOR is not set337337+CONFIG_MTD=y338338+# CONFIG_MTD_DEBUG is not set339339+# CONFIG_MTD_CONCAT is not set340340+# CONFIG_MTD_PARTITIONS is not set341341+342342+#343343+# User Modules And Translation Layers344344+#345345+CONFIG_MTD_CHAR=y346346+CONFIG_MTD_BLKDEVS=y347347+CONFIG_MTD_BLOCK=y348348+# CONFIG_FTL is not set349349+# CONFIG_NFTL is not set350350+# CONFIG_INFTL is not set351351+# CONFIG_RFD_FTL is not set352352+# CONFIG_SSFDC is not set353353+# CONFIG_MTD_OOPS is not set354354+355355+#356356+# RAM/ROM/Flash chip drivers357357+#358358+CONFIG_MTD_CFI=y359359+# CONFIG_MTD_JEDECPROBE is not set360360+CONFIG_MTD_GEN_PROBE=y361361+# CONFIG_MTD_CFI_ADV_OPTIONS is not set362362+CONFIG_MTD_MAP_BANK_WIDTH_1=y363363+CONFIG_MTD_MAP_BANK_WIDTH_2=y364364+CONFIG_MTD_MAP_BANK_WIDTH_4=y365365+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set366366+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set367367+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set368368+CONFIG_MTD_CFI_I1=y369369+CONFIG_MTD_CFI_I2=y370370+# CONFIG_MTD_CFI_I4 is not set371371+# CONFIG_MTD_CFI_I8 is not set372372+# CONFIG_MTD_CFI_INTELEXT is not set373373+CONFIG_MTD_CFI_AMDSTD=y374374+# CONFIG_MTD_CFI_STAA is not set375375+CONFIG_MTD_CFI_UTIL=y376376+# CONFIG_MTD_RAM is not set377377+# CONFIG_MTD_ROM is not set378378+# CONFIG_MTD_ABSENT is not set379379+380380+#381381+# Mapping drivers for chip access382382+#383383+# CONFIG_MTD_COMPLEX_MAPPINGS is not set384384+# CONFIG_MTD_PHYSMAP is not set385385+CONFIG_MTD_PHYSMAP_OF=y386386+# CONFIG_MTD_CFI_FLAGADM is not set387387+# CONFIG_MTD_PLATRAM is not set388388+389389+#390390+# Self-contained MTD device drivers391391+#392392+# CONFIG_MTD_SLRAM is not set393393+# CONFIG_MTD_PHRAM is not set394394+# CONFIG_MTD_MTDRAM is not set395395+# CONFIG_MTD_BLOCK2MTD is not set396396+397397+#398398+# Disk-On-Chip Device Drivers399399+#400400+# CONFIG_MTD_DOC2000 is not set401401+# CONFIG_MTD_DOC2001 is not set402402+# CONFIG_MTD_DOC2001PLUS is not set403403+# CONFIG_MTD_NAND is not set404404+# CONFIG_MTD_ONENAND is not set405405+406406+#407407+# UBI - Unsorted block images408408+#409409+# CONFIG_MTD_UBI is not set410410+CONFIG_OF_DEVICE=y411411+# CONFIG_PARPORT is not set412412+# CONFIG_BLK_DEV is not set413413+# CONFIG_MISC_DEVICES is not set414414+# CONFIG_IDE is not set415415+416416+#417417+# SCSI device support418418+#419419+# CONFIG_RAID_ATTRS is not set420420+# CONFIG_SCSI is not set421421+# CONFIG_SCSI_DMA is not set422422+# CONFIG_SCSI_NETLINK is not set423423+# CONFIG_ATA is not set424424+# CONFIG_MD is not set425425+# CONFIG_MACINTOSH_DRIVERS is not set426426+CONFIG_NETDEVICES=y427427+# CONFIG_NETDEVICES_MULTIQUEUE is not set428428+# CONFIG_DUMMY is not set429429+# CONFIG_BONDING is not set430430+# CONFIG_MACVLAN is not set431431+# CONFIG_EQUALIZER is not set432432+# CONFIG_TUN is not set433433+# CONFIG_VETH is not set434434+CONFIG_PHYLIB=y435435+436436+#437437+# MII PHY device drivers438438+#439439+# CONFIG_MARVELL_PHY is not set440440+CONFIG_DAVICOM_PHY=y441441+# CONFIG_QSEMI_PHY is not set442442+# CONFIG_LXT_PHY is not set443443+# CONFIG_CICADA_PHY is not set444444+# CONFIG_VITESSE_PHY is not set445445+# CONFIG_SMSC_PHY is not set446446+# CONFIG_BROADCOM_PHY is not set447447+# CONFIG_ICPLUS_PHY is not set448448+# CONFIG_FIXED_PHY is not set449449+# CONFIG_MDIO_BITBANG is not set450450+CONFIG_NET_ETHERNET=y451451+CONFIG_MII=y452452+# CONFIG_IBM_NEW_EMAC_ZMII is not set453453+# CONFIG_IBM_NEW_EMAC_RGMII is not set454454+# CONFIG_IBM_NEW_EMAC_TAH is not set455455+# CONFIG_IBM_NEW_EMAC_EMAC4 is not set456456+# CONFIG_B44 is not set457457+CONFIG_FS_ENET=y458458+# CONFIG_FS_ENET_HAS_SCC is not set459459+CONFIG_FS_ENET_HAS_FEC=y460460+CONFIG_FS_ENET_MDIO_FEC=y461461+# CONFIG_NETDEV_1000 is not set462462+# CONFIG_NETDEV_10000 is not set463463+464464+#465465+# Wireless LAN466466+#467467+# CONFIG_WLAN_PRE80211 is not set468468+# CONFIG_WLAN_80211 is not set469469+# CONFIG_WAN is not set470470+# CONFIG_PPP is not set471471+# CONFIG_SLIP is not set472472+# CONFIG_SHAPER is not set473473+# CONFIG_NETCONSOLE is not set474474+# CONFIG_NETPOLL is not set475475+# CONFIG_NET_POLL_CONTROLLER is not set476476+# CONFIG_ISDN is not set477477+# CONFIG_PHONE is not set478478+479479+#480480+# Input device support481481+#482482+CONFIG_INPUT=y483483+# CONFIG_INPUT_FF_MEMLESS is not set484484+# CONFIG_INPUT_POLLDEV is not set485485+486486+#487487+# Userland interfaces488488+#489489+CONFIG_INPUT_MOUSEDEV=y490490+CONFIG_INPUT_MOUSEDEV_PSAUX=y491491+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024492492+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768493493+# CONFIG_INPUT_JOYDEV is not set494494+# CONFIG_INPUT_EVDEV is not set495495+# CONFIG_INPUT_EVBUG is not set496496+497497+#498498+# Input Device Drivers499499+#500500+CONFIG_INPUT_KEYBOARD=y501501+CONFIG_KEYBOARD_ATKBD=y502502+# CONFIG_KEYBOARD_SUNKBD is not set503503+# CONFIG_KEYBOARD_LKKBD is not set504504+# CONFIG_KEYBOARD_XTKBD is not set505505+# CONFIG_KEYBOARD_NEWTON is not set506506+# CONFIG_KEYBOARD_STOWAWAY is not set507507+CONFIG_INPUT_MOUSE=y508508+CONFIG_MOUSE_PS2=y509509+CONFIG_MOUSE_PS2_ALPS=y510510+CONFIG_MOUSE_PS2_LOGIPS2PP=y511511+CONFIG_MOUSE_PS2_SYNAPTICS=y512512+CONFIG_MOUSE_PS2_LIFEBOOK=y513513+CONFIG_MOUSE_PS2_TRACKPOINT=y514514+# CONFIG_MOUSE_PS2_TOUCHKIT is not set515515+# CONFIG_MOUSE_SERIAL is not set516516+# CONFIG_MOUSE_VSXXXAA is not set517517+# CONFIG_INPUT_JOYSTICK is not set518518+# CONFIG_INPUT_TABLET is not set519519+# CONFIG_INPUT_TOUCHSCREEN is not set520520+# CONFIG_INPUT_MISC is not set521521+522522+#523523+# Hardware I/O ports524524+#525525+CONFIG_SERIO=y526526+CONFIG_SERIO_I8042=y527527+CONFIG_SERIO_SERPORT=y528528+CONFIG_SERIO_LIBPS2=y529529+# CONFIG_SERIO_RAW is not set530530+# CONFIG_GAMEPORT is not set531531+532532+#533533+# Character devices534534+#535535+# CONFIG_VT is not set536536+# CONFIG_SERIAL_NONSTANDARD is not set537537+538538+#539539+# Serial drivers540540+#541541+# CONFIG_SERIAL_8250 is not set542542+543543+#544544+# Non-8250 serial port support545545+#546546+# CONFIG_SERIAL_UARTLITE is not set547547+CONFIG_SERIAL_CORE=y548548+CONFIG_SERIAL_CORE_CONSOLE=y549549+CONFIG_SERIAL_CPM=y550550+CONFIG_SERIAL_CPM_CONSOLE=y551551+# CONFIG_SERIAL_CPM_SCC1 is not set552552+# CONFIG_SERIAL_CPM_SCC2 is not set553553+# CONFIG_SERIAL_CPM_SCC3 is not set554554+# CONFIG_SERIAL_CPM_SCC4 is not set555555+CONFIG_SERIAL_CPM_SMC1=y556556+CONFIG_SERIAL_CPM_SMC2=y557557+CONFIG_UNIX98_PTYS=y558558+# CONFIG_LEGACY_PTYS is not set559559+# CONFIG_IPMI_HANDLER is not set560560+CONFIG_HW_RANDOM=y561561+# CONFIG_NVRAM is not set562562+CONFIG_GEN_RTC=y563563+# CONFIG_GEN_RTC_X is not set564564+# CONFIG_R3964 is not set565565+# CONFIG_RAW_DRIVER is not set566566+# CONFIG_TCG_TPM is not set567567+# CONFIG_I2C is not set568568+569569+#570570+# SPI support571571+#572572+# CONFIG_SPI is not set573573+# CONFIG_SPI_MASTER is not set574574+# CONFIG_W1 is not set575575+# CONFIG_POWER_SUPPLY is not set576576+# CONFIG_HWMON is not set577577+# CONFIG_WATCHDOG is not set578578+579579+#580580+# Sonics Silicon Backplane581581+#582582+CONFIG_SSB_POSSIBLE=y583583+# CONFIG_SSB is not set584584+585585+#586586+# Multifunction device drivers587587+#588588+# CONFIG_MFD_SM501 is not set589589+590590+#591591+# Multimedia devices592592+#593593+# CONFIG_VIDEO_DEV is not set594594+# CONFIG_DVB_CORE is not set595595+CONFIG_DAB=y596596+597597+#598598+# Graphics support599599+#600600+# CONFIG_VGASTATE is not set601601+CONFIG_VIDEO_OUTPUT_CONTROL=y602602+# CONFIG_FB is not set603603+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set604604+605605+#606606+# Display device support607607+#608608+# CONFIG_DISPLAY_SUPPORT is not set609609+610610+#611611+# Sound612612+#613613+# CONFIG_SOUND is not set614614+# CONFIG_HID_SUPPORT is not set615615+# CONFIG_USB_SUPPORT is not set616616+# CONFIG_MMC is not set617617+# CONFIG_NEW_LEDS is not set618618+# CONFIG_EDAC is not set619619+# CONFIG_RTC_CLASS is not set620620+621621+#622622+# Userspace I/O623623+#624624+# CONFIG_UIO is not set625625+626626+#627627+# File systems628628+#629629+# CONFIG_EXT2_FS is not set630630+# CONFIG_EXT3_FS is not set631631+# CONFIG_EXT4DEV_FS is not set632632+# CONFIG_REISERFS_FS is not set633633+# CONFIG_JFS_FS is not set634634+# CONFIG_FS_POSIX_ACL is not set635635+# CONFIG_XFS_FS is not set636636+# CONFIG_GFS2_FS is not set637637+# CONFIG_OCFS2_FS is not set638638+# CONFIG_MINIX_FS is not set639639+# CONFIG_ROMFS_FS is not set640640+# CONFIG_INOTIFY is not set641641+# CONFIG_QUOTA is not set642642+# CONFIG_DNOTIFY is not set643643+# CONFIG_AUTOFS_FS is not set644644+# CONFIG_AUTOFS4_FS is not set645645+# CONFIG_FUSE_FS is not set646646+647647+#648648+# CD-ROM/DVD Filesystems649649+#650650+# CONFIG_ISO9660_FS is not set651651+# CONFIG_UDF_FS is not set652652+653653+#654654+# DOS/FAT/NT Filesystems655655+#656656+# CONFIG_MSDOS_FS is not set657657+# CONFIG_VFAT_FS is not set658658+# CONFIG_NTFS_FS is not set659659+660660+#661661+# Pseudo filesystems662662+#663663+CONFIG_PROC_FS=y664664+# CONFIG_PROC_KCORE is not set665665+CONFIG_PROC_SYSCTL=y666666+CONFIG_SYSFS=y667667+CONFIG_TMPFS=y668668+# CONFIG_TMPFS_POSIX_ACL is not set669669+# CONFIG_HUGETLB_PAGE is not set670670+# CONFIG_CONFIGFS_FS is not set671671+672672+#673673+# Miscellaneous filesystems674674+#675675+# CONFIG_ADFS_FS is not set676676+# CONFIG_AFFS_FS is not set677677+# CONFIG_HFS_FS is not set678678+# CONFIG_HFSPLUS_FS is not set679679+# CONFIG_BEFS_FS is not set680680+# CONFIG_BFS_FS is not set681681+# CONFIG_EFS_FS is not set682682+# CONFIG_JFFS2_FS is not set683683+CONFIG_CRAMFS=y684684+# CONFIG_VXFS_FS is not set685685+# CONFIG_HPFS_FS is not set686686+# CONFIG_QNX4FS_FS is not set687687+# CONFIG_SYSV_FS is not set688688+# CONFIG_UFS_FS is not set689689+CONFIG_NETWORK_FILESYSTEMS=y690690+CONFIG_NFS_FS=y691691+CONFIG_NFS_V3=y692692+# CONFIG_NFS_V3_ACL is not set693693+# CONFIG_NFS_V4 is not set694694+# CONFIG_NFS_DIRECTIO is not set695695+# CONFIG_NFSD is not set696696+CONFIG_ROOT_NFS=y697697+CONFIG_LOCKD=y698698+CONFIG_LOCKD_V4=y699699+CONFIG_NFS_COMMON=y700700+CONFIG_SUNRPC=y701701+# CONFIG_SUNRPC_BIND34 is not set702702+# CONFIG_RPCSEC_GSS_KRB5 is not set703703+# CONFIG_RPCSEC_GSS_SPKM3 is not set704704+# CONFIG_SMB_FS is not set705705+# CONFIG_CIFS is not set706706+# CONFIG_NCP_FS is not set707707+# CONFIG_CODA_FS is not set708708+# CONFIG_AFS_FS is not set709709+710710+#711711+# Partition Types712712+#713713+CONFIG_PARTITION_ADVANCED=y714714+# CONFIG_ACORN_PARTITION is not set715715+# CONFIG_OSF_PARTITION is not set716716+# CONFIG_AMIGA_PARTITION is not set717717+# CONFIG_ATARI_PARTITION is not set718718+# CONFIG_MAC_PARTITION is not set719719+CONFIG_MSDOS_PARTITION=y720720+# CONFIG_BSD_DISKLABEL is not set721721+# CONFIG_MINIX_SUBPARTITION is not set722722+# CONFIG_SOLARIS_X86_PARTITION is not set723723+# CONFIG_UNIXWARE_DISKLABEL is not set724724+# CONFIG_LDM_PARTITION is not set725725+# CONFIG_SGI_PARTITION is not set726726+# CONFIG_ULTRIX_PARTITION is not set727727+# CONFIG_SUN_PARTITION is not set728728+# CONFIG_KARMA_PARTITION is not set729729+# CONFIG_EFI_PARTITION is not set730730+# CONFIG_SYSV68_PARTITION is not set731731+# CONFIG_NLS is not set732732+# CONFIG_DLM is not set733733+# CONFIG_UCC_SLOW is not set734734+735735+#736736+# Library routines737737+#738738+# CONFIG_CRC_CCITT is not set739739+# CONFIG_CRC16 is not set740740+# CONFIG_CRC_ITU_T is not set741741+# CONFIG_CRC32 is not set742742+# CONFIG_CRC7 is not set743743+# CONFIG_LIBCRC32C is not set744744+CONFIG_ZLIB_INFLATE=y745745+CONFIG_HAS_IOMEM=y746746+CONFIG_HAS_IOPORT=y747747+CONFIG_HAS_DMA=y748748+CONFIG_INSTRUMENTATION=y749749+# CONFIG_PROFILING is not set750750+# CONFIG_MARKERS is not set751751+752752+#753753+# Kernel hacking754754+#755755+# CONFIG_PRINTK_TIME is not set756756+CONFIG_ENABLE_WARN_DEPRECATED=y757757+CONFIG_ENABLE_MUST_CHECK=y758758+CONFIG_MAGIC_SYSRQ=y759759+# CONFIG_UNUSED_SYMBOLS is not set760760+# CONFIG_DEBUG_FS is not set761761+# CONFIG_HEADERS_CHECK is not set762762+CONFIG_DEBUG_KERNEL=y763763+# CONFIG_DEBUG_SHIRQ is not set764764+CONFIG_DETECT_SOFTLOCKUP=y765765+CONFIG_SCHED_DEBUG=y766766+# CONFIG_SCHEDSTATS is not set767767+# CONFIG_TIMER_STATS is not set768768+# CONFIG_SLUB_DEBUG_ON is not set769769+# CONFIG_DEBUG_SPINLOCK is not set770770+# CONFIG_DEBUG_MUTEXES is not set771771+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set772772+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set773773+# CONFIG_DEBUG_KOBJECT is not set774774+CONFIG_DEBUG_BUGVERBOSE=y775775+CONFIG_DEBUG_INFO=y776776+# CONFIG_DEBUG_VM is not set777777+# CONFIG_DEBUG_LIST is not set778778+# CONFIG_DEBUG_SG is not set779779+CONFIG_FORCED_INLINING=y780780+# CONFIG_BOOT_PRINTK_DELAY is not set781781+# CONFIG_FAULT_INJECTION is not set782782+# CONFIG_SAMPLES is not set783783+# CONFIG_DEBUG_STACKOVERFLOW is not set784784+# CONFIG_DEBUG_STACK_USAGE is not set785785+# CONFIG_DEBUG_PAGEALLOC is not set786786+# CONFIG_DEBUGGER is not set787787+# CONFIG_BDI_SWITCH is not set788788+# CONFIG_PPC_EARLY_DEBUG is not set789789+790790+#791791+# Security options792792+#793793+# CONFIG_KEYS is not set794794+# CONFIG_SECURITY is not set795795+# CONFIG_SECURITY_FILE_CAPABILITIES is not set796796+# CONFIG_CRYPTO is not set797797+# CONFIG_PPC_CLOCK is not set798798+CONFIG_PPC_LIB_RHEAP=y
+821
arch/powerpc/configs/ep8248e_defconfig
···11+#22+# Automatically generated make config: don't edit33+# Linux kernel version: 2.6.24-rc644+# Fri Jan 11 14:02:06 200855+#66+# CONFIG_PPC64 is not set77+88+#99+# Processor support1010+#1111+CONFIG_6xx=y1212+# CONFIG_PPC_85xx is not set1313+# CONFIG_PPC_8xx is not set1414+# CONFIG_40x is not set1515+# CONFIG_44x is not set1616+# CONFIG_E200 is not set1717+CONFIG_PPC_FPU=y1818+CONFIG_PPC_STD_MMU=y1919+CONFIG_PPC_STD_MMU_32=y2020+# CONFIG_PPC_MM_SLICES is not set2121+# CONFIG_SMP is not set2222+CONFIG_PPC32=y2323+CONFIG_WORD_SIZE=322424+CONFIG_PPC_MERGE=y2525+CONFIG_MMU=y2626+CONFIG_GENERIC_CMOS_UPDATE=y2727+CONFIG_GENERIC_TIME=y2828+CONFIG_GENERIC_TIME_VSYSCALL=y2929+CONFIG_GENERIC_CLOCKEVENTS=y3030+CONFIG_GENERIC_HARDIRQS=y3131+CONFIG_IRQ_PER_CPU=y3232+CONFIG_RWSEM_XCHGADD_ALGORITHM=y3333+CONFIG_ARCH_HAS_ILOG2_U32=y3434+CONFIG_GENERIC_HWEIGHT=y3535+CONFIG_GENERIC_CALIBRATE_DELAY=y3636+CONFIG_GENERIC_FIND_NEXT_BIT=y3737+# CONFIG_ARCH_NO_VIRT_TO_BUS is not set3838+CONFIG_PPC=y3939+CONFIG_EARLY_PRINTK=y4040+CONFIG_GENERIC_NVRAM=y4141+CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y4242+CONFIG_ARCH_MAY_HAVE_PC_FDC=y4343+CONFIG_PPC_OF=y4444+CONFIG_OF=y4545+# CONFIG_PPC_UDBG_16550 is not set4646+# CONFIG_GENERIC_TBSYNC is not set4747+CONFIG_AUDIT_ARCH=y4848+CONFIG_GENERIC_BUG=y4949+# CONFIG_DEFAULT_UIMAGE is not set5050+# CONFIG_PPC_DCR_NATIVE is not set5151+# CONFIG_PPC_DCR_MMIO is not set5252+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"5353+5454+#5555+# General setup5656+#5757+# CONFIG_EXPERIMENTAL is not set5858+CONFIG_BROKEN_ON_SMP=y5959+CONFIG_INIT_ENV_ARG_LIMIT=326060+CONFIG_LOCALVERSION=""6161+CONFIG_LOCALVERSION_AUTO=y6262+CONFIG_SWAP=y6363+CONFIG_SYSVIPC=y6464+CONFIG_SYSVIPC_SYSCTL=y6565+# CONFIG_BSD_PROCESS_ACCT is not set6666+# CONFIG_TASKSTATS is not set6767+# CONFIG_AUDIT is not set6868+CONFIG_IKCONFIG=y6969+CONFIG_IKCONFIG_PROC=y7070+CONFIG_LOG_BUF_SHIFT=147171+# CONFIG_CGROUPS is not set7272+CONFIG_FAIR_GROUP_SCHED=y7373+CONFIG_FAIR_USER_SCHED=y7474+# CONFIG_FAIR_CGROUP_SCHED is not set7575+CONFIG_SYSFS_DEPRECATED=y7676+# CONFIG_RELAY is not set7777+# CONFIG_BLK_DEV_INITRD is not set7878+CONFIG_SYSCTL=y7979+CONFIG_EMBEDDED=y8080+CONFIG_SYSCTL_SYSCALL=y8181+CONFIG_KALLSYMS=y8282+CONFIG_KALLSYMS_ALL=y8383+# CONFIG_KALLSYMS_EXTRA_PASS is not set8484+CONFIG_HOTPLUG=y8585+CONFIG_PRINTK=y8686+CONFIG_BUG=y8787+CONFIG_ELF_CORE=y8888+CONFIG_BASE_FULL=y8989+CONFIG_FUTEX=y9090+CONFIG_ANON_INODES=y9191+CONFIG_EPOLL=y9292+CONFIG_SIGNALFD=y9393+CONFIG_EVENTFD=y9494+CONFIG_SHMEM=y9595+CONFIG_VM_EVENT_COUNTERS=y9696+CONFIG_SLAB=y9797+# CONFIG_SLUB is not set9898+# CONFIG_SLOB is not set9999+CONFIG_RT_MUTEXES=y100100+# CONFIG_TINY_SHMEM is not set101101+CONFIG_BASE_SMALL=0102102+# CONFIG_MODULES is not set103103+CONFIG_BLOCK=y104104+# CONFIG_LBD is not set105105+# CONFIG_BLK_DEV_IO_TRACE is not set106106+# CONFIG_LSF is not set107107+108108+#109109+# IO Schedulers110110+#111111+CONFIG_IOSCHED_NOOP=y112112+# CONFIG_IOSCHED_AS is not set113113+CONFIG_IOSCHED_DEADLINE=y114114+# CONFIG_IOSCHED_CFQ is not set115115+# CONFIG_DEFAULT_AS is not set116116+CONFIG_DEFAULT_DEADLINE=y117117+# CONFIG_DEFAULT_CFQ is not set118118+# CONFIG_DEFAULT_NOOP is not set119119+CONFIG_DEFAULT_IOSCHED="deadline"120120+121121+#122122+# Platform support123123+#124124+# CONFIG_PPC_MULTIPLATFORM is not set125125+CONFIG_PPC_82xx=y126126+# CONFIG_PPC_83xx is not set127127+# CONFIG_PPC_86xx is not set128128+# CONFIG_PPC_MPC52xx is not set129129+# CONFIG_PPC_MPC5200 is not set130130+# CONFIG_PPC_CELL is not set131131+# CONFIG_PPC_CELL_NATIVE is not set132132+# CONFIG_MPC8272_ADS is not set133133+# CONFIG_PQ2FADS is not set134134+CONFIG_EP8248E=y135135+# CONFIG_PQ2ADS is not set136136+CONFIG_8260=y137137+CONFIG_8272=y138138+# CONFIG_MPIC is not set139139+# CONFIG_MPIC_WEIRD is not set140140+# CONFIG_PPC_I8259 is not set141141+# CONFIG_PPC_RTAS is not set142142+# CONFIG_MMIO_NVRAM is not set143143+# CONFIG_PPC_MPC106 is not set144144+# CONFIG_PPC_970_NAP is not set145145+# CONFIG_PPC_INDIRECT_IO is not set146146+# CONFIG_GENERIC_IOMAP is not set147147+# CONFIG_CPU_FREQ is not set148148+CONFIG_CPM2=y149149+CONFIG_PPC_CPM_NEW_BINDING=y150150+# CONFIG_FSL_ULI1575 is not set151151+CONFIG_CPM=y152152+153153+#154154+# Kernel options155155+#156156+# CONFIG_HIGHMEM is not set157157+# CONFIG_TICK_ONESHOT is not set158158+# CONFIG_NO_HZ is not set159159+# CONFIG_HIGH_RES_TIMERS is not set160160+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y161161+# CONFIG_HZ_100 is not set162162+CONFIG_HZ_250=y163163+# CONFIG_HZ_300 is not set164164+# CONFIG_HZ_1000 is not set165165+CONFIG_HZ=250166166+CONFIG_PREEMPT_NONE=y167167+# CONFIG_PREEMPT_VOLUNTARY is not set168168+# CONFIG_PREEMPT is not set169169+CONFIG_BINFMT_ELF=y170170+CONFIG_BINFMT_MISC=y171171+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y172172+CONFIG_ARCH_FLATMEM_ENABLE=y173173+CONFIG_ARCH_POPULATES_NODE_MAP=y174174+CONFIG_FLATMEM=y175175+CONFIG_FLAT_NODE_MEM_MAP=y176176+# CONFIG_SPARSEMEM_STATIC is not set177177+# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set178178+CONFIG_SPLIT_PTLOCK_CPUS=4179179+# CONFIG_RESOURCES_64BIT is not set180180+CONFIG_ZONE_DMA_FLAG=1181181+CONFIG_BOUNCE=y182182+CONFIG_VIRT_TO_BUS=y183183+CONFIG_PROC_DEVICETREE=y184184+# CONFIG_CMDLINE_BOOL is not set185185+# CONFIG_PM is not set186186+CONFIG_SUSPEND_UP_POSSIBLE=y187187+CONFIG_HIBERNATION_UP_POSSIBLE=y188188+# CONFIG_SECCOMP is not set189189+CONFIG_WANT_DEVICE_TREE=y190190+CONFIG_DEVICE_TREE="ep8248e.dts"191191+CONFIG_ISA_DMA_API=y192192+193193+#194194+# Bus options195195+#196196+CONFIG_ZONE_DMA=y197197+CONFIG_FSL_SOC=y198198+# CONFIG_PCI is not set199199+# CONFIG_PCI_DOMAINS is not set200200+# CONFIG_PCI_SYSCALL is not set201201+# CONFIG_ARCH_SUPPORTS_MSI is not set202202+# CONFIG_PCCARD is not set203203+204204+#205205+# Advanced setup206206+#207207+# CONFIG_ADVANCED_OPTIONS is not set208208+209209+#210210+# Default settings for advanced configuration options are used211211+#212212+CONFIG_HIGHMEM_START=0xfe000000213213+CONFIG_LOWMEM_SIZE=0x30000000214214+CONFIG_KERNEL_START=0xc0000000215215+CONFIG_TASK_SIZE=0xc0000000216216+CONFIG_BOOT_LOAD=0x00400000217217+218218+#219219+# Networking220220+#221221+CONFIG_NET=y222222+223223+#224224+# Networking options225225+#226226+CONFIG_PACKET=y227227+# CONFIG_PACKET_MMAP is not set228228+CONFIG_UNIX=y229229+CONFIG_XFRM=y230230+# CONFIG_XFRM_USER is not set231231+# CONFIG_NET_KEY is not set232232+CONFIG_INET=y233233+CONFIG_IP_MULTICAST=y234234+# CONFIG_IP_ADVANCED_ROUTER is not set235235+CONFIG_IP_FIB_HASH=y236236+CONFIG_IP_PNP=y237237+CONFIG_IP_PNP_DHCP=y238238+CONFIG_IP_PNP_BOOTP=y239239+# CONFIG_IP_PNP_RARP is not set240240+# CONFIG_NET_IPIP is not set241241+# CONFIG_NET_IPGRE is not set242242+# CONFIG_IP_MROUTE is not set243243+CONFIG_SYN_COOKIES=y244244+# CONFIG_INET_AH is not set245245+# CONFIG_INET_ESP is not set246246+# CONFIG_INET_IPCOMP is not set247247+# CONFIG_INET_XFRM_TUNNEL is not set248248+CONFIG_INET_TUNNEL=y249249+CONFIG_INET_XFRM_MODE_TRANSPORT=y250250+CONFIG_INET_XFRM_MODE_TUNNEL=y251251+CONFIG_INET_XFRM_MODE_BEET=y252252+# CONFIG_INET_LRO is not set253253+CONFIG_INET_DIAG=y254254+CONFIG_INET_TCP_DIAG=y255255+# CONFIG_TCP_CONG_ADVANCED is not set256256+CONFIG_TCP_CONG_CUBIC=y257257+CONFIG_DEFAULT_TCP_CONG="cubic"258258+# CONFIG_IP_VS is not set259259+CONFIG_IPV6=y260260+# CONFIG_IPV6_PRIVACY is not set261261+# CONFIG_IPV6_ROUTER_PREF is not set262262+# CONFIG_INET6_AH is not set263263+# CONFIG_INET6_ESP is not set264264+# CONFIG_INET6_IPCOMP is not set265265+# CONFIG_INET6_XFRM_TUNNEL is not set266266+# CONFIG_INET6_TUNNEL is not set267267+CONFIG_INET6_XFRM_MODE_TRANSPORT=y268268+CONFIG_INET6_XFRM_MODE_TUNNEL=y269269+CONFIG_INET6_XFRM_MODE_BEET=y270270+CONFIG_IPV6_SIT=y271271+# CONFIG_IPV6_TUNNEL is not set272272+# CONFIG_NETWORK_SECMARK is not set273273+CONFIG_NETFILTER=y274274+# CONFIG_NETFILTER_DEBUG is not set275275+276276+#277277+# Core Netfilter Configuration278278+#279279+# CONFIG_NETFILTER_NETLINK is not set280280+# CONFIG_NF_CONNTRACK_ENABLED is not set281281+# CONFIG_NF_CONNTRACK is not set282282+# CONFIG_NETFILTER_XTABLES is not set283283+284284+#285285+# IP: Netfilter Configuration286286+#287287+# CONFIG_IP_NF_QUEUE is not set288288+# CONFIG_IP_NF_IPTABLES is not set289289+# CONFIG_IP_NF_ARPTABLES is not set290290+# CONFIG_BRIDGE is not set291291+# CONFIG_VLAN_8021Q is not set292292+# CONFIG_DECNET is not set293293+# CONFIG_LLC2 is not set294294+# CONFIG_IPX is not set295295+# CONFIG_ATALK is not set296296+# CONFIG_NET_SCHED is not set297297+298298+#299299+# Network testing300300+#301301+# CONFIG_NET_PKTGEN is not set302302+# CONFIG_HAMRADIO is not set303303+# CONFIG_IRDA is not set304304+# CONFIG_BT is not set305305+306306+#307307+# Wireless308308+#309309+# CONFIG_CFG80211 is not set310310+# CONFIG_WIRELESS_EXT is not set311311+# CONFIG_IEEE80211 is not set312312+# CONFIG_RFKILL is not set313313+314314+#315315+# Device Drivers316316+#317317+318318+#319319+# Generic Driver Options320320+#321321+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"322322+CONFIG_STANDALONE=y323323+CONFIG_PREVENT_FIRMWARE_BUILD=y324324+# CONFIG_FW_LOADER is not set325325+# CONFIG_DEBUG_DRIVER is not set326326+# CONFIG_DEBUG_DEVRES is not set327327+# CONFIG_SYS_HYPERVISOR is not set328328+# CONFIG_CONNECTOR is not set329329+CONFIG_MTD=y330330+# CONFIG_MTD_DEBUG is not set331331+# CONFIG_MTD_CONCAT is not set332332+# CONFIG_MTD_PARTITIONS is not set333333+334334+#335335+# User Modules And Translation Layers336336+#337337+CONFIG_MTD_CHAR=y338338+CONFIG_MTD_BLKDEVS=y339339+CONFIG_MTD_BLOCK=y340340+# CONFIG_FTL is not set341341+# CONFIG_NFTL is not set342342+# CONFIG_INFTL is not set343343+# CONFIG_RFD_FTL is not set344344+# CONFIG_SSFDC is not set345345+# CONFIG_MTD_OOPS is not set346346+347347+#348348+# RAM/ROM/Flash chip drivers349349+#350350+CONFIG_MTD_CFI=y351351+# CONFIG_MTD_JEDECPROBE is not set352352+CONFIG_MTD_GEN_PROBE=y353353+CONFIG_MTD_CFI_ADV_OPTIONS=y354354+CONFIG_MTD_CFI_NOSWAP=y355355+# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set356356+# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set357357+CONFIG_MTD_CFI_GEOMETRY=y358358+# CONFIG_MTD_MAP_BANK_WIDTH_1 is not set359359+# CONFIG_MTD_MAP_BANK_WIDTH_2 is not set360360+CONFIG_MTD_MAP_BANK_WIDTH_4=y361361+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set362362+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set363363+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set364364+# CONFIG_MTD_CFI_I1 is not set365365+CONFIG_MTD_CFI_I2=y366366+# CONFIG_MTD_CFI_I4 is not set367367+# CONFIG_MTD_CFI_I8 is not set368368+# CONFIG_MTD_OTP is not set369369+# CONFIG_MTD_CFI_INTELEXT is not set370370+CONFIG_MTD_CFI_AMDSTD=y371371+# CONFIG_MTD_CFI_STAA is not set372372+CONFIG_MTD_CFI_UTIL=y373373+# CONFIG_MTD_RAM is not set374374+# CONFIG_MTD_ROM is not set375375+# CONFIG_MTD_ABSENT is not set376376+377377+#378378+# Mapping drivers for chip access379379+#380380+# CONFIG_MTD_COMPLEX_MAPPINGS is not set381381+# CONFIG_MTD_PHYSMAP is not set382382+CONFIG_MTD_PHYSMAP_OF=y383383+# CONFIG_MTD_PLATRAM is not set384384+385385+#386386+# Self-contained MTD device drivers387387+#388388+# CONFIG_MTD_SLRAM is not set389389+# CONFIG_MTD_PHRAM is not set390390+# CONFIG_MTD_MTDRAM is not set391391+# CONFIG_MTD_BLOCK2MTD is not set392392+393393+#394394+# Disk-On-Chip Device Drivers395395+#396396+# CONFIG_MTD_DOC2000 is not set397397+# CONFIG_MTD_DOC2001 is not set398398+# CONFIG_MTD_DOC2001PLUS is not set399399+# CONFIG_MTD_NAND is not set400400+# CONFIG_MTD_ONENAND is not set401401+402402+#403403+# UBI - Unsorted block images404404+#405405+# CONFIG_MTD_UBI is not set406406+CONFIG_OF_DEVICE=y407407+# CONFIG_PARPORT is not set408408+CONFIG_BLK_DEV=y409409+# CONFIG_BLK_DEV_FD is not set410410+# CONFIG_BLK_DEV_COW_COMMON is not set411411+CONFIG_BLK_DEV_LOOP=y412412+# CONFIG_BLK_DEV_CRYPTOLOOP is not set413413+# CONFIG_BLK_DEV_NBD is not set414414+# CONFIG_BLK_DEV_RAM is not set415415+# CONFIG_CDROM_PKTCDVD is not set416416+# CONFIG_ATA_OVER_ETH is not set417417+# CONFIG_MISC_DEVICES is not set418418+# CONFIG_IDE is not set419419+420420+#421421+# SCSI device support422422+#423423+# CONFIG_RAID_ATTRS is not set424424+# CONFIG_SCSI is not set425425+# CONFIG_SCSI_DMA is not set426426+# CONFIG_SCSI_NETLINK is not set427427+# CONFIG_ATA is not set428428+# CONFIG_MD is not set429429+# CONFIG_MACINTOSH_DRIVERS is not set430430+CONFIG_NETDEVICES=y431431+# CONFIG_NETDEVICES_MULTIQUEUE is not set432432+# CONFIG_DUMMY is not set433433+# CONFIG_BONDING is not set434434+# CONFIG_EQUALIZER is not set435435+# CONFIG_TUN is not set436436+# CONFIG_VETH is not set437437+CONFIG_PHYLIB=y438438+439439+#440440+# MII PHY device drivers441441+#442442+# CONFIG_MARVELL_PHY is not set443443+CONFIG_DAVICOM_PHY=y444444+# CONFIG_QSEMI_PHY is not set445445+# CONFIG_LXT_PHY is not set446446+# CONFIG_CICADA_PHY is not set447447+# CONFIG_VITESSE_PHY is not set448448+# CONFIG_SMSC_PHY is not set449449+# CONFIG_BROADCOM_PHY is not set450450+# CONFIG_ICPLUS_PHY is not set451451+# CONFIG_FIXED_PHY is not set452452+CONFIG_MDIO_BITBANG=y453453+CONFIG_NET_ETHERNET=y454454+CONFIG_MII=y455455+# CONFIG_IBM_NEW_EMAC_ZMII is not set456456+# CONFIG_IBM_NEW_EMAC_RGMII is not set457457+# CONFIG_IBM_NEW_EMAC_TAH is not set458458+# CONFIG_IBM_NEW_EMAC_EMAC4 is not set459459+# CONFIG_B44 is not set460460+CONFIG_FS_ENET=y461461+# CONFIG_FS_ENET_HAS_SCC is not set462462+CONFIG_FS_ENET_HAS_FCC=y463463+# CONFIG_FS_ENET_MDIO_FCC is not set464464+CONFIG_NETDEV_1000=y465465+CONFIG_NETDEV_10000=y466466+467467+#468468+# Wireless LAN469469+#470470+# CONFIG_WLAN_PRE80211 is not set471471+# CONFIG_WLAN_80211 is not set472472+# CONFIG_WAN is not set473473+# CONFIG_PPP is not set474474+# CONFIG_SLIP is not set475475+# CONFIG_NETPOLL is not set476476+# CONFIG_NET_POLL_CONTROLLER is not set477477+# CONFIG_ISDN is not set478478+# CONFIG_PHONE is not set479479+480480+#481481+# Input device support482482+#483483+# CONFIG_INPUT is not set484484+485485+#486486+# Hardware I/O ports487487+#488488+# CONFIG_SERIO is not set489489+# CONFIG_GAMEPORT is not set490490+491491+#492492+# Character devices493493+#494494+# CONFIG_VT is not set495495+# CONFIG_SERIAL_NONSTANDARD is not set496496+497497+#498498+# Serial drivers499499+#500500+# CONFIG_SERIAL_8250 is not set501501+502502+#503503+# Non-8250 serial port support504504+#505505+# CONFIG_SERIAL_UARTLITE is not set506506+CONFIG_SERIAL_CORE=y507507+CONFIG_SERIAL_CORE_CONSOLE=y508508+CONFIG_SERIAL_CPM=y509509+CONFIG_SERIAL_CPM_CONSOLE=y510510+CONFIG_SERIAL_CPM_SCC1=y511511+# CONFIG_SERIAL_CPM_SCC2 is not set512512+# CONFIG_SERIAL_CPM_SCC3 is not set513513+CONFIG_SERIAL_CPM_SCC4=y514514+# CONFIG_SERIAL_CPM_SMC1 is not set515515+# CONFIG_SERIAL_CPM_SMC2 is not set516516+CONFIG_UNIX98_PTYS=y517517+CONFIG_LEGACY_PTYS=y518518+CONFIG_LEGACY_PTY_COUNT=256519519+# CONFIG_IPMI_HANDLER is not set520520+CONFIG_HW_RANDOM=y521521+# CONFIG_NVRAM is not set522522+# CONFIG_GEN_RTC is not set523523+# CONFIG_R3964 is not set524524+# CONFIG_RAW_DRIVER is not set525525+# CONFIG_I2C is not set526526+527527+#528528+# SPI support529529+#530530+# CONFIG_SPI is not set531531+# CONFIG_SPI_MASTER is not set532532+# CONFIG_W1 is not set533533+# CONFIG_POWER_SUPPLY is not set534534+# CONFIG_HWMON is not set535535+# CONFIG_WATCHDOG is not set536536+537537+#538538+# Sonics Silicon Backplane539539+#540540+CONFIG_SSB_POSSIBLE=y541541+# CONFIG_SSB is not set542542+543543+#544544+# Multifunction device drivers545545+#546546+# CONFIG_MFD_SM501 is not set547547+548548+#549549+# Multimedia devices550550+#551551+# CONFIG_VIDEO_DEV is not set552552+# CONFIG_DVB_CORE is not set553553+CONFIG_DAB=y554554+555555+#556556+# Graphics support557557+#558558+# CONFIG_VGASTATE is not set559559+# CONFIG_VIDEO_OUTPUT_CONTROL is not set560560+# CONFIG_FB is not set561561+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set562562+563563+#564564+# Display device support565565+#566566+# CONFIG_DISPLAY_SUPPORT is not set567567+568568+#569569+# Sound570570+#571571+# CONFIG_SOUND is not set572572+# CONFIG_USB_SUPPORT is not set573573+# CONFIG_MMC is not set574574+# CONFIG_NEW_LEDS is not set575575+# CONFIG_RTC_CLASS is not set576576+577577+#578578+# Userspace I/O579579+#580580+# CONFIG_UIO is not set581581+582582+#583583+# File systems584584+#585585+CONFIG_EXT2_FS=y586586+# CONFIG_EXT2_FS_XATTR is not set587587+# CONFIG_EXT2_FS_XIP is not set588588+CONFIG_EXT3_FS=y589589+# CONFIG_EXT3_FS_XATTR is not set590590+CONFIG_JBD=y591591+# CONFIG_REISERFS_FS is not set592592+# CONFIG_JFS_FS is not set593593+# CONFIG_FS_POSIX_ACL is not set594594+# CONFIG_XFS_FS is not set595595+# CONFIG_OCFS2_FS is not set596596+# CONFIG_MINIX_FS is not set597597+# CONFIG_ROMFS_FS is not set598598+CONFIG_INOTIFY=y599599+CONFIG_INOTIFY_USER=y600600+# CONFIG_QUOTA is not set601601+CONFIG_DNOTIFY=y602602+# CONFIG_AUTOFS_FS is not set603603+CONFIG_AUTOFS4_FS=y604604+# CONFIG_FUSE_FS is not set605605+606606+#607607+# CD-ROM/DVD Filesystems608608+#609609+# CONFIG_ISO9660_FS is not set610610+# CONFIG_UDF_FS is not set611611+612612+#613613+# DOS/FAT/NT Filesystems614614+#615615+# CONFIG_MSDOS_FS is not set616616+# CONFIG_VFAT_FS is not set617617+# CONFIG_NTFS_FS is not set618618+619619+#620620+# Pseudo filesystems621621+#622622+CONFIG_PROC_FS=y623623+CONFIG_PROC_KCORE=y624624+CONFIG_PROC_SYSCTL=y625625+CONFIG_SYSFS=y626626+CONFIG_TMPFS=y627627+# CONFIG_TMPFS_POSIX_ACL is not set628628+# CONFIG_HUGETLB_PAGE is not set629629+630630+#631631+# Miscellaneous filesystems632632+#633633+# CONFIG_HFSPLUS_FS is not set634634+# CONFIG_JFFS2_FS is not set635635+CONFIG_CRAMFS=y636636+# CONFIG_VXFS_FS is not set637637+# CONFIG_HPFS_FS is not set638638+# CONFIG_QNX4FS_FS is not set639639+# CONFIG_SYSV_FS is not set640640+# CONFIG_UFS_FS is not set641641+CONFIG_NETWORK_FILESYSTEMS=y642642+CONFIG_NFS_FS=y643643+CONFIG_NFS_V3=y644644+# CONFIG_NFS_V3_ACL is not set645645+# CONFIG_NFS_DIRECTIO is not set646646+# CONFIG_NFSD is not set647647+CONFIG_ROOT_NFS=y648648+CONFIG_LOCKD=y649649+CONFIG_LOCKD_V4=y650650+CONFIG_NFS_COMMON=y651651+CONFIG_SUNRPC=y652652+# CONFIG_SMB_FS is not set653653+# CONFIG_CIFS is not set654654+# CONFIG_NCP_FS is not set655655+# CONFIG_CODA_FS is not set656656+657657+#658658+# Partition Types659659+#660660+CONFIG_PARTITION_ADVANCED=y661661+# CONFIG_ACORN_PARTITION is not set662662+# CONFIG_OSF_PARTITION is not set663663+# CONFIG_AMIGA_PARTITION is not set664664+# CONFIG_ATARI_PARTITION is not set665665+# CONFIG_MAC_PARTITION is not set666666+CONFIG_MSDOS_PARTITION=y667667+# CONFIG_BSD_DISKLABEL is not set668668+# CONFIG_MINIX_SUBPARTITION is not set669669+# CONFIG_SOLARIS_X86_PARTITION is not set670670+# CONFIG_UNIXWARE_DISKLABEL is not set671671+# CONFIG_LDM_PARTITION is not set672672+# CONFIG_SGI_PARTITION is not set673673+# CONFIG_ULTRIX_PARTITION is not set674674+# CONFIG_SUN_PARTITION is not set675675+# CONFIG_KARMA_PARTITION is not set676676+# CONFIG_EFI_PARTITION is not set677677+# CONFIG_SYSV68_PARTITION is not set678678+CONFIG_NLS=y679679+CONFIG_NLS_DEFAULT="iso8859-1"680680+CONFIG_NLS_CODEPAGE_437=y681681+# CONFIG_NLS_CODEPAGE_737 is not set682682+# CONFIG_NLS_CODEPAGE_775 is not set683683+# CONFIG_NLS_CODEPAGE_850 is not set684684+# CONFIG_NLS_CODEPAGE_852 is not set685685+# CONFIG_NLS_CODEPAGE_855 is not set686686+# CONFIG_NLS_CODEPAGE_857 is not set687687+# CONFIG_NLS_CODEPAGE_860 is not set688688+# CONFIG_NLS_CODEPAGE_861 is not set689689+# CONFIG_NLS_CODEPAGE_862 is not set690690+# CONFIG_NLS_CODEPAGE_863 is not set691691+# CONFIG_NLS_CODEPAGE_864 is not set692692+# CONFIG_NLS_CODEPAGE_865 is not set693693+# CONFIG_NLS_CODEPAGE_866 is not set694694+# CONFIG_NLS_CODEPAGE_869 is not set695695+# CONFIG_NLS_CODEPAGE_936 is not set696696+# CONFIG_NLS_CODEPAGE_950 is not set697697+# CONFIG_NLS_CODEPAGE_932 is not set698698+# CONFIG_NLS_CODEPAGE_949 is not set699699+# CONFIG_NLS_CODEPAGE_874 is not set700700+# CONFIG_NLS_ISO8859_8 is not set701701+# CONFIG_NLS_CODEPAGE_1250 is not set702702+# CONFIG_NLS_CODEPAGE_1251 is not set703703+CONFIG_NLS_ASCII=y704704+CONFIG_NLS_ISO8859_1=y705705+# CONFIG_NLS_ISO8859_2 is not set706706+# CONFIG_NLS_ISO8859_3 is not set707707+# CONFIG_NLS_ISO8859_4 is not set708708+# CONFIG_NLS_ISO8859_5 is not set709709+# CONFIG_NLS_ISO8859_6 is not set710710+# CONFIG_NLS_ISO8859_7 is not set711711+# CONFIG_NLS_ISO8859_9 is not set712712+# CONFIG_NLS_ISO8859_13 is not set713713+# CONFIG_NLS_ISO8859_14 is not set714714+# CONFIG_NLS_ISO8859_15 is not set715715+# CONFIG_NLS_KOI8_R is not set716716+# CONFIG_NLS_KOI8_U is not set717717+CONFIG_NLS_UTF8=y718718+# CONFIG_UCC_SLOW is not set719719+720720+#721721+# Library routines722722+#723723+# CONFIG_CRC_CCITT is not set724724+# CONFIG_CRC16 is not set725725+# CONFIG_CRC_ITU_T is not set726726+# CONFIG_CRC32 is not set727727+# CONFIG_CRC7 is not set728728+# CONFIG_LIBCRC32C is not set729729+CONFIG_ZLIB_INFLATE=y730730+CONFIG_PLIST=y731731+CONFIG_HAS_IOMEM=y732732+CONFIG_HAS_IOPORT=y733733+CONFIG_HAS_DMA=y734734+CONFIG_INSTRUMENTATION=y735735+# CONFIG_PROFILING is not set736736+# CONFIG_MARKERS is not set737737+738738+#739739+# Kernel hacking740740+#741741+# CONFIG_PRINTK_TIME is not set742742+CONFIG_ENABLE_WARN_DEPRECATED=y743743+CONFIG_ENABLE_MUST_CHECK=y744744+CONFIG_MAGIC_SYSRQ=y745745+# CONFIG_UNUSED_SYMBOLS is not set746746+# CONFIG_DEBUG_FS is not set747747+# CONFIG_HEADERS_CHECK is not set748748+CONFIG_DEBUG_KERNEL=y749749+# CONFIG_DEBUG_SHIRQ is not set750750+# CONFIG_DETECT_SOFTLOCKUP is not set751751+# CONFIG_SCHED_DEBUG is not set752752+# CONFIG_SCHEDSTATS is not set753753+# CONFIG_TIMER_STATS is not set754754+# CONFIG_DEBUG_SLAB is not set755755+# CONFIG_DEBUG_RT_MUTEXES is not set756756+# CONFIG_RT_MUTEX_TESTER is not set757757+# CONFIG_DEBUG_SPINLOCK is not set758758+# CONFIG_DEBUG_MUTEXES is not set759759+# CONFIG_DEBUG_SPINLOCK_SLEEP is not set760760+# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set761761+# CONFIG_DEBUG_KOBJECT is not set762762+CONFIG_DEBUG_BUGVERBOSE=y763763+CONFIG_DEBUG_INFO=y764764+# CONFIG_DEBUG_VM is not set765765+# CONFIG_DEBUG_LIST is not set766766+# CONFIG_DEBUG_SG is not set767767+CONFIG_FORCED_INLINING=y768768+# CONFIG_BOOT_PRINTK_DELAY is not set769769+# CONFIG_FAULT_INJECTION is not set770770+# CONFIG_SAMPLES is not set771771+# CONFIG_DEBUG_STACKOVERFLOW is not set772772+# CONFIG_DEBUG_STACK_USAGE is not set773773+# CONFIG_DEBUG_PAGEALLOC is not set774774+# CONFIG_DEBUGGER is not set775775+# CONFIG_KGDB_CONSOLE is not set776776+CONFIG_BDI_SWITCH=y777777+# CONFIG_PPC_EARLY_DEBUG is not set778778+779779+#780780+# Security options781781+#782782+# CONFIG_KEYS is not set783783+# CONFIG_SECURITY is not set784784+CONFIG_CRYPTO=y785785+CONFIG_CRYPTO_ALGAPI=y786786+CONFIG_CRYPTO_BLKCIPHER=y787787+CONFIG_CRYPTO_MANAGER=y788788+# CONFIG_CRYPTO_HMAC is not set789789+# CONFIG_CRYPTO_NULL is not set790790+# CONFIG_CRYPTO_MD4 is not set791791+CONFIG_CRYPTO_MD5=y792792+# CONFIG_CRYPTO_SHA1 is not set793793+# CONFIG_CRYPTO_SHA256 is not set794794+# CONFIG_CRYPTO_SHA512 is not set795795+# CONFIG_CRYPTO_WP512 is not set796796+# CONFIG_CRYPTO_TGR192 is not set797797+CONFIG_CRYPTO_ECB=y798798+CONFIG_CRYPTO_CBC=y799799+CONFIG_CRYPTO_PCBC=y800800+# CONFIG_CRYPTO_CRYPTD is not set801801+CONFIG_CRYPTO_DES=y802802+# CONFIG_CRYPTO_FCRYPT is not set803803+# CONFIG_CRYPTO_BLOWFISH is not set804804+# CONFIG_CRYPTO_TWOFISH is not set805805+# CONFIG_CRYPTO_SERPENT is not set806806+# CONFIG_CRYPTO_AES is not set807807+# CONFIG_CRYPTO_CAST5 is not set808808+# CONFIG_CRYPTO_CAST6 is not set809809+# CONFIG_CRYPTO_TEA is not set810810+# CONFIG_CRYPTO_ARC4 is not set811811+# CONFIG_CRYPTO_KHAZAD is not set812812+# CONFIG_CRYPTO_ANUBIS is not set813813+# CONFIG_CRYPTO_SEED is not set814814+# CONFIG_CRYPTO_DEFLATE is not set815815+# CONFIG_CRYPTO_MICHAEL_MIC is not set816816+# CONFIG_CRYPTO_CRC32C is not set817817+# CONFIG_CRYPTO_CAMELLIA is not set818818+# CONFIG_CRYPTO_AUTHENC is not set819819+# CONFIG_CRYPTO_HW is not set820820+# CONFIG_PPC_CLOCK is not set821821+CONFIG_PPC_LIB_RHEAP=y
+33-13
arch/powerpc/configs/mpc8313_rdb_defconfig
···11#22# Automatically generated make config: don't edit33-# Linux kernel version: 2.6.24-rc444-# Thu Dec 6 16:48:31 200733+# Linux kernel version: 2.6.24-rc644+# Thu Jan 17 16:35:55 200855#66# CONFIG_PPC64 is not set77···144144# CONFIG_MPC834x_MDS is not set145145# CONFIG_MPC834x_ITX is not set146146# CONFIG_MPC836x_MDS is not set147147+# CONFIG_MPC837x_MDS is not set147148CONFIG_PPC_MPC831x=y148149# CONFIG_MPIC is not set149150# CONFIG_MPIC_WEIRD is not set···337336CONFIG_MTD=y338337# CONFIG_MTD_DEBUG is not set339338# CONFIG_MTD_CONCAT is not set340340-# CONFIG_MTD_PARTITIONS is not set339339+CONFIG_MTD_PARTITIONS=y340340+# CONFIG_MTD_REDBOOT_PARTS is not set341341+# CONFIG_MTD_CMDLINE_PARTS is not set341342342343#343344# User Modules And Translation Layers344345#345346CONFIG_MTD_CHAR=y346346-# CONFIG_MTD_BLKDEVS is not set347347-# CONFIG_MTD_BLOCK is not set348348-# CONFIG_MTD_BLOCK_RO is not set347347+CONFIG_MTD_BLKDEVS=y348348+CONFIG_MTD_BLOCK=y349349# CONFIG_FTL is not set350350# CONFIG_NFTL is not set351351# CONFIG_INFTL is not set···383381# Mapping drivers for chip access384382#385383# CONFIG_MTD_COMPLEX_MAPPINGS is not set386386-CONFIG_MTD_PHYSMAP=y387387-CONFIG_MTD_PHYSMAP_START=0xfe000000388388-CONFIG_MTD_PHYSMAP_LEN=0x1000000389389-CONFIG_MTD_PHYSMAP_BANKWIDTH=2390390-# CONFIG_MTD_PHYSMAP_OF is not set384384+# CONFIG_MTD_PHYSMAP is not set385385+CONFIG_MTD_PHYSMAP_OF=y391386# CONFIG_MTD_INTEL_VR_NOR is not set392387# CONFIG_MTD_PLATRAM is not set393388···405406# CONFIG_MTD_DOC2000 is not set406407# CONFIG_MTD_DOC2001 is not set407408# CONFIG_MTD_DOC2001PLUS is not set408408-# CONFIG_MTD_NAND is not set409409+CONFIG_MTD_NAND=y410410+CONFIG_MTD_NAND_VERIFY_WRITE=y411411+# CONFIG_MTD_NAND_ECC_SMC is not set412412+# CONFIG_MTD_NAND_MUSEUM_IDS is not set413413+CONFIG_MTD_NAND_IDS=y414414+# CONFIG_MTD_NAND_DISKONCHIP is not set415415+# CONFIG_MTD_NAND_CAFE is not set416416+# CONFIG_MTD_NAND_NANDSIM is not set417417+# CONFIG_MTD_NAND_PLATFORM is not set418418+# CONFIG_MTD_ALAUDA is not set409419# CONFIG_MTD_ONENAND is not set410420411421#···11861178# CONFIG_BEFS_FS is not set11871179# CONFIG_BFS_FS is not set11881180# CONFIG_EFS_FS is not set11891189-# CONFIG_JFFS2_FS is not set11811181+CONFIG_JFFS2_FS=y11821182+CONFIG_JFFS2_FS_DEBUG=011831183+CONFIG_JFFS2_FS_WRITEBUFFER=y11841184+# CONFIG_JFFS2_FS_WBUF_VERIFY is not set11851185+# CONFIG_JFFS2_SUMMARY is not set11861186+# CONFIG_JFFS2_FS_XATTR is not set11871187+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set11881188+CONFIG_JFFS2_ZLIB=y11891189+# CONFIG_JFFS2_LZO is not set11901190+CONFIG_JFFS2_RTIME=y11911191+# CONFIG_JFFS2_RUBIN is not set11901192# CONFIG_CRAMFS is not set11911193# CONFIG_VXFS_FS is not set11921194# CONFIG_HPFS_FS is not set···12601242CONFIG_CRC32=y12611243# CONFIG_CRC7 is not set12621244# CONFIG_LIBCRC32C is not set12451245+CONFIG_ZLIB_INFLATE=y12461246+CONFIG_ZLIB_DEFLATE=y12631247CONFIG_PLIST=y12641248CONFIG_HAS_IOMEM=y12651249CONFIG_HAS_IOPORT=y
+2-1
arch/powerpc/configs/mpc834x_itx_defconfig
···570570# CONFIG_PATA_SIS is not set571571# CONFIG_PATA_VIA is not set572572# CONFIG_PATA_WINBOND is not set573573-# CONFIG_PATA_PLATFORM is not set573573+CONFIG_PATA_PLATFORM=y574574+CONFIG_PATA_OF_PLATFORM=y574575CONFIG_MD=y575576CONFIG_BLK_DEV_MD=y576577CONFIG_MD_LINEAR=y
+168-3
arch/powerpc/configs/mpc8610_hpcd_defconfig
···696696CONFIG_SERIAL_CORE=y697697CONFIG_SERIAL_CORE_CONSOLE=y698698# CONFIG_SERIAL_JSM is not set699699-CONFIG_SERIAL_OF_PLATFORM=y699699+# CONFIG_SERIAL_OF_PLATFORM is not set700700CONFIG_UNIX98_PTYS=y701701# CONFIG_LEGACY_PTYS is not set702702# CONFIG_IPMI_HANDLER is not set···708708# CONFIG_RAW_DRIVER is not set709709# CONFIG_TCG_TPM is not set710710CONFIG_DEVPORT=y711711-# CONFIG_I2C is not set711711+CONFIG_I2C=y712712+CONFIG_I2C_BOARDINFO=y713713+# CONFIG_I2C_CHARDEV is not set714714+715715+#716716+# I2C Algorithms717717+#718718+# CONFIG_I2C_ALGOBIT is not set719719+# CONFIG_I2C_ALGOPCF is not set720720+# CONFIG_I2C_ALGOPCA is not set721721+722722+#723723+# I2C Hardware Bus support724724+#725725+# CONFIG_I2C_ALI1535 is not set726726+# CONFIG_I2C_ALI1563 is not set727727+# CONFIG_I2C_ALI15X3 is not set728728+# CONFIG_I2C_AMD756 is not set729729+# CONFIG_I2C_AMD8111 is not set730730+# CONFIG_I2C_I801 is not set731731+# CONFIG_I2C_I810 is not set732732+# CONFIG_I2C_PIIX4 is not set733733+CONFIG_I2C_MPC=y734734+# CONFIG_I2C_NFORCE2 is not set735735+# CONFIG_I2C_OCORES is not set736736+# CONFIG_I2C_PARPORT_LIGHT is not set737737+# CONFIG_I2C_PROSAVAGE is not set738738+# CONFIG_I2C_SAVAGE4 is not set739739+# CONFIG_I2C_SIMTEC is not set740740+# CONFIG_I2C_SIS5595 is not set741741+# CONFIG_I2C_SIS630 is not set742742+# CONFIG_I2C_SIS96X is not set743743+# CONFIG_I2C_TAOS_EVM is not set744744+# CONFIG_I2C_VIA is not set745745+# CONFIG_I2C_VIAPRO is not set746746+# CONFIG_I2C_VOODOO3 is not set747747+748748+#749749+# Miscellaneous I2C Chip support750750+#751751+# CONFIG_SENSORS_DS1337 is not set752752+# CONFIG_SENSORS_DS1374 is not set753753+# CONFIG_DS1682 is not set754754+# CONFIG_SENSORS_EEPROM is not set755755+# CONFIG_SENSORS_PCF8574 is not set756756+# CONFIG_SENSORS_PCA9539 is not set757757+# CONFIG_SENSORS_PCF8591 is not set758758+# CONFIG_SENSORS_M41T00 is not set759759+# CONFIG_SENSORS_MAX6875 is not set760760+# CONFIG_SENSORS_TSL2550 is not set761761+# CONFIG_I2C_DEBUG_CORE is not set762762+# CONFIG_I2C_DEBUG_ALGO is not set763763+# CONFIG_I2C_DEBUG_BUS is not set764764+# CONFIG_I2C_DEBUG_CHIP is not set712765713766#714767# SPI support···816763#817764# Sound818765#819819-# CONFIG_SOUND is not set766766+CONFIG_SOUND=y767767+768768+#769769+# Advanced Linux Sound Architecture770770+#771771+CONFIG_SND=y772772+CONFIG_SND_TIMER=y773773+CONFIG_SND_PCM=y774774+# CONFIG_SND_SEQUENCER is not set775775+CONFIG_SND_OSSEMUL=y776776+CONFIG_SND_MIXER_OSS=y777777+CONFIG_SND_PCM_OSS=y778778+# CONFIG_SND_PCM_OSS_PLUGINS is not set779779+# CONFIG_SND_DYNAMIC_MINORS is not set780780+# CONFIG_SND_SUPPORT_OLD_API is not set781781+CONFIG_SND_VERBOSE_PROCFS=y782782+# CONFIG_SND_VERBOSE_PRINTK is not set783783+# CONFIG_SND_DEBUG is not set784784+785785+#786786+# Generic devices787787+#788788+# CONFIG_SND_DUMMY is not set789789+# CONFIG_SND_MTPAV is not set790790+# CONFIG_SND_SERIAL_U16550 is not set791791+# CONFIG_SND_MPU401 is not set792792+793793+#794794+# PCI devices795795+#796796+# CONFIG_SND_AD1889 is not set797797+# CONFIG_SND_ALS300 is not set798798+# CONFIG_SND_ALS4000 is not set799799+# CONFIG_SND_ALI5451 is not set800800+# CONFIG_SND_ATIIXP is not set801801+# CONFIG_SND_ATIIXP_MODEM is not set802802+# CONFIG_SND_AU8810 is not set803803+# CONFIG_SND_AU8820 is not set804804+# CONFIG_SND_AU8830 is not set805805+# CONFIG_SND_AZT3328 is not set806806+# CONFIG_SND_BT87X is not set807807+# CONFIG_SND_CA0106 is not set808808+# CONFIG_SND_CMIPCI is not set809809+# CONFIG_SND_CS4281 is not set810810+# CONFIG_SND_CS46XX is not set811811+# CONFIG_SND_CS5530 is not set812812+# CONFIG_SND_DARLA20 is not set813813+# CONFIG_SND_GINA20 is not set814814+# CONFIG_SND_LAYLA20 is not set815815+# CONFIG_SND_DARLA24 is not set816816+# CONFIG_SND_GINA24 is not set817817+# CONFIG_SND_LAYLA24 is not set818818+# CONFIG_SND_MONA is not set819819+# CONFIG_SND_MIA is not set820820+# CONFIG_SND_ECHO3G is not set821821+# CONFIG_SND_INDIGO is not set822822+# CONFIG_SND_INDIGOIO is not set823823+# CONFIG_SND_INDIGODJ is not set824824+# CONFIG_SND_EMU10K1 is not set825825+# CONFIG_SND_EMU10K1X is not set826826+# CONFIG_SND_ENS1370 is not set827827+# CONFIG_SND_ENS1371 is not set828828+# CONFIG_SND_ES1938 is not set829829+# CONFIG_SND_ES1968 is not set830830+# CONFIG_SND_FM801 is not set831831+# CONFIG_SND_HDA_INTEL is not set832832+# CONFIG_SND_HDSP is not set833833+# CONFIG_SND_HDSPM is not set834834+# CONFIG_SND_ICE1712 is not set835835+# CONFIG_SND_ICE1724 is not set836836+# CONFIG_SND_INTEL8X0 is not set837837+# CONFIG_SND_INTEL8X0M is not set838838+# CONFIG_SND_KORG1212 is not set839839+# CONFIG_SND_MAESTRO3 is not set840840+# CONFIG_SND_MIXART is not set841841+# CONFIG_SND_NM256 is not set842842+# CONFIG_SND_PCXHR is not set843843+# CONFIG_SND_RIPTIDE is not set844844+# CONFIG_SND_RME32 is not set845845+# CONFIG_SND_RME96 is not set846846+# CONFIG_SND_RME9652 is not set847847+# CONFIG_SND_SONICVIBES is not set848848+# CONFIG_SND_TRIDENT is not set849849+# CONFIG_SND_VIA82XX is not set850850+# CONFIG_SND_VIA82XX_MODEM is not set851851+# CONFIG_SND_VX222 is not set852852+# CONFIG_SND_YMFPCI is not set853853+854854+#855855+# ALSA PowerMac devices856856+#857857+858858+#859859+# ALSA PowerPC devices860860+#861861+862862+#863863+# System on Chip audio support864864+#865865+CONFIG_SND_SOC=y866866+867867+#868868+# SoC Audio support for SuperH869869+#870870+871871+#872872+# ALSA SoC audio for Freescale SOCs873873+#874874+CONFIG_SND_SOC_MPC8610=y875875+CONFIG_SND_SOC_MPC8610_HPCD=y876876+CONFIG_SND_SOC_CS4270=y877877+CONFIG_SND_SOC_CS4270_VD33_ERRATA=y878878+820879CONFIG_HID_SUPPORT=y821880CONFIG_HID=y822881# CONFIG_HID_DEBUG is not set
+1174
arch/powerpc/configs/storcenter_defconfig
···11+#22+# Automatically generated make config: don't edit33+# Linux kernel version: 2.6.24-rc644+# Tue Jan 8 09:33:54 200855+#66+# CONFIG_PPC64 is not set77+88+#99+# Processor support1010+#1111+CONFIG_6xx=y1212+# CONFIG_PPC_85xx is not set1313+# CONFIG_PPC_8xx is not set1414+# CONFIG_40x is not set1515+# CONFIG_44x is not set1616+# CONFIG_E200 is not set1717+CONFIG_PPC_FPU=y1818+# CONFIG_ALTIVEC is not set1919+CONFIG_PPC_STD_MMU=y2020+CONFIG_PPC_STD_MMU_32=y2121+# CONFIG_PPC_MM_SLICES is not set2222+# CONFIG_SMP is not set2323+CONFIG_PPC32=y2424+CONFIG_WORD_SIZE=322525+CONFIG_PPC_MERGE=y2626+CONFIG_MMU=y2727+CONFIG_GENERIC_CMOS_UPDATE=y2828+CONFIG_GENERIC_TIME=y2929+CONFIG_GENERIC_TIME_VSYSCALL=y3030+CONFIG_GENERIC_CLOCKEVENTS=y3131+CONFIG_GENERIC_HARDIRQS=y3232+CONFIG_IRQ_PER_CPU=y3333+CONFIG_RWSEM_XCHGADD_ALGORITHM=y3434+CONFIG_ARCH_HAS_ILOG2_U32=y3535+CONFIG_GENERIC_HWEIGHT=y3636+CONFIG_GENERIC_CALIBRATE_DELAY=y3737+CONFIG_GENERIC_FIND_NEXT_BIT=y3838+# CONFIG_ARCH_NO_VIRT_TO_BUS is not set3939+CONFIG_PPC=y4040+CONFIG_EARLY_PRINTK=y4141+CONFIG_GENERIC_NVRAM=y4242+CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y4343+CONFIG_ARCH_MAY_HAVE_PC_FDC=y4444+CONFIG_PPC_OF=y4545+CONFIG_OF=y4646+CONFIG_PPC_UDBG_16550=y4747+# CONFIG_GENERIC_TBSYNC is not set4848+CONFIG_AUDIT_ARCH=y4949+CONFIG_GENERIC_BUG=y5050+# CONFIG_DEFAULT_UIMAGE is not set5151+# CONFIG_PPC_DCR_NATIVE is not set5252+# CONFIG_PPC_DCR_MMIO is not set5353+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"5454+5555+#5656+# General setup5757+#5858+CONFIG_EXPERIMENTAL=y5959+CONFIG_BROKEN_ON_SMP=y6060+CONFIG_INIT_ENV_ARG_LIMIT=326161+CONFIG_LOCALVERSION=""6262+CONFIG_LOCALVERSION_AUTO=y6363+CONFIG_SWAP=y6464+CONFIG_SYSVIPC=y6565+CONFIG_SYSVIPC_SYSCTL=y6666+# CONFIG_POSIX_MQUEUE is not set6767+# CONFIG_BSD_PROCESS_ACCT is not set6868+# CONFIG_TASKSTATS is not set6969+# CONFIG_USER_NS is not set7070+# CONFIG_PID_NS is not set7171+# CONFIG_AUDIT is not set7272+# CONFIG_IKCONFIG is not set7373+CONFIG_LOG_BUF_SHIFT=147474+# CONFIG_CGROUPS is not set7575+CONFIG_FAIR_GROUP_SCHED=y7676+CONFIG_FAIR_USER_SCHED=y7777+# CONFIG_FAIR_CGROUP_SCHED is not set7878+CONFIG_SYSFS_DEPRECATED=y7979+# CONFIG_RELAY is not set8080+# CONFIG_BLK_DEV_INITRD is not set8181+CONFIG_CC_OPTIMIZE_FOR_SIZE=y8282+CONFIG_SYSCTL=y8383+CONFIG_EMBEDDED=y8484+CONFIG_SYSCTL_SYSCALL=y8585+# CONFIG_KALLSYMS is not set8686+CONFIG_HOTPLUG=y8787+CONFIG_PRINTK=y8888+CONFIG_BUG=y8989+CONFIG_ELF_CORE=y9090+CONFIG_BASE_FULL=y9191+CONFIG_FUTEX=y9292+CONFIG_ANON_INODES=y9393+CONFIG_EPOLL=y9494+CONFIG_SIGNALFD=y9595+CONFIG_EVENTFD=y9696+CONFIG_SHMEM=y9797+CONFIG_VM_EVENT_COUNTERS=y9898+CONFIG_SLUB_DEBUG=y9999+# CONFIG_SLAB is not set100100+CONFIG_SLUB=y101101+# CONFIG_SLOB is not set102102+CONFIG_RT_MUTEXES=y103103+# CONFIG_TINY_SHMEM is not set104104+CONFIG_BASE_SMALL=0105105+CONFIG_MODULES=y106106+CONFIG_MODULE_UNLOAD=y107107+# CONFIG_MODULE_FORCE_UNLOAD is not set108108+# CONFIG_MODVERSIONS is not set109109+# CONFIG_MODULE_SRCVERSION_ALL is not set110110+CONFIG_KMOD=y111111+CONFIG_BLOCK=y112112+CONFIG_LBD=y113113+# CONFIG_BLK_DEV_IO_TRACE is not set114114+# CONFIG_LSF is not set115115+# CONFIG_BLK_DEV_BSG is not set116116+117117+#118118+# IO Schedulers119119+#120120+CONFIG_IOSCHED_NOOP=y121121+CONFIG_IOSCHED_AS=y122122+CONFIG_IOSCHED_DEADLINE=y123123+CONFIG_IOSCHED_CFQ=y124124+# CONFIG_DEFAULT_AS is not set125125+# CONFIG_DEFAULT_DEADLINE is not set126126+CONFIG_DEFAULT_CFQ=y127127+# CONFIG_DEFAULT_NOOP is not set128128+CONFIG_DEFAULT_IOSCHED="cfq"129129+130130+#131131+# Platform support132132+#133133+CONFIG_PPC_MULTIPLATFORM=y134134+# CONFIG_PPC_82xx is not set135135+# CONFIG_PPC_83xx is not set136136+# CONFIG_PPC_86xx is not set137137+CONFIG_CLASSIC32=y138138+# CONFIG_PPC_CHRP is not set139139+# CONFIG_PPC_MPC52xx is not set140140+# CONFIG_PPC_MPC5200 is not set141141+# CONFIG_PPC_EFIKA is not set142142+# CONFIG_PPC_LITE5200 is not set143143+# CONFIG_PPC_PMAC is not set144144+# CONFIG_PPC_CELL is not set145145+# CONFIG_PPC_CELL_NATIVE is not set146146+# CONFIG_PQ2ADS is not set147147+CONFIG_EMBEDDED6xx=y148148+# CONFIG_LINKSTATION is not set149149+CONFIG_STORCENTER=y150150+# CONFIG_MPC7448HPC2 is not set151151+# CONFIG_PPC_HOLLY is not set152152+# CONFIG_PPC_PRPMC2800 is not set153153+CONFIG_MPC10X_BRIDGE=y154154+CONFIG_MPC10X_OPENPIC=y155155+# CONFIG_MPC10X_STORE_GATHERING is not set156156+CONFIG_MPIC=y157157+# CONFIG_MPIC_WEIRD is not set158158+# CONFIG_PPC_I8259 is not set159159+# CONFIG_PPC_RTAS is not set160160+# CONFIG_MMIO_NVRAM is not set161161+# CONFIG_PPC_MPC106 is not set162162+# CONFIG_PPC_970_NAP is not set163163+# CONFIG_PPC_INDIRECT_IO is not set164164+# CONFIG_GENERIC_IOMAP is not set165165+# CONFIG_CPU_FREQ is not set166166+# CONFIG_TAU is not set167167+# CONFIG_CPM2 is not set168168+# CONFIG_FSL_ULI1575 is not set169169+170170+#171171+# Kernel options172172+#173173+# CONFIG_HIGHMEM is not set174174+# CONFIG_TICK_ONESHOT is not set175175+# CONFIG_NO_HZ is not set176176+# CONFIG_HIGH_RES_TIMERS is not set177177+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y178178+CONFIG_HZ_100=y179179+# CONFIG_HZ_250 is not set180180+# CONFIG_HZ_300 is not set181181+# CONFIG_HZ_1000 is not set182182+CONFIG_HZ=100183183+CONFIG_PREEMPT_NONE=y184184+# CONFIG_PREEMPT_VOLUNTARY is not set185185+# CONFIG_PREEMPT is not set186186+CONFIG_BINFMT_ELF=y187187+CONFIG_BINFMT_MISC=y188188+CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y189189+# CONFIG_KEXEC is not set190190+CONFIG_ARCH_FLATMEM_ENABLE=y191191+CONFIG_ARCH_POPULATES_NODE_MAP=y192192+CONFIG_SELECT_MEMORY_MODEL=y193193+CONFIG_FLATMEM_MANUAL=y194194+# CONFIG_DISCONTIGMEM_MANUAL is not set195195+# CONFIG_SPARSEMEM_MANUAL is not set196196+CONFIG_FLATMEM=y197197+CONFIG_FLAT_NODE_MEM_MAP=y198198+# CONFIG_SPARSEMEM_STATIC is not set199199+# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set200200+CONFIG_SPLIT_PTLOCK_CPUS=4201201+# CONFIG_RESOURCES_64BIT is not set202202+CONFIG_ZONE_DMA_FLAG=1203203+CONFIG_BOUNCE=y204204+CONFIG_VIRT_TO_BUS=y205205+CONFIG_PROC_DEVICETREE=y206206+CONFIG_CMDLINE_BOOL=y207207+CONFIG_CMDLINE="console=ttyS0,115200"208208+# CONFIG_PM is not set209209+CONFIG_SUSPEND_UP_POSSIBLE=y210210+CONFIG_HIBERNATION_UP_POSSIBLE=y211211+# CONFIG_SECCOMP is not set212212+CONFIG_WANT_DEVICE_TREE=y213213+CONFIG_DEVICE_TREE="storcenter.dts"214214+CONFIG_ISA_DMA_API=y215215+216216+#217217+# Bus options218218+#219219+CONFIG_ZONE_DMA=y220220+CONFIG_GENERIC_ISA_DMA=y221221+CONFIG_PPC_INDIRECT_PCI=y222222+CONFIG_FSL_SOC=y223223+CONFIG_PCI=y224224+CONFIG_PCI_DOMAINS=y225225+CONFIG_PCI_SYSCALL=y226226+# CONFIG_PCIEPORTBUS is not set227227+CONFIG_ARCH_SUPPORTS_MSI=y228228+# CONFIG_PCI_MSI is not set229229+CONFIG_PCI_LEGACY=y230230+# CONFIG_PCCARD is not set231231+# CONFIG_HOTPLUG_PCI is not set232232+233233+#234234+# Advanced setup235235+#236236+# CONFIG_ADVANCED_OPTIONS is not set237237+238238+#239239+# Default settings for advanced configuration options are used240240+#241241+CONFIG_HIGHMEM_START=0xfe000000242242+CONFIG_LOWMEM_SIZE=0x30000000243243+CONFIG_KERNEL_START=0xc0000000244244+CONFIG_TASK_SIZE=0xc0000000245245+CONFIG_BOOT_LOAD=0x00800000246246+247247+#248248+# Networking249249+#250250+CONFIG_NET=y251251+252252+#253253+# Networking options254254+#255255+CONFIG_PACKET=m256256+# CONFIG_PACKET_MMAP is not set257257+CONFIG_UNIX=y258258+# CONFIG_NET_KEY is not set259259+CONFIG_INET=y260260+CONFIG_IP_MULTICAST=y261261+# CONFIG_IP_ADVANCED_ROUTER is not set262262+CONFIG_IP_FIB_HASH=y263263+CONFIG_IP_PNP=y264264+CONFIG_IP_PNP_DHCP=y265265+# CONFIG_IP_PNP_BOOTP is not set266266+# CONFIG_IP_PNP_RARP is not set267267+# CONFIG_NET_IPIP is not set268268+# CONFIG_NET_IPGRE is not set269269+# CONFIG_IP_MROUTE is not set270270+# CONFIG_ARPD is not set271271+# CONFIG_SYN_COOKIES is not set272272+# CONFIG_INET_AH is not set273273+# CONFIG_INET_ESP is not set274274+# CONFIG_INET_IPCOMP is not set275275+# CONFIG_INET_XFRM_TUNNEL is not set276276+# CONFIG_INET_TUNNEL is not set277277+# CONFIG_INET_XFRM_MODE_TRANSPORT is not set278278+# CONFIG_INET_XFRM_MODE_TUNNEL is not set279279+# CONFIG_INET_XFRM_MODE_BEET is not set280280+# CONFIG_INET_LRO is not set281281+CONFIG_INET_DIAG=y282282+CONFIG_INET_TCP_DIAG=y283283+# CONFIG_TCP_CONG_ADVANCED is not set284284+CONFIG_TCP_CONG_CUBIC=y285285+CONFIG_DEFAULT_TCP_CONG="cubic"286286+# CONFIG_TCP_MD5SIG is not set287287+# CONFIG_IPV6 is not set288288+# CONFIG_INET6_XFRM_TUNNEL is not set289289+# CONFIG_INET6_TUNNEL is not set290290+# CONFIG_NETWORK_SECMARK is not set291291+# CONFIG_NETFILTER is not set292292+# CONFIG_IP_DCCP is not set293293+# CONFIG_IP_SCTP is not set294294+# CONFIG_TIPC is not set295295+# CONFIG_ATM is not set296296+# CONFIG_BRIDGE is not set297297+# CONFIG_VLAN_8021Q is not set298298+# CONFIG_DECNET is not set299299+# CONFIG_LLC2 is not set300300+# CONFIG_IPX is not set301301+# CONFIG_ATALK is not set302302+# CONFIG_X25 is not set303303+# CONFIG_LAPB is not set304304+# CONFIG_ECONET is not set305305+# CONFIG_WAN_ROUTER is not set306306+# CONFIG_NET_SCHED is not set307307+308308+#309309+# Network testing310310+#311311+# CONFIG_NET_PKTGEN is not set312312+# CONFIG_HAMRADIO is not set313313+# CONFIG_IRDA is not set314314+# CONFIG_BT is not set315315+# CONFIG_AF_RXRPC is not set316316+317317+#318318+# Wireless319319+#320320+# CONFIG_CFG80211 is not set321321+# CONFIG_WIRELESS_EXT is not set322322+# CONFIG_MAC80211 is not set323323+# CONFIG_IEEE80211 is not set324324+# CONFIG_RFKILL is not set325325+# CONFIG_NET_9P is not set326326+327327+#328328+# Device Drivers329329+#330330+331331+#332332+# Generic Driver Options333333+#334334+CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"335335+CONFIG_STANDALONE=y336336+CONFIG_PREVENT_FIRMWARE_BUILD=y337337+# CONFIG_FW_LOADER is not set338338+# CONFIG_SYS_HYPERVISOR is not set339339+# CONFIG_CONNECTOR is not set340340+CONFIG_MTD=y341341+# CONFIG_MTD_DEBUG is not set342342+# CONFIG_MTD_CONCAT is not set343343+CONFIG_MTD_PARTITIONS=y344344+# CONFIG_MTD_REDBOOT_PARTS is not set345345+# CONFIG_MTD_CMDLINE_PARTS is not set346346+347347+#348348+# User Modules And Translation Layers349349+#350350+CONFIG_MTD_CHAR=y351351+CONFIG_MTD_BLKDEVS=y352352+CONFIG_MTD_BLOCK=y353353+CONFIG_FTL=y354354+CONFIG_NFTL=y355355+CONFIG_NFTL_RW=y356356+# CONFIG_INFTL is not set357357+# CONFIG_RFD_FTL is not set358358+# CONFIG_SSFDC is not set359359+# CONFIG_MTD_OOPS is not set360360+361361+#362362+# RAM/ROM/Flash chip drivers363363+#364364+CONFIG_MTD_CFI=y365365+# CONFIG_MTD_JEDECPROBE is not set366366+CONFIG_MTD_GEN_PROBE=y367367+# CONFIG_MTD_CFI_ADV_OPTIONS is not set368368+CONFIG_MTD_MAP_BANK_WIDTH_1=y369369+CONFIG_MTD_MAP_BANK_WIDTH_2=y370370+CONFIG_MTD_MAP_BANK_WIDTH_4=y371371+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set372372+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set373373+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set374374+CONFIG_MTD_CFI_I1=y375375+CONFIG_MTD_CFI_I2=y376376+# CONFIG_MTD_CFI_I4 is not set377377+# CONFIG_MTD_CFI_I8 is not set378378+# CONFIG_MTD_CFI_INTELEXT is not set379379+CONFIG_MTD_CFI_AMDSTD=y380380+# CONFIG_MTD_CFI_STAA is not set381381+CONFIG_MTD_CFI_UTIL=y382382+# CONFIG_MTD_RAM is not set383383+# CONFIG_MTD_ROM is not set384384+# CONFIG_MTD_ABSENT is not set385385+386386+#387387+# Mapping drivers for chip access388388+#389389+# CONFIG_MTD_COMPLEX_MAPPINGS is not set390390+CONFIG_MTD_PHYSMAP=y391391+CONFIG_MTD_PHYSMAP_START=0xFF800000392392+CONFIG_MTD_PHYSMAP_LEN=0x00800000393393+CONFIG_MTD_PHYSMAP_BANKWIDTH=1394394+# CONFIG_MTD_PHYSMAP_OF is not set395395+# CONFIG_MTD_INTEL_VR_NOR is not set396396+# CONFIG_MTD_PLATRAM is not set397397+398398+#399399+# Self-contained MTD device drivers400400+#401401+# CONFIG_MTD_PMC551 is not set402402+# CONFIG_MTD_SLRAM is not set403403+# CONFIG_MTD_PHRAM is not set404404+# CONFIG_MTD_MTDRAM is not set405405+# CONFIG_MTD_BLOCK2MTD is not set406406+407407+#408408+# Disk-On-Chip Device Drivers409409+#410410+# CONFIG_MTD_DOC2000 is not set411411+# CONFIG_MTD_DOC2001 is not set412412+# CONFIG_MTD_DOC2001PLUS is not set413413+# CONFIG_MTD_NAND is not set414414+# CONFIG_MTD_ONENAND is not set415415+416416+#417417+# UBI - Unsorted block images418418+#419419+# CONFIG_MTD_UBI is not set420420+CONFIG_OF_DEVICE=y421421+# CONFIG_PARPORT is not set422422+CONFIG_BLK_DEV=y423423+# CONFIG_BLK_DEV_FD is not set424424+# CONFIG_BLK_CPQ_DA is not set425425+# CONFIG_BLK_CPQ_CISS_DA is not set426426+# CONFIG_BLK_DEV_DAC960 is not set427427+# CONFIG_BLK_DEV_UMEM is not set428428+# CONFIG_BLK_DEV_COW_COMMON is not set429429+# CONFIG_BLK_DEV_LOOP is not set430430+# CONFIG_BLK_DEV_NBD is not set431431+# CONFIG_BLK_DEV_SX8 is not set432432+# CONFIG_BLK_DEV_UB is not set433433+# CONFIG_BLK_DEV_RAM is not set434434+# CONFIG_CDROM_PKTCDVD is not set435435+# CONFIG_ATA_OVER_ETH is not set436436+CONFIG_MISC_DEVICES=y437437+# CONFIG_PHANTOM is not set438438+# CONFIG_EEPROM_93CX6 is not set439439+# CONFIG_SGI_IOC4 is not set440440+# CONFIG_TIFM_CORE is not set441441+CONFIG_IDE=y442442+CONFIG_IDE_MAX_HWIFS=4443443+CONFIG_BLK_DEV_IDE=y444444+445445+#446446+# Please see Documentation/ide.txt for help/info on IDE drives447447+#448448+# CONFIG_BLK_DEV_IDE_SATA is not set449449+CONFIG_BLK_DEV_IDEDISK=y450450+CONFIG_IDEDISK_MULTI_MODE=y451451+# CONFIG_BLK_DEV_IDECD is not set452452+# CONFIG_BLK_DEV_IDETAPE is not set453453+# CONFIG_BLK_DEV_IDEFLOPPY is not set454454+# CONFIG_BLK_DEV_IDESCSI is not set455455+# CONFIG_IDE_TASK_IOCTL is not set456456+CONFIG_IDE_PROC_FS=y457457+458458+#459459+# IDE chipset support/bugfixes460460+#461461+CONFIG_IDE_GENERIC=y462462+# CONFIG_BLK_DEV_PLATFORM is not set463463+464464+#465465+# PCI IDE chipsets support466466+#467467+CONFIG_BLK_DEV_IDEPCI=y468468+# CONFIG_IDEPCI_SHARE_IRQ is not set469469+CONFIG_IDEPCI_PCIBUS_ORDER=y470470+# CONFIG_BLK_DEV_GENERIC is not set471471+# CONFIG_BLK_DEV_OPTI621 is not set472472+CONFIG_BLK_DEV_IDEDMA_PCI=y473473+# CONFIG_BLK_DEV_AEC62XX is not set474474+# CONFIG_BLK_DEV_ALI15X3 is not set475475+# CONFIG_BLK_DEV_AMD74XX is not set476476+# CONFIG_BLK_DEV_CMD64X is not set477477+# CONFIG_BLK_DEV_TRIFLEX is not set478478+# CONFIG_BLK_DEV_CY82C693 is not set479479+# CONFIG_BLK_DEV_CS5520 is not set480480+# CONFIG_BLK_DEV_CS5530 is not set481481+# CONFIG_BLK_DEV_HPT34X is not set482482+# CONFIG_BLK_DEV_HPT366 is not set483483+# CONFIG_BLK_DEV_JMICRON is not set484484+# CONFIG_BLK_DEV_SC1200 is not set485485+# CONFIG_BLK_DEV_PIIX is not set486486+# CONFIG_BLK_DEV_IT8213 is not set487487+# CONFIG_BLK_DEV_IT821X is not set488488+# CONFIG_BLK_DEV_NS87415 is not set489489+# CONFIG_BLK_DEV_PDC202XX_OLD is not set490490+# CONFIG_BLK_DEV_PDC202XX_NEW is not set491491+# CONFIG_BLK_DEV_SVWKS is not set492492+# CONFIG_BLK_DEV_SIIMAGE is not set493493+# CONFIG_BLK_DEV_SL82C105 is not set494494+# CONFIG_BLK_DEV_SLC90E66 is not set495495+# CONFIG_BLK_DEV_TRM290 is not set496496+CONFIG_BLK_DEV_VIA82CXXX=y497497+# CONFIG_BLK_DEV_TC86C001 is not set498498+# CONFIG_IDE_ARM is not set499499+CONFIG_BLK_DEV_IDEDMA=y500500+CONFIG_IDE_ARCH_OBSOLETE_INIT=y501501+# CONFIG_BLK_DEV_HD is not set502502+503503+#504504+# SCSI device support505505+#506506+# CONFIG_RAID_ATTRS is not set507507+CONFIG_SCSI=y508508+CONFIG_SCSI_DMA=y509509+# CONFIG_SCSI_TGT is not set510510+# CONFIG_SCSI_NETLINK is not set511511+CONFIG_SCSI_PROC_FS=y512512+513513+#514514+# SCSI support type (disk, tape, CD-ROM)515515+#516516+CONFIG_BLK_DEV_SD=y517517+# CONFIG_CHR_DEV_ST is not set518518+# CONFIG_CHR_DEV_OSST is not set519519+CONFIG_BLK_DEV_SR=y520520+# CONFIG_BLK_DEV_SR_VENDOR is not set521521+# CONFIG_CHR_DEV_SG is not set522522+# CONFIG_CHR_DEV_SCH is not set523523+524524+#525525+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs526526+#527527+# CONFIG_SCSI_MULTI_LUN is not set528528+# CONFIG_SCSI_CONSTANTS is not set529529+# CONFIG_SCSI_LOGGING is not set530530+# CONFIG_SCSI_SCAN_ASYNC is not set531531+CONFIG_SCSI_WAIT_SCAN=m532532+533533+#534534+# SCSI Transports535535+#536536+CONFIG_SCSI_SPI_ATTRS=y537537+# CONFIG_SCSI_FC_ATTRS is not set538538+# CONFIG_SCSI_ISCSI_ATTRS is not set539539+# CONFIG_SCSI_SAS_LIBSAS is not set540540+# CONFIG_SCSI_SRP_ATTRS is not set541541+CONFIG_SCSI_LOWLEVEL=y542542+# CONFIG_ISCSI_TCP is not set543543+# CONFIG_BLK_DEV_3W_XXXX_RAID is not set544544+# CONFIG_SCSI_3W_9XXX is not set545545+# CONFIG_SCSI_ACARD is not set546546+# CONFIG_SCSI_AACRAID is not set547547+# CONFIG_SCSI_AIC7XXX is not set548548+# CONFIG_SCSI_AIC7XXX_OLD is not set549549+# CONFIG_SCSI_AIC79XX is not set550550+# CONFIG_SCSI_AIC94XX is not set551551+# CONFIG_SCSI_DPT_I2O is not set552552+# CONFIG_SCSI_ADVANSYS is not set553553+# CONFIG_SCSI_ARCMSR is not set554554+# CONFIG_MEGARAID_NEWGEN is not set555555+# CONFIG_MEGARAID_LEGACY is not set556556+# CONFIG_MEGARAID_SAS is not set557557+# CONFIG_SCSI_HPTIOP is not set558558+# CONFIG_SCSI_BUSLOGIC is not set559559+# CONFIG_SCSI_DMX3191D is not set560560+# CONFIG_SCSI_EATA is not set561561+# CONFIG_SCSI_FUTURE_DOMAIN is not set562562+# CONFIG_SCSI_GDTH is not set563563+# CONFIG_SCSI_IPS is not set564564+# CONFIG_SCSI_INITIO is not set565565+# CONFIG_SCSI_INIA100 is not set566566+# CONFIG_SCSI_STEX is not set567567+# CONFIG_SCSI_SYM53C8XX_2 is not set568568+# CONFIG_SCSI_QLOGIC_1280 is not set569569+# CONFIG_SCSI_QLA_FC is not set570570+# CONFIG_SCSI_QLA_ISCSI is not set571571+# CONFIG_SCSI_LPFC is not set572572+# CONFIG_SCSI_DC395x is not set573573+# CONFIG_SCSI_DC390T is not set574574+# CONFIG_SCSI_NSP32 is not set575575+# CONFIG_SCSI_DEBUG is not set576576+# CONFIG_SCSI_SRP is not set577577+# CONFIG_ATA is not set578578+CONFIG_MD=y579579+CONFIG_BLK_DEV_MD=y580580+CONFIG_MD_LINEAR=y581581+CONFIG_MD_RAID0=y582582+CONFIG_MD_RAID1=y583583+# CONFIG_MD_RAID10 is not set584584+CONFIG_MD_RAID456=y585585+CONFIG_MD_RAID5_RESHAPE=y586586+# CONFIG_MD_MULTIPATH is not set587587+# CONFIG_MD_FAULTY is not set588588+# CONFIG_BLK_DEV_DM is not set589589+# CONFIG_FUSION is not set590590+591591+#592592+# IEEE 1394 (FireWire) support593593+#594594+# CONFIG_FIREWIRE is not set595595+# CONFIG_IEEE1394 is not set596596+# CONFIG_I2O is not set597597+# CONFIG_MACINTOSH_DRIVERS is not set598598+CONFIG_NETDEVICES=y599599+# CONFIG_NETDEVICES_MULTIQUEUE is not set600600+CONFIG_DUMMY=m601601+# CONFIG_BONDING is not set602602+# CONFIG_MACVLAN is not set603603+# CONFIG_EQUALIZER is not set604604+# CONFIG_TUN is not set605605+# CONFIG_VETH is not set606606+# CONFIG_IP1000 is not set607607+# CONFIG_ARCNET is not set608608+# CONFIG_NET_ETHERNET is not set609609+CONFIG_NETDEV_1000=y610610+# CONFIG_ACENIC is not set611611+# CONFIG_DL2K is not set612612+# CONFIG_E1000 is not set613613+# CONFIG_E1000E is not set614614+# CONFIG_NS83820 is not set615615+# CONFIG_HAMACHI is not set616616+# CONFIG_YELLOWFIN is not set617617+CONFIG_R8169=y618618+# CONFIG_R8169_NAPI is not set619619+# CONFIG_SIS190 is not set620620+# CONFIG_SKGE is not set621621+# CONFIG_SKY2 is not set622622+# CONFIG_SK98LIN is not set623623+# CONFIG_VIA_VELOCITY is not set624624+# CONFIG_TIGON3 is not set625625+# CONFIG_BNX2 is not set626626+# CONFIG_MV643XX_ETH is not set627627+# CONFIG_QLA3XXX is not set628628+# CONFIG_ATL1 is not set629629+# CONFIG_NETDEV_10000 is not set630630+# CONFIG_TR is not set631631+632632+#633633+# Wireless LAN634634+#635635+# CONFIG_WLAN_PRE80211 is not set636636+# CONFIG_WLAN_80211 is not set637637+638638+#639639+# USB Network Adapters640640+#641641+# CONFIG_USB_CATC is not set642642+# CONFIG_USB_KAWETH is not set643643+# CONFIG_USB_PEGASUS is not set644644+# CONFIG_USB_RTL8150 is not set645645+# CONFIG_USB_USBNET is not set646646+# CONFIG_WAN is not set647647+# CONFIG_FDDI is not set648648+# CONFIG_HIPPI is not set649649+# CONFIG_PPP is not set650650+# CONFIG_SLIP is not set651651+# CONFIG_NET_FC is not set652652+# CONFIG_SHAPER is not set653653+# CONFIG_NETCONSOLE is not set654654+# CONFIG_NETPOLL is not set655655+# CONFIG_NET_POLL_CONTROLLER is not set656656+# CONFIG_ISDN is not set657657+# CONFIG_PHONE is not set658658+659659+#660660+# Input device support661661+#662662+# CONFIG_INPUT is not set663663+664664+#665665+# Hardware I/O ports666666+#667667+# CONFIG_SERIO is not set668668+# CONFIG_GAMEPORT is not set669669+670670+#671671+# Character devices672672+#673673+# CONFIG_VT is not set674674+# CONFIG_SERIAL_NONSTANDARD is not set675675+676676+#677677+# Serial drivers678678+#679679+CONFIG_SERIAL_8250=y680680+CONFIG_SERIAL_8250_CONSOLE=y681681+# CONFIG_SERIAL_8250_PCI is not set682682+CONFIG_SERIAL_8250_NR_UARTS=2683683+CONFIG_SERIAL_8250_RUNTIME_UARTS=2684684+# CONFIG_SERIAL_8250_EXTENDED is not set685685+686686+#687687+# Non-8250 serial port support688688+#689689+# CONFIG_SERIAL_UARTLITE is not set690690+CONFIG_SERIAL_CORE=y691691+CONFIG_SERIAL_CORE_CONSOLE=y692692+# CONFIG_SERIAL_JSM is not set693693+# CONFIG_SERIAL_OF_PLATFORM is not set694694+CONFIG_UNIX98_PTYS=y695695+CONFIG_LEGACY_PTYS=y696696+CONFIG_LEGACY_PTY_COUNT=256697697+# CONFIG_IPMI_HANDLER is not set698698+CONFIG_HW_RANDOM=m699699+CONFIG_NVRAM=y700700+CONFIG_GEN_RTC=y701701+# CONFIG_GEN_RTC_X is not set702702+# CONFIG_R3964 is not set703703+# CONFIG_APPLICOM is not set704704+# CONFIG_RAW_DRIVER is not set705705+# CONFIG_TCG_TPM is not set706706+CONFIG_DEVPORT=y707707+CONFIG_I2C=y708708+CONFIG_I2C_BOARDINFO=y709709+CONFIG_I2C_CHARDEV=y710710+711711+#712712+# I2C Algorithms713713+#714714+# CONFIG_I2C_ALGOBIT is not set715715+# CONFIG_I2C_ALGOPCF is not set716716+# CONFIG_I2C_ALGOPCA is not set717717+718718+#719719+# I2C Hardware Bus support720720+#721721+# CONFIG_I2C_ALI1535 is not set722722+# CONFIG_I2C_ALI1563 is not set723723+# CONFIG_I2C_ALI15X3 is not set724724+# CONFIG_I2C_AMD756 is not set725725+# CONFIG_I2C_AMD8111 is not set726726+# CONFIG_I2C_I801 is not set727727+# CONFIG_I2C_I810 is not set728728+# CONFIG_I2C_PIIX4 is not set729729+CONFIG_I2C_MPC=y730730+# CONFIG_I2C_NFORCE2 is not set731731+# CONFIG_I2C_OCORES is not set732732+# CONFIG_I2C_PARPORT_LIGHT is not set733733+# CONFIG_I2C_PROSAVAGE is not set734734+# CONFIG_I2C_SAVAGE4 is not set735735+# CONFIG_I2C_SIMTEC is not set736736+# CONFIG_I2C_SIS5595 is not set737737+# CONFIG_I2C_SIS630 is not set738738+# CONFIG_I2C_SIS96X is not set739739+# CONFIG_I2C_TAOS_EVM is not set740740+# CONFIG_I2C_STUB is not set741741+# CONFIG_I2C_TINY_USB is not set742742+# CONFIG_I2C_VIA is not set743743+# CONFIG_I2C_VIAPRO is not set744744+# CONFIG_I2C_VOODOO3 is not set745745+746746+#747747+# Miscellaneous I2C Chip support748748+#749749+# CONFIG_SENSORS_DS1337 is not set750750+# CONFIG_SENSORS_DS1374 is not set751751+# CONFIG_DS1682 is not set752752+# CONFIG_SENSORS_EEPROM is not set753753+# CONFIG_SENSORS_PCF8574 is not set754754+# CONFIG_SENSORS_PCA9539 is not set755755+# CONFIG_SENSORS_PCF8591 is not set756756+# CONFIG_SENSORS_M41T00 is not set757757+# CONFIG_SENSORS_MAX6875 is not set758758+# CONFIG_SENSORS_TSL2550 is not set759759+# CONFIG_I2C_DEBUG_CORE is not set760760+# CONFIG_I2C_DEBUG_ALGO is not set761761+# CONFIG_I2C_DEBUG_BUS is not set762762+# CONFIG_I2C_DEBUG_CHIP is not set763763+764764+#765765+# SPI support766766+#767767+# CONFIG_SPI is not set768768+# CONFIG_SPI_MASTER is not set769769+# CONFIG_W1 is not set770770+# CONFIG_POWER_SUPPLY is not set771771+# CONFIG_HWMON is not set772772+# CONFIG_WATCHDOG is not set773773+774774+#775775+# Sonics Silicon Backplane776776+#777777+CONFIG_SSB_POSSIBLE=y778778+# CONFIG_SSB is not set779779+780780+#781781+# Multifunction device drivers782782+#783783+# CONFIG_MFD_SM501 is not set784784+785785+#786786+# Multimedia devices787787+#788788+# CONFIG_VIDEO_DEV is not set789789+# CONFIG_DVB_CORE is not set790790+# CONFIG_DAB is not set791791+792792+#793793+# Graphics support794794+#795795+# CONFIG_AGP is not set796796+# CONFIG_DRM is not set797797+# CONFIG_VGASTATE is not set798798+# CONFIG_VIDEO_OUTPUT_CONTROL is not set799799+# CONFIG_FB is not set800800+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set801801+802802+#803803+# Display device support804804+#805805+# CONFIG_DISPLAY_SUPPORT is not set806806+807807+#808808+# Sound809809+#810810+# CONFIG_SOUND is not set811811+CONFIG_USB_SUPPORT=y812812+CONFIG_USB_ARCH_HAS_HCD=y813813+CONFIG_USB_ARCH_HAS_OHCI=y814814+CONFIG_USB_ARCH_HAS_EHCI=y815815+CONFIG_USB=y816816+# CONFIG_USB_DEBUG is not set817817+818818+#819819+# Miscellaneous USB options820820+#821821+CONFIG_USB_DEVICEFS=y822822+CONFIG_USB_DEVICE_CLASS=y823823+# CONFIG_USB_DYNAMIC_MINORS is not set824824+# CONFIG_USB_OTG is not set825825+826826+#827827+# USB Host Controller Drivers828828+#829829+CONFIG_USB_EHCI_HCD=y830830+# CONFIG_USB_EHCI_SPLIT_ISO is not set831831+# CONFIG_USB_EHCI_ROOT_HUB_TT is not set832832+# CONFIG_USB_EHCI_TT_NEWSCHED is not set833833+# CONFIG_USB_ISP116X_HCD is not set834834+CONFIG_USB_OHCI_HCD=y835835+# CONFIG_USB_OHCI_HCD_PPC_OF is not set836836+# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set837837+# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set838838+CONFIG_USB_OHCI_LITTLE_ENDIAN=y839839+# CONFIG_USB_UHCI_HCD is not set840840+# CONFIG_USB_SL811_HCD is not set841841+# CONFIG_USB_R8A66597_HCD is not set842842+843843+#844844+# USB Device Class drivers845845+#846846+# CONFIG_USB_ACM is not set847847+# CONFIG_USB_PRINTER is not set848848+849849+#850850+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'851851+#852852+853853+#854854+# may also be needed; see USB_STORAGE Help for more information855855+#856856+CONFIG_USB_STORAGE=y857857+# CONFIG_USB_STORAGE_DEBUG is not set858858+# CONFIG_USB_STORAGE_DATAFAB is not set859859+# CONFIG_USB_STORAGE_FREECOM is not set860860+# CONFIG_USB_STORAGE_ISD200 is not set861861+# CONFIG_USB_STORAGE_DPCM is not set862862+# CONFIG_USB_STORAGE_USBAT is not set863863+# CONFIG_USB_STORAGE_SDDR09 is not set864864+# CONFIG_USB_STORAGE_SDDR55 is not set865865+# CONFIG_USB_STORAGE_JUMPSHOT is not set866866+# CONFIG_USB_STORAGE_ALAUDA is not set867867+# CONFIG_USB_STORAGE_KARMA is not set868868+# CONFIG_USB_LIBUSUAL is not set869869+870870+#871871+# USB Imaging devices872872+#873873+# CONFIG_USB_MDC800 is not set874874+# CONFIG_USB_MICROTEK is not set875875+# CONFIG_USB_MON is not set876876+877877+#878878+# USB port drivers879879+#880880+881881+#882882+# USB Serial Converter support883883+#884884+# CONFIG_USB_SERIAL is not set885885+886886+#887887+# USB Miscellaneous drivers888888+#889889+# CONFIG_USB_EMI62 is not set890890+# CONFIG_USB_EMI26 is not set891891+# CONFIG_USB_ADUTUX is not set892892+# CONFIG_USB_AUERSWALD is not set893893+# CONFIG_USB_RIO500 is not set894894+# CONFIG_USB_LEGOTOWER is not set895895+# CONFIG_USB_LCD is not set896896+# CONFIG_USB_BERRY_CHARGE is not set897897+# CONFIG_USB_LED is not set898898+# CONFIG_USB_CYPRESS_CY7C63 is not set899899+# CONFIG_USB_CYTHERM is not set900900+# CONFIG_USB_PHIDGET is not set901901+# CONFIG_USB_IDMOUSE is not set902902+# CONFIG_USB_FTDI_ELAN is not set903903+# CONFIG_USB_APPLEDISPLAY is not set904904+# CONFIG_USB_SISUSBVGA is not set905905+# CONFIG_USB_LD is not set906906+# CONFIG_USB_TRANCEVIBRATOR is not set907907+# CONFIG_USB_IOWARRIOR is not set908908+# CONFIG_USB_TEST is not set909909+910910+#911911+# USB DSL modem support912912+#913913+914914+#915915+# USB Gadget Support916916+#917917+# CONFIG_USB_GADGET is not set918918+# CONFIG_MMC is not set919919+# CONFIG_NEW_LEDS is not set920920+# CONFIG_INFINIBAND is not set921921+# CONFIG_EDAC is not set922922+CONFIG_RTC_LIB=y923923+CONFIG_RTC_CLASS=y924924+CONFIG_RTC_HCTOSYS=y925925+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"926926+# CONFIG_RTC_DEBUG is not set927927+928928+#929929+# RTC interfaces930930+#931931+CONFIG_RTC_INTF_SYSFS=y932932+CONFIG_RTC_INTF_PROC=y933933+CONFIG_RTC_INTF_DEV=y934934+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set935935+# CONFIG_RTC_DRV_TEST is not set936936+937937+#938938+# I2C RTC drivers939939+#940940+CONFIG_RTC_DRV_DS1307=y941941+# CONFIG_RTC_DRV_DS1374 is not set942942+# CONFIG_RTC_DRV_DS1672 is not set943943+# CONFIG_RTC_DRV_MAX6900 is not set944944+# CONFIG_RTC_DRV_RS5C372 is not set945945+# CONFIG_RTC_DRV_ISL1208 is not set946946+# CONFIG_RTC_DRV_X1205 is not set947947+# CONFIG_RTC_DRV_PCF8563 is not set948948+# CONFIG_RTC_DRV_PCF8583 is not set949949+# CONFIG_RTC_DRV_M41T80 is not set950950+951951+#952952+# SPI RTC drivers953953+#954954+955955+#956956+# Platform RTC drivers957957+#958958+# CONFIG_RTC_DRV_CMOS is not set959959+# CONFIG_RTC_DRV_DS1553 is not set960960+# CONFIG_RTC_DRV_STK17TA8 is not set961961+# CONFIG_RTC_DRV_DS1742 is not set962962+# CONFIG_RTC_DRV_M48T86 is not set963963+# CONFIG_RTC_DRV_M48T59 is not set964964+# CONFIG_RTC_DRV_V3020 is not set965965+966966+#967967+# on-CPU RTC drivers968968+#969969+970970+#971971+# Userspace I/O972972+#973973+# CONFIG_UIO is not set974974+975975+#976976+# File systems977977+#978978+CONFIG_EXT2_FS=y979979+# CONFIG_EXT2_FS_XATTR is not set980980+# CONFIG_EXT2_FS_XIP is not set981981+CONFIG_EXT3_FS=y982982+CONFIG_EXT3_FS_XATTR=y983983+# CONFIG_EXT3_FS_POSIX_ACL is not set984984+# CONFIG_EXT3_FS_SECURITY is not set985985+# CONFIG_EXT4DEV_FS is not set986986+CONFIG_JBD=y987987+CONFIG_FS_MBCACHE=y988988+# CONFIG_REISERFS_FS is not set989989+# CONFIG_JFS_FS is not set990990+# CONFIG_FS_POSIX_ACL is not set991991+CONFIG_XFS_FS=m992992+# CONFIG_XFS_QUOTA is not set993993+# CONFIG_XFS_SECURITY is not set994994+# CONFIG_XFS_POSIX_ACL is not set995995+# CONFIG_XFS_RT is not set996996+# CONFIG_GFS2_FS is not set997997+# CONFIG_OCFS2_FS is not set998998+# CONFIG_MINIX_FS is not set999999+# CONFIG_ROMFS_FS is not set10001000+CONFIG_INOTIFY=y10011001+CONFIG_INOTIFY_USER=y10021002+# CONFIG_QUOTA is not set10031003+CONFIG_DNOTIFY=y10041004+# CONFIG_AUTOFS_FS is not set10051005+# CONFIG_AUTOFS4_FS is not set10061006+# CONFIG_FUSE_FS is not set10071007+10081008+#10091009+# CD-ROM/DVD Filesystems10101010+#10111011+# CONFIG_ISO9660_FS is not set10121012+# CONFIG_UDF_FS is not set10131013+10141014+#10151015+# DOS/FAT/NT Filesystems10161016+#10171017+# CONFIG_MSDOS_FS is not set10181018+# CONFIG_VFAT_FS is not set10191019+# CONFIG_NTFS_FS is not set10201020+10211021+#10221022+# Pseudo filesystems10231023+#10241024+CONFIG_PROC_FS=y10251025+CONFIG_PROC_KCORE=y10261026+CONFIG_PROC_SYSCTL=y10271027+CONFIG_SYSFS=y10281028+CONFIG_TMPFS=y10291029+# CONFIG_TMPFS_POSIX_ACL is not set10301030+# CONFIG_HUGETLB_PAGE is not set10311031+# CONFIG_CONFIGFS_FS is not set10321032+10331033+#10341034+# Miscellaneous filesystems10351035+#10361036+# CONFIG_ADFS_FS is not set10371037+# CONFIG_AFFS_FS is not set10381038+# CONFIG_HFS_FS is not set10391039+# CONFIG_HFSPLUS_FS is not set10401040+# CONFIG_BEFS_FS is not set10411041+# CONFIG_BFS_FS is not set10421042+# CONFIG_EFS_FS is not set10431043+CONFIG_JFFS2_FS=y10441044+CONFIG_JFFS2_FS_DEBUG=010451045+CONFIG_JFFS2_FS_WRITEBUFFER=y10461046+# CONFIG_JFFS2_FS_WBUF_VERIFY is not set10471047+# CONFIG_JFFS2_SUMMARY is not set10481048+# CONFIG_JFFS2_FS_XATTR is not set10491049+# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set10501050+CONFIG_JFFS2_ZLIB=y10511051+# CONFIG_JFFS2_LZO is not set10521052+CONFIG_JFFS2_RTIME=y10531053+# CONFIG_JFFS2_RUBIN is not set10541054+# CONFIG_CRAMFS is not set10551055+# CONFIG_VXFS_FS is not set10561056+# CONFIG_HPFS_FS is not set10571057+# CONFIG_QNX4FS_FS is not set10581058+# CONFIG_SYSV_FS is not set10591059+# CONFIG_UFS_FS is not set10601060+# CONFIG_NETWORK_FILESYSTEMS is not set10611061+10621062+#10631063+# Partition Types10641064+#10651065+CONFIG_PARTITION_ADVANCED=y10661066+# CONFIG_ACORN_PARTITION is not set10671067+# CONFIG_OSF_PARTITION is not set10681068+# CONFIG_AMIGA_PARTITION is not set10691069+# CONFIG_ATARI_PARTITION is not set10701070+# CONFIG_MAC_PARTITION is not set10711071+CONFIG_MSDOS_PARTITION=y10721072+# CONFIG_BSD_DISKLABEL is not set10731073+# CONFIG_MINIX_SUBPARTITION is not set10741074+# CONFIG_SOLARIS_X86_PARTITION is not set10751075+# CONFIG_UNIXWARE_DISKLABEL is not set10761076+# CONFIG_LDM_PARTITION is not set10771077+# CONFIG_SGI_PARTITION is not set10781078+# CONFIG_ULTRIX_PARTITION is not set10791079+# CONFIG_SUN_PARTITION is not set10801080+# CONFIG_KARMA_PARTITION is not set10811081+# CONFIG_EFI_PARTITION is not set10821082+# CONFIG_SYSV68_PARTITION is not set10831083+CONFIG_NLS=y10841084+CONFIG_NLS_DEFAULT="utf8"10851085+CONFIG_NLS_CODEPAGE_437=y10861086+# CONFIG_NLS_CODEPAGE_737 is not set10871087+# CONFIG_NLS_CODEPAGE_775 is not set10881088+# CONFIG_NLS_CODEPAGE_850 is not set10891089+# CONFIG_NLS_CODEPAGE_852 is not set10901090+# CONFIG_NLS_CODEPAGE_855 is not set10911091+# CONFIG_NLS_CODEPAGE_857 is not set10921092+# CONFIG_NLS_CODEPAGE_860 is not set10931093+# CONFIG_NLS_CODEPAGE_861 is not set10941094+# CONFIG_NLS_CODEPAGE_862 is not set10951095+# CONFIG_NLS_CODEPAGE_863 is not set10961096+# CONFIG_NLS_CODEPAGE_864 is not set10971097+# CONFIG_NLS_CODEPAGE_865 is not set10981098+# CONFIG_NLS_CODEPAGE_866 is not set10991099+# CONFIG_NLS_CODEPAGE_869 is not set11001100+# CONFIG_NLS_CODEPAGE_936 is not set11011101+# CONFIG_NLS_CODEPAGE_950 is not set11021102+# CONFIG_NLS_CODEPAGE_932 is not set11031103+# CONFIG_NLS_CODEPAGE_949 is not set11041104+# CONFIG_NLS_CODEPAGE_874 is not set11051105+# CONFIG_NLS_ISO8859_8 is not set11061106+# CONFIG_NLS_CODEPAGE_1250 is not set11071107+# CONFIG_NLS_CODEPAGE_1251 is not set11081108+# CONFIG_NLS_ASCII is not set11091109+CONFIG_NLS_ISO8859_1=y11101110+# CONFIG_NLS_ISO8859_2 is not set11111111+# CONFIG_NLS_ISO8859_3 is not set11121112+# CONFIG_NLS_ISO8859_4 is not set11131113+# CONFIG_NLS_ISO8859_5 is not set11141114+# CONFIG_NLS_ISO8859_6 is not set11151115+# CONFIG_NLS_ISO8859_7 is not set11161116+# CONFIG_NLS_ISO8859_9 is not set11171117+# CONFIG_NLS_ISO8859_13 is not set11181118+# CONFIG_NLS_ISO8859_14 is not set11191119+# CONFIG_NLS_ISO8859_15 is not set11201120+# CONFIG_NLS_KOI8_R is not set11211121+# CONFIG_NLS_KOI8_U is not set11221122+CONFIG_NLS_UTF8=y11231123+# CONFIG_DLM is not set11241124+# CONFIG_UCC_SLOW is not set11251125+11261126+#11271127+# Library routines11281128+#11291129+CONFIG_BITREVERSE=y11301130+# CONFIG_CRC_CCITT is not set11311131+# CONFIG_CRC16 is not set11321132+# CONFIG_CRC_ITU_T is not set11331133+CONFIG_CRC32=y11341134+# CONFIG_CRC7 is not set11351135+# CONFIG_LIBCRC32C is not set11361136+CONFIG_ZLIB_INFLATE=y11371137+CONFIG_ZLIB_DEFLATE=y11381138+CONFIG_PLIST=y11391139+CONFIG_HAS_IOMEM=y11401140+CONFIG_HAS_IOPORT=y11411141+CONFIG_HAS_DMA=y11421142+CONFIG_INSTRUMENTATION=y11431143+# CONFIG_PROFILING is not set11441144+# CONFIG_MARKERS is not set11451145+11461146+#11471147+# Kernel hacking11481148+#11491149+# CONFIG_PRINTK_TIME is not set11501150+# CONFIG_ENABLE_WARN_DEPRECATED is not set11511151+# CONFIG_ENABLE_MUST_CHECK is not set11521152+# CONFIG_MAGIC_SYSRQ is not set11531153+# CONFIG_UNUSED_SYMBOLS is not set11541154+# CONFIG_DEBUG_FS is not set11551155+# CONFIG_HEADERS_CHECK is not set11561156+# CONFIG_DEBUG_KERNEL is not set11571157+# CONFIG_SLUB_DEBUG_ON is not set11581158+# CONFIG_DEBUG_BUGVERBOSE is not set11591159+# CONFIG_SAMPLES is not set11601160+# CONFIG_BOOTX_TEXT is not set11611161+# CONFIG_PPC_EARLY_DEBUG is not set11621162+11631163+#11641164+# Security options11651165+#11661166+# CONFIG_KEYS is not set11671167+# CONFIG_SECURITY is not set11681168+# CONFIG_SECURITY_FILE_CAPABILITIES is not set11691169+CONFIG_XOR_BLOCKS=y11701170+CONFIG_ASYNC_CORE=y11711171+CONFIG_ASYNC_MEMCPY=y11721172+CONFIG_ASYNC_XOR=y11731173+# CONFIG_CRYPTO is not set11741174+# CONFIG_PPC_CLOCK is not set
···7373/* We try to not make any assumptions about how the boot loader7474 * setup or used the TLBs. We invalidate all mappings from the7575 * boot loader and load a single entry in TLB1[0] to map the7676- * first 16M of kernel memory. Any boot info passed from the7777- * bootloader needs to live in this first 16M.7676+ * first 64M of kernel memory. Any boot info passed from the7777+ * bootloader needs to live in this first 64M.7878 *7979 * Requirement on bootloader:8080 * - The page we're executing in needs to reside in TLB1 and···167167 mtspr SPRN_MAS0,r7168168 tlbre169169170170- /* Just modify the entry ID and EPN for the temp mapping */170170+ /* Just modify the entry ID, EPN and RPN for the temp mapping */171171 lis r7,0x1000 /* Set MAS0(TLBSEL) = 1 */172172 rlwimi r7,r5,16,4,15 /* Setup MAS0 = TLBSEL | ESEL(r5) */173173 mtspr SPRN_MAS0,r7···177177 ori r6,r6,(MAS1_TSIZE(BOOKE_PAGESZ_4K))@l178178 mtspr SPRN_MAS1,r6179179 mfspr r6,SPRN_MAS2180180- li r7,0 /* temp EPN = 0 */180180+ lis r7,PHYSICAL_START@h181181 rlwimi r7,r6,0,20,31182182 mtspr SPRN_MAS2,r7183183+ mfspr r6,SPRN_MAS3184184+ rlwimi r7,r6,0,20,31185185+ mtspr SPRN_MAS3,r7183186 tlbwe184187185188 xori r6,r4,1···225222 lis r6,0x1000 /* Set MAS0(TLBSEL) = TLB1(1), ESEL = 0 */226223 mtspr SPRN_MAS0,r6227224 lis r6,(MAS1_VALID|MAS1_IPROT)@h228228- ori r6,r6,(MAS1_TSIZE(BOOKE_PAGESZ_16M))@l225225+ ori r6,r6,(MAS1_TSIZE(BOOKE_PAGESZ_64M))@l229226 mtspr SPRN_MAS1,r6230227 li r7,0231231- lis r6,KERNELBASE@h232232- ori r6,r6,KERNELBASE@l228228+ lis r6,PAGE_OFFSET@h229229+ ori r6,r6,PAGE_OFFSET@l233230 rlwimi r6,r7,0,20,31234231 mtspr SPRN_MAS2,r6235232 li r7,(MAS3_SX|MAS3_SW|MAS3_SR)···237234 tlbwe238235239236/* 7. Jump to KERNELBASE mapping */237237+ lis r6,KERNELBASE@h238238+ ori r6,r6,KERNELBASE@l239239+ rlwimi r6,r7,0,20,31240240 lis r7,MSR_KERNEL@h241241 ori r7,r7,MSR_KERNEL@l242242 bl 1f /* Find our address */
+5-3
arch/powerpc/kernel/pci-common.c
···792792 for (i = 0; i < PCI_BUS_NUM_RESOURCES; ++i) {793793 if ((res = bus->resource[i]) == NULL)794794 continue;795795- if (!res->flags || bus->self->transparent)795795+ if (!res->flags)796796 continue;797797-797797+ if (i >= 3 && bus->self->transparent)798798+ continue;798799 /* On PowerMac, Apple leaves bridge windows open over799800 * an inaccessible region of memory space (0...fffff)800801 * which is somewhat bogus, but that's what they think···807806 * equal to the pci_mem_offset of the host bridge and808807 * their size is smaller than 1M.809808 */810810- if (res->start == hose->pci_mem_offset &&809809+ if (res->flags & IORESOURCE_MEM &&810810+ res->start == hose->pci_mem_offset &&811811 res->end < 0x100000) {812812 printk(KERN_INFO813813 "PCI: Closing bogus Apple Firmware"
···342342 }343343 }344344}345345+346346+int __init lmb_is_reserved(unsigned long addr)347347+{348348+ int i;349349+350350+ for (i = 0; i < lmb.reserved.cnt; i++) {351351+ unsigned long upper = lmb.reserved.region[i].base +352352+ lmb.reserved.region[i].size - 1;353353+ if ((addr >= lmb.reserved.region[i].base) && (addr <= upper))354354+ return 1;355355+ }356356+ return 0;357357+}
+19-2
arch/powerpc/mm/mem.c
···213213 */214214#ifdef CONFIG_HIGHMEM215215 free_bootmem_with_active_regions(0, total_lowmem >> PAGE_SHIFT);216216+217217+ /* reserve the sections we're already using */218218+ for (i = 0; i < lmb.reserved.cnt; i++) {219219+ unsigned long addr = lmb.reserved.region[i].base +220220+ lmb_size_bytes(&lmb.reserved, i) - 1;221221+ if (addr < total_lowmem)222222+ reserve_bootmem(lmb.reserved.region[i].base,223223+ lmb_size_bytes(&lmb.reserved, i));224224+ else if (lmb.reserved.region[i].base < total_lowmem) {225225+ unsigned long adjusted_size = total_lowmem -226226+ lmb.reserved.region[i].base;227227+ reserve_bootmem(lmb.reserved.region[i].base,228228+ adjusted_size);229229+ }230230+ }216231#else217232 free_bootmem_with_active_regions(0, max_pfn);218218-#endif219233220234 /* reserve the sections we're already using */221235 for (i = 0; i < lmb.reserved.cnt; i++)222236 reserve_bootmem(lmb.reserved.region[i].base,223237 lmb_size_bytes(&lmb.reserved, i));224238239239+#endif225240 /* XXX need to clip this if using highmem? */226241 sparse_memory_present_with_active_regions(0);227242···349334 highmem_mapnr = total_lowmem >> PAGE_SHIFT;350335 for (pfn = highmem_mapnr; pfn < max_mapnr; ++pfn) {351336 struct page *page = pfn_to_page(pfn);352352-337337+ if (lmb_is_reserved(pfn << PAGE_SHIFT))338338+ continue;353339 ClearPageReserved(page);354340 init_page_count(page);355341 __free_page(page);356342 totalhigh_pages++;343343+ reservedpages--;357344 }358345 totalram_pages += totalhigh_pages;359346 printk(KERN_DEBUG "High memory: %luk\n",
+13
arch/powerpc/platforms/82xx/Kconfig
···2626 help2727 This option enables support for the PQ2FADS board28282929+config EP8248E3030+ bool "Embedded Planet EP8248E (a.k.a. CWH-PPC-8248N-VE)"3131+ select 82723232+ select 82603333+ select FSL_SOC3434+ select PPC_CPM_NEW_BINDING3535+ select MDIO_BITBANG3636+ help3737+ This enables support for the Embedded Planet EP8248E board.3838+3939+ This board is also resold by Freescale as the QUICCStart4040+ MPC8248 Evaluation System and/or the CWH-PPC-8248N-VE.4141+2942endchoice30433144config PQ2ADS
···115115116116static int __init mpc834x_declare_of_platform_devices(void)117117{118118- if (!machine_is(mpc834x_mds))119119- return 0;120120-121118 of_platform_bus_probe(NULL, mpc834x_ids, NULL);122119 return 0;123120}124124-device_initcall(mpc834x_declare_of_platform_devices);121121+machine_device_initcall(mpc834x_mds, mpc834x_declare_of_platform_devices);125122126123/*127124 * Called very early, MMU is off, device-tree isn't unflattened
+1-4
arch/powerpc/platforms/83xx/mpc836x_mds.c
···141141142142static int __init mpc836x_declare_of_platform_devices(void)143143{144144- if (!machine_is(mpc836x_mds))145145- return 0;146146-147144 /* Publish the QE devices */148145 of_platform_bus_probe(NULL, mpc836x_ids, NULL);149146150147 return 0;151148}152152-device_initcall(mpc836x_declare_of_platform_devices);149149+machine_device_initcall(mpc836x_mds, mpc836x_declare_of_platform_devices);153150154151static void __init mpc836x_mds_init_IRQ(void)155152{
···4444 This board is also resold by Freescale as the QUICCStart4545 MPC885 Evaluation System and/or the CWH-PPC-885XN-VE.46464747+config PPC_ADDER8754848+ bool "Analogue & Micro Adder 875"4949+ select CPM15050+ select PPC_CPM_NEW_BINDING5151+ select REDBOOT5252+ help5353+ This enables support for the Analogue & Micro Adder 8755454+ board.5555+4756endchoice48574958menu "Freescale Ethernet driver platform-specific options"
···11+/* Analogue & Micro Adder MPC875 board support22+ *33+ * Author: Scott Wood <scottwood@freescale.com>44+ *55+ * Copyright (c) 2007 Freescale Semiconductor, Inc.66+ *77+ * This program is free software; you can redistribute it and/or modify88+ * it under the terms of the GNU General Public License, version 2, as99+ * published by the Free Software Foundation.1010+ */1111+1212+#include <linux/init.h>1313+#include <linux/fs_enet_pd.h>1414+#include <linux/of_platform.h>1515+1616+#include <asm/time.h>1717+#include <asm/machdep.h>1818+#include <asm/commproc.h>1919+#include <asm/fs_pd.h>2020+#include <asm/udbg.h>2121+#include <asm/prom.h>2222+2323+#include <sysdev/commproc.h>2424+2525+struct cpm_pin {2626+ int port, pin, flags;2727+};2828+2929+static __initdata struct cpm_pin adder875_pins[] = {3030+ /* SMC1 */3131+ {CPM_PORTB, 24, CPM_PIN_INPUT}, /* RX */3232+ {CPM_PORTB, 25, CPM_PIN_INPUT | CPM_PIN_SECONDARY}, /* TX */3333+3434+ /* MII1 */3535+ {CPM_PORTA, 0, CPM_PIN_INPUT},3636+ {CPM_PORTA, 1, CPM_PIN_INPUT},3737+ {CPM_PORTA, 2, CPM_PIN_INPUT},3838+ {CPM_PORTA, 3, CPM_PIN_INPUT},3939+ {CPM_PORTA, 4, CPM_PIN_OUTPUT},4040+ {CPM_PORTA, 10, CPM_PIN_OUTPUT},4141+ {CPM_PORTA, 11, CPM_PIN_OUTPUT},4242+ {CPM_PORTB, 19, CPM_PIN_INPUT},4343+ {CPM_PORTB, 31, CPM_PIN_INPUT},4444+ {CPM_PORTC, 12, CPM_PIN_INPUT},4545+ {CPM_PORTC, 13, CPM_PIN_INPUT},4646+ {CPM_PORTE, 30, CPM_PIN_OUTPUT},4747+ {CPM_PORTE, 31, CPM_PIN_OUTPUT},4848+4949+ /* MII2 */5050+ {CPM_PORTE, 14, CPM_PIN_OUTPUT | CPM_PIN_SECONDARY},5151+ {CPM_PORTE, 15, CPM_PIN_OUTPUT | CPM_PIN_SECONDARY},5252+ {CPM_PORTE, 16, CPM_PIN_OUTPUT},5353+ {CPM_PORTE, 17, CPM_PIN_OUTPUT | CPM_PIN_SECONDARY},5454+ {CPM_PORTE, 18, CPM_PIN_OUTPUT | CPM_PIN_SECONDARY},5555+ {CPM_PORTE, 19, CPM_PIN_OUTPUT | CPM_PIN_SECONDARY},5656+ {CPM_PORTE, 20, CPM_PIN_OUTPUT | CPM_PIN_SECONDARY},5757+ {CPM_PORTE, 21, CPM_PIN_OUTPUT},5858+ {CPM_PORTE, 22, CPM_PIN_OUTPUT},5959+ {CPM_PORTE, 23, CPM_PIN_OUTPUT},6060+ {CPM_PORTE, 24, CPM_PIN_OUTPUT},6161+ {CPM_PORTE, 25, CPM_PIN_OUTPUT},6262+ {CPM_PORTE, 26, CPM_PIN_OUTPUT},6363+ {CPM_PORTE, 27, CPM_PIN_OUTPUT},6464+ {CPM_PORTE, 28, CPM_PIN_OUTPUT},6565+ {CPM_PORTE, 29, CPM_PIN_OUTPUT},6666+};6767+6868+static void __init init_ioports(void)6969+{7070+ int i;7171+7272+ for (i = 0; i < ARRAY_SIZE(adder875_pins); i++) {7373+ const struct cpm_pin *pin = &adder875_pins[i];7474+ cpm1_set_pin(pin->port, pin->pin, pin->flags);7575+ }7676+7777+ cpm1_clk_setup(CPM_CLK_SMC1, CPM_BRG1, CPM_CLK_RTX);7878+7979+ /* Set FEC1 and FEC2 to MII mode */8080+ clrbits32(&mpc8xx_immr->im_cpm.cp_cptr, 0x00000180);8181+}8282+8383+static void __init adder875_setup(void)8484+{8585+ cpm_reset();8686+ init_ioports();8787+}8888+8989+static int __init adder875_probe(void)9090+{9191+ unsigned long root = of_get_flat_dt_root();9292+ return of_flat_dt_is_compatible(root, "analogue-and-micro,adder875");9393+}9494+9595+static __initdata struct of_device_id of_bus_ids[] = {9696+ { .compatible = "simple-bus", },9797+ {},9898+};9999+100100+static int __init declare_of_platform_devices(void)101101+{102102+ of_platform_bus_probe(NULL, of_bus_ids, NULL);103103+ return 0;104104+}105105+machine_device_initcall(adder875, declare_of_platform_devices);106106+107107+define_machine(adder875) {108108+ .name = "Adder MPC875",109109+ .probe = adder875_probe,110110+ .setup_arch = adder875_setup,111111+ .init_IRQ = m8xx_pic_init,112112+ .get_irq = mpc8xx_get_irq,113113+ .restart = mpc8xx_restart,114114+ .calibrate_decr = generic_calibrate_decr,115115+ .set_rtc_time = mpc8xx_set_rtc_time,116116+ .get_rtc_time = mpc8xx_get_rtc_time,117117+ .progress = udbg_progress,118118+};
+2-3
arch/powerpc/platforms/8xx/ep88xc.c
···155155static int __init declare_of_platform_devices(void)156156{157157 /* Publish the QE devices */158158- if (machine_is(ep88xc))159159- of_platform_bus_probe(NULL, of_bus_ids, NULL);158158+ of_platform_bus_probe(NULL, of_bus_ids, NULL);160159161160 return 0;162161}163163-device_initcall(declare_of_platform_devices);162162+machine_device_initcall(ep88xc, declare_of_platform_devices);164163165164define_machine(ep88xc) {166165 .name = "Embedded Planet EP88xC",
+2-3
arch/powerpc/platforms/8xx/mpc86xads_setup.c
···128128129129static int __init declare_of_platform_devices(void)130130{131131- if (machine_is(mpc86x_ads))132132- of_platform_bus_probe(NULL, of_bus_ids, NULL);131131+ of_platform_bus_probe(NULL, of_bus_ids, NULL);133132134133 return 0;135134}136136-device_initcall(declare_of_platform_devices);135135+machine_device_initcall(mpc86x_ads, declare_of_platform_devices);137136138137define_machine(mpc86x_ads) {139138 .name = "MPC86x ADS",
+2-3
arch/powerpc/platforms/8xx/mpc885ads_setup.c
···264264static int __init declare_of_platform_devices(void)265265{266266 /* Publish the QE devices */267267- if (machine_is(mpc885_ads))268268- of_platform_bus_probe(NULL, of_bus_ids, NULL);267267+ of_platform_bus_probe(NULL, of_bus_ids, NULL);269268270269 return 0;271270}272272-device_initcall(declare_of_platform_devices);271271+machine_device_initcall(mpc885_ads, declare_of_platform_devices);273272274273define_machine(mpc885_ads) {275274 .name = "Freescale MPC885 ADS",
+6
arch/powerpc/platforms/Kconfig
···2222 depends on 6xx2323 select FSL_SOC2424 select 83xx2525+ select IPIC2526 select WANT_DEVICE_TREE26272728config PPC_86xx···8079 depends on PPC_PSERIES8180 bool8281 default y8282+8383+config IPIC8484+ bool8585+ default n83868487config MPIC8588 bool···270265config QUICC_ENGINE271266 bool272267 select PPC_LIB_RHEAP268268+ select CRC32273269 help274270 The QUICC Engine (QE) is a new generation of communications275271 coprocessors on Freescale embedded CPUs (akin to CPM in older chips).
+17-6
arch/powerpc/platforms/embedded6xx/Kconfig
···99 select FSL_SOC1010 select PPC_UDBG_16550 if SERIAL_82501111 select DEFAULT_UIMAGE1212+ select MPC10X_OPENPIC1313+ select MPC10X_BRIDGE1214 help1315 Select LINKSTATION if configuring for one of PPC- (MPC8241)1416 based NAS systems from Buffalo Technology. So far only1517 KuroboxHG has been tested. In the future classical Kurobox,1618 Linkstation-I HD-HLAN and HD-HGLAN versions, and PPC-based1719 Terastation systems should be supported too.2020+2121+config STORCENTER2222+ bool "IOMEGA StorCenter"2323+ depends on EMBEDDED6xx2424+ select MPIC2525+ select FSL_SOC2626+ select PPC_UDBG_16550 if SERIAL_82502727+ select WANT_DEVICE_TREE2828+ select MPC10X_OPENPIC2929+ select MPC10X_BRIDGE3030+ help3131+ Select STORCENTER if configuring for the iomega StorCenter3232+ with an 8241 CPU in it.18331934config MPC7448HPC22035 bool "Freescale MPC7448HPC2(Taiga)"···3823 select DEFAULT_UIMAGE3924 select PPC_UDBG_165504025 select WANT_DEVICE_TREE2626+ select TSI108_BRIDGE4127 help4228 Select MPC7448HPC2 if configuring for Freescale MPC7448HPC2 (Taiga)4329 platform···4933 select TSI108_BRIDGE5034 select PPC_UDBG_165505135 select WANT_DEVICE_TREE3636+ select TSI108_BRIDGE5237 help5338 Select PPC_HOLLY if configuring for an IBM 750GX/CL Eval5439 Board with TSI108/9 bridge (Hickory/Holly)···65486649config TSI108_BRIDGE6750 bool6868- depends on MPC7448HPC2 || PPC_HOLLY6951 select PCI7052 select MPIC7153 select MPIC_WEIRD7272- default y73547455config MPC10X_BRIDGE7556 bool7676- depends on LINKSTATION7757 select PPC_INDIRECT_PCI7878- default y79588059config MV64X608160 bool···80678168config MPC10X_OPENPIC8269 bool8383- depends on LINKSTATION8484- default y85708671config MPC10X_STORE_GATHERING8772 bool "Enable MPC10x store gathering"
···267267 */268268269269270270-static void _mpic_map_mmio(struct mpic *mpic, unsigned long phys_addr,270270+static void _mpic_map_mmio(struct mpic *mpic, phys_addr_t phys_addr,271271 struct mpic_reg_bank *rb, unsigned int offset,272272 unsigned int size)273273{···287287 BUG_ON(!DCR_MAP_OK(rb->dhost));288288}289289290290-static inline void mpic_map(struct mpic *mpic, unsigned long phys_addr,290290+static inline void mpic_map(struct mpic *mpic, phys_addr_t phys_addr,291291 struct mpic_reg_bank *rb, unsigned int offset,292292 unsigned int size)293293{
+1-1
arch/powerpc/sysdev/qe_lib/Kconfig
···4455config UCC_SLOW66 bool77- default n77+ default y if SERIAL_QE88 help99 This option provides qe_lib support to UCC slow1010 protocols: UART, BISYNC, QMC
+247
arch/powerpc/sysdev/qe_lib/qe.c
···2525#include <linux/module.h>2626#include <linux/delay.h>2727#include <linux/ioport.h>2828+#include <linux/crc32.h>2829#include <asm/irq.h>2930#include <asm/page.h>3031#include <asm/pgtable.h>···395394 return (void *)&qe_immr->muram[offset];396395}397396EXPORT_SYMBOL(qe_muram_addr);397397+398398+/* The maximum number of RISCs we support */399399+#define MAX_QE_RISC 2400400+401401+/* Firmware information stored here for qe_get_firmware_info() */402402+static struct qe_firmware_info qe_firmware_info;403403+404404+/*405405+ * Set to 1 if QE firmware has been uploaded, and therefore406406+ * qe_firmware_info contains valid data.407407+ */408408+static int qe_firmware_uploaded;409409+410410+/*411411+ * Upload a QE microcode412412+ *413413+ * This function is a worker function for qe_upload_firmware(). It does414414+ * the actual uploading of the microcode.415415+ */416416+static void qe_upload_microcode(const void *base,417417+ const struct qe_microcode *ucode)418418+{419419+ const __be32 *code = base + be32_to_cpu(ucode->code_offset);420420+ unsigned int i;421421+422422+ if (ucode->major || ucode->minor || ucode->revision)423423+ printk(KERN_INFO "qe-firmware: "424424+ "uploading microcode '%s' version %u.%u.%u\n",425425+ ucode->id, ucode->major, ucode->minor, ucode->revision);426426+ else427427+ printk(KERN_INFO "qe-firmware: "428428+ "uploading microcode '%s'\n", ucode->id);429429+430430+ /* Use auto-increment */431431+ out_be32(&qe_immr->iram.iadd, be32_to_cpu(ucode->iram_offset) |432432+ QE_IRAM_IADD_AIE | QE_IRAM_IADD_BADDR);433433+434434+ for (i = 0; i < be32_to_cpu(ucode->count); i++)435435+ out_be32(&qe_immr->iram.idata, be32_to_cpu(code[i]));436436+}437437+438438+/*439439+ * Upload a microcode to the I-RAM at a specific address.440440+ *441441+ * See Documentation/powerpc/qe-firmware.txt for information on QE microcode442442+ * uploading.443443+ *444444+ * Currently, only version 1 is supported, so the 'version' field must be445445+ * set to 1.446446+ *447447+ * The SOC model and revision are not validated, they are only displayed for448448+ * informational purposes.449449+ *450450+ * 'calc_size' is the calculated size, in bytes, of the firmware structure and451451+ * all of the microcode structures, minus the CRC.452452+ *453453+ * 'length' is the size that the structure says it is, including the CRC.454454+ */455455+int qe_upload_firmware(const struct qe_firmware *firmware)456456+{457457+ unsigned int i;458458+ unsigned int j;459459+ u32 crc;460460+ size_t calc_size = sizeof(struct qe_firmware);461461+ size_t length;462462+ const struct qe_header *hdr;463463+464464+ if (!firmware) {465465+ printk(KERN_ERR "qe-firmware: invalid pointer\n");466466+ return -EINVAL;467467+ }468468+469469+ hdr = &firmware->header;470470+ length = be32_to_cpu(hdr->length);471471+472472+ /* Check the magic */473473+ if ((hdr->magic[0] != 'Q') || (hdr->magic[1] != 'E') ||474474+ (hdr->magic[2] != 'F')) {475475+ printk(KERN_ERR "qe-firmware: not a microcode\n");476476+ return -EPERM;477477+ }478478+479479+ /* Check the version */480480+ if (hdr->version != 1) {481481+ printk(KERN_ERR "qe-firmware: unsupported version\n");482482+ return -EPERM;483483+ }484484+485485+ /* Validate some of the fields */486486+ if ((firmware->count < 1) || (firmware->count >= MAX_QE_RISC)) {487487+ printk(KERN_ERR "qe-firmware: invalid data\n");488488+ return -EINVAL;489489+ }490490+491491+ /* Validate the length and check if there's a CRC */492492+ calc_size += (firmware->count - 1) * sizeof(struct qe_microcode);493493+494494+ for (i = 0; i < firmware->count; i++)495495+ /*496496+ * For situations where the second RISC uses the same microcode497497+ * as the first, the 'code_offset' and 'count' fields will be498498+ * zero, so it's okay to add those.499499+ */500500+ calc_size += sizeof(__be32) *501501+ be32_to_cpu(firmware->microcode[i].count);502502+503503+ /* Validate the length */504504+ if (length != calc_size + sizeof(__be32)) {505505+ printk(KERN_ERR "qe-firmware: invalid length\n");506506+ return -EPERM;507507+ }508508+509509+ /* Validate the CRC */510510+ crc = be32_to_cpu(*(__be32 *)((void *)firmware + calc_size));511511+ if (crc != crc32(0, firmware, calc_size)) {512512+ printk(KERN_ERR "qe-firmware: firmware CRC is invalid\n");513513+ return -EIO;514514+ }515515+516516+ /*517517+ * If the microcode calls for it, split the I-RAM.518518+ */519519+ if (!firmware->split)520520+ setbits16(&qe_immr->cp.cercr, QE_CP_CERCR_CIR);521521+522522+ if (firmware->soc.model)523523+ printk(KERN_INFO524524+ "qe-firmware: firmware '%s' for %u V%u.%u\n",525525+ firmware->id, be16_to_cpu(firmware->soc.model),526526+ firmware->soc.major, firmware->soc.minor);527527+ else528528+ printk(KERN_INFO "qe-firmware: firmware '%s'\n",529529+ firmware->id);530530+531531+ /*532532+ * The QE only supports one microcode per RISC, so clear out all the533533+ * saved microcode information and put in the new.534534+ */535535+ memset(&qe_firmware_info, 0, sizeof(qe_firmware_info));536536+ strcpy(qe_firmware_info.id, firmware->id);537537+ qe_firmware_info.extended_modes = firmware->extended_modes;538538+ memcpy(qe_firmware_info.vtraps, firmware->vtraps,539539+ sizeof(firmware->vtraps));540540+541541+ /* Loop through each microcode. */542542+ for (i = 0; i < firmware->count; i++) {543543+ const struct qe_microcode *ucode = &firmware->microcode[i];544544+545545+ /* Upload a microcode if it's present */546546+ if (ucode->code_offset)547547+ qe_upload_microcode(firmware, ucode);548548+549549+ /* Program the traps for this processor */550550+ for (j = 0; j < 16; j++) {551551+ u32 trap = be32_to_cpu(ucode->traps[j]);552552+553553+ if (trap)554554+ out_be32(&qe_immr->rsp[i].tibcr[j], trap);555555+ }556556+557557+ /* Enable traps */558558+ out_be32(&qe_immr->rsp[i].eccr, be32_to_cpu(ucode->eccr));559559+ }560560+561561+ qe_firmware_uploaded = 1;562562+563563+ return 0;564564+}565565+EXPORT_SYMBOL(qe_upload_firmware);566566+567567+/*568568+ * Get info on the currently-loaded firmware569569+ *570570+ * This function also checks the device tree to see if the boot loader has571571+ * uploaded a firmware already.572572+ */573573+struct qe_firmware_info *qe_get_firmware_info(void)574574+{575575+ static int initialized;576576+ struct property *prop;577577+ struct device_node *qe;578578+ struct device_node *fw = NULL;579579+ const char *sprop;580580+ unsigned int i;581581+582582+ /*583583+ * If we haven't checked yet, and a driver hasn't uploaded a firmware584584+ * yet, then check the device tree for information.585585+ */586586+ if (initialized || qe_firmware_uploaded)587587+ return NULL;588588+589589+ initialized = 1;590590+591591+ /*592592+ * Newer device trees have an "fsl,qe" compatible property for the QE593593+ * node, but we still need to support older device trees.594594+ */595595+ qe = of_find_compatible_node(NULL, NULL, "fsl,qe");596596+ if (!qe) {597597+ qe = of_find_node_by_type(NULL, "qe");598598+ if (!qe)599599+ return NULL;600600+ }601601+602602+ /* Find the 'firmware' child node */603603+ for_each_child_of_node(qe, fw) {604604+ if (strcmp(fw->name, "firmware") == 0)605605+ break;606606+ }607607+608608+ of_node_put(qe);609609+610610+ /* Did we find the 'firmware' node? */611611+ if (!fw)612612+ return NULL;613613+614614+ qe_firmware_uploaded = 1;615615+616616+ /* Copy the data into qe_firmware_info*/617617+ sprop = of_get_property(fw, "id", NULL);618618+ if (sprop)619619+ strncpy(qe_firmware_info.id, sprop,620620+ sizeof(qe_firmware_info.id) - 1);621621+622622+ prop = of_find_property(fw, "extended-modes", NULL);623623+ if (prop && (prop->length == sizeof(u64))) {624624+ const u64 *iprop = prop->value;625625+626626+ qe_firmware_info.extended_modes = *iprop;627627+ }628628+629629+ prop = of_find_property(fw, "virtual-traps", NULL);630630+ if (prop && (prop->length == 32)) {631631+ const u32 *iprop = prop->value;632632+633633+ for (i = 0; i < ARRAY_SIZE(qe_firmware_info.vtraps); i++)634634+ qe_firmware_info.vtraps[i] = iprop[i];635635+ }636636+637637+ of_node_put(fw);638638+639639+ return &qe_firmware_info;640640+}641641+EXPORT_SYMBOL(qe_get_firmware_info);642642+
···11781178 struct device_node *phynode, *mdionode;11791179 struct resource res;11801180 int ret = 0, len;11811181+ const u32 *data;1181118211821182- const u32 *data = of_get_property(np, "phy-handle", &len);11831183+ data = of_get_property(np, "fixed-link", NULL);11841184+ if (data) {11851185+ snprintf(fpi->bus_id, 16, PHY_ID_FMT, 0, *data);11861186+ return 0;11871187+ }11881188+11891189+ data = of_get_property(np, "phy-handle", &len);11831190 if (!data || len != 4)11841191 return -EINVAL;11851192
+4-26
drivers/net/phy/Kconfig
···6161 Currently supports the IP175C PHY.62626363config FIXED_PHY6464- tristate "Drivers for PHY emulation on fixed speed/link"6464+ bool "Driver for MDIO Bus/PHY emulation with fixed speed/link PHYs"6565 ---help---6666- Adds the driver to PHY layer to cover the boards that do not have any PHY bound,6767- but with the ability to manipulate the speed/link in software. The relevant MII6868- speed/duplex parameters could be effectively handled in a user-specified function.6969- Currently tested with mpc866ads.6666+ Adds the platform "fixed" MDIO Bus to cover the boards that use6767+ PHYs that are not connected to the real MDIO bus.70687171-config FIXED_MII_10_FDX7272- bool "Emulation for 10M Fdx fixed PHY behavior"7373- depends on FIXED_PHY7474-7575-config FIXED_MII_100_FDX7676- bool "Emulation for 100M Fdx fixed PHY behavior"7777- depends on FIXED_PHY7878-7979-config FIXED_MII_1000_FDX8080- bool "Emulation for 1000M Fdx fixed PHY behavior"8181- depends on FIXED_PHY8282-8383-config FIXED_MII_AMNT8484- int "Number of emulated PHYs to allocate "8585- depends on FIXED_PHY8686- default "1"8787- ---help---8888- Sometimes it is required to have several independent emulated8989- PHYs on the bus (in case of multi-eth but phy-less HW for instance).9090- This control will have specified number allocated for each fixed9191- PHY type enabled.6969+ Currently tested with mpc866ads and mpc8349e-mitx.92709371config MDIO_BITBANG9472 tristate "Support for bitbanged MDIO buses"
+199-308
drivers/net/phy/fixed.c
···11/*22- * drivers/net/phy/fixed.c22+ * Fixed MDIO bus (MDIO bus emulation with fixed PHYs)33 *44- * Driver for fixed PHYs, when transceiver is able to operate in one fixed mode.44+ * Author: Vitaly Bordug <vbordug@ru.mvista.com>55+ * Anton Vorontsov <avorontsov@ru.mvista.com>56 *66- * Author: Vitaly Bordug77- *88- * Copyright (c) 2006 MontaVista Software, Inc.77+ * Copyright (c) 2006-2007 MontaVista Software, Inc.98 *109 * This program is free software; you can redistribute it and/or modify it1110 * under the terms of the GNU General Public License as published by the1211 * Free Software Foundation; either version 2 of the License, or (at your1312 * option) any later version.1414- *1513 */1414+1615#include <linux/kernel.h>1717-#include <linux/string.h>1818-#include <linux/errno.h>1919-#include <linux/unistd.h>2020-#include <linux/slab.h>2121-#include <linux/interrupt.h>2222-#include <linux/init.h>2323-#include <linux/delay.h>2424-#include <linux/netdevice.h>2525-#include <linux/etherdevice.h>2626-#include <linux/skbuff.h>2727-#include <linux/spinlock.h>2828-#include <linux/mm.h>2916#include <linux/module.h>1717+#include <linux/platform_device.h>1818+#include <linux/list.h>3019#include <linux/mii.h>3131-#include <linux/ethtool.h>3220#include <linux/phy.h>3321#include <linux/phy_fixed.h>34223535-#include <asm/io.h>3636-#include <asm/irq.h>3737-#include <asm/uaccess.h>2323+#define MII_REGS_NUM 2938243939-/* we need to track the allocated pointers in order to free them on exit */4040-static struct fixed_info *fixed_phy_ptrs[CONFIG_FIXED_MII_AMNT*MAX_PHY_AMNT];2525+struct fixed_mdio_bus {2626+ int irqs[PHY_MAX_ADDR];2727+ struct mii_bus mii_bus;2828+ struct list_head phys;2929+};41304242-/*-----------------------------------------------------------------------------4343- * If something weird is required to be done with link/speed,4444- * network driver is able to assign a function to implement this.4545- * May be useful for PHY's that need to be software-driven.4646- *-----------------------------------------------------------------------------*/4747-int fixed_mdio_set_link_update(struct phy_device *phydev,4848- int (*link_update) (struct net_device *,4949- struct fixed_phy_status *))3131+struct fixed_phy {3232+ int id;3333+ u16 regs[MII_REGS_NUM];3434+ struct phy_device *phydev;3535+ struct fixed_phy_status status;3636+ int (*link_update)(struct net_device *, struct fixed_phy_status *);3737+ struct list_head node;3838+};3939+4040+static struct platform_device *pdev;4141+static struct fixed_mdio_bus platform_fmb = {4242+ .phys = LIST_HEAD_INIT(platform_fmb.phys),4343+};4444+4545+static int fixed_phy_update_regs(struct fixed_phy *fp)5046{5151- struct fixed_info *fixed;5252-5353- if (link_update == NULL)5454- return -EINVAL;5555-5656- if (phydev) {5757- if (phydev->bus) {5858- fixed = phydev->bus->priv;5959- fixed->link_update = link_update;6060- return 0;6161- }6262- }6363- return -EINVAL;6464-}6565-6666-EXPORT_SYMBOL(fixed_mdio_set_link_update);6767-6868-struct fixed_info *fixed_mdio_get_phydev (int phydev_ind)6969-{7070- if (phydev_ind >= MAX_PHY_AMNT)7171- return NULL;7272- return fixed_phy_ptrs[phydev_ind];7373-}7474-7575-EXPORT_SYMBOL(fixed_mdio_get_phydev);7676-7777-/*-----------------------------------------------------------------------------7878- * This is used for updating internal mii regs from the status7979- *-----------------------------------------------------------------------------*/8080-#if defined(CONFIG_FIXED_MII_100_FDX) || defined(CONFIG_FIXED_MII_10_FDX) || defined(CONFIG_FIXED_MII_1000_FDX)8181-static int fixed_mdio_update_regs(struct fixed_info *fixed)8282-{8383- u16 *regs = fixed->regs;8484- u16 bmsr = 0;4747+ u16 bmsr = BMSR_ANEGCAPABLE;8548 u16 bmcr = 0;4949+ u16 lpagb = 0;5050+ u16 lpa = 0;86518787- if (!regs) {8888- printk(KERN_ERR "%s: regs not set up", __FUNCTION__);8989- return -EINVAL;9090- }9191-9292- if (fixed->phy_status.link)9393- bmsr |= BMSR_LSTATUS;9494-9595- if (fixed->phy_status.duplex) {5252+ if (fp->status.duplex) {9653 bmcr |= BMCR_FULLDPLX;97549898- switch (fixed->phy_status.speed) {5555+ switch (fp->status.speed) {5656+ case 1000:5757+ bmsr |= BMSR_ESTATEN;5858+ bmcr |= BMCR_SPEED1000;5959+ lpagb |= LPA_1000FULL;6060+ break;9961 case 100:10062 bmsr |= BMSR_100FULL;10163 bmcr |= BMCR_SPEED100;6464+ lpa |= LPA_100FULL;10265 break;103103-10466 case 10:10567 bmsr |= BMSR_10FULL;6868+ lpa |= LPA_10FULL;10669 break;7070+ default:7171+ printk(KERN_WARNING "fixed phy: unknown speed\n");7272+ return -EINVAL;10773 }10874 } else {109109- switch (fixed->phy_status.speed) {7575+ switch (fp->status.speed) {7676+ case 1000:7777+ bmsr |= BMSR_ESTATEN;7878+ bmcr |= BMCR_SPEED1000;7979+ lpagb |= LPA_1000HALF;8080+ break;11081 case 100:11182 bmsr |= BMSR_100HALF;11283 bmcr |= BMCR_SPEED100;8484+ lpa |= LPA_100HALF;11385 break;114114-11586 case 10:116116- bmsr |= BMSR_100HALF;8787+ bmsr |= BMSR_10HALF;8888+ lpa |= LPA_10HALF;11789 break;9090+ default:9191+ printk(KERN_WARNING "fixed phy: unknown speed\n");9292+ return -EINVAL;11893 }11994 }12095121121- regs[MII_BMCR] = bmcr;122122- regs[MII_BMSR] = bmsr | 0x800; /*we are always capable of 10 hdx */9696+ if (fp->status.link)9797+ bmsr |= BMSR_LSTATUS | BMSR_ANEGCOMPLETE;9898+9999+ if (fp->status.pause)100100+ lpa |= LPA_PAUSE_CAP;101101+102102+ if (fp->status.asym_pause)103103+ lpa |= LPA_PAUSE_ASYM;104104+105105+ fp->regs[MII_PHYSID1] = fp->id >> 16;106106+ fp->regs[MII_PHYSID2] = fp->id;107107+108108+ fp->regs[MII_BMSR] = bmsr;109109+ fp->regs[MII_BMCR] = bmcr;110110+ fp->regs[MII_LPA] = lpa;111111+ fp->regs[MII_STAT1000] = lpagb;123112124113 return 0;125114}126115127127-static int fixed_mii_read(struct mii_bus *bus, int phy_id, int location)116116+static int fixed_mdio_read(struct mii_bus *bus, int phy_id, int reg_num)128117{129129- struct fixed_info *fixed = bus->priv;118118+ struct fixed_mdio_bus *fmb = container_of(bus, struct fixed_mdio_bus,119119+ mii_bus);120120+ struct fixed_phy *fp;130121131131- /* if user has registered link update callback, use it */132132- if (fixed->phydev)133133- if (fixed->phydev->attached_dev) {134134- if (fixed->link_update) {135135- fixed->link_update(fixed->phydev->attached_dev,136136- &fixed->phy_status);137137- fixed_mdio_update_regs(fixed);138138- }139139- }140140-141141- if ((unsigned int)location >= fixed->regs_num)122122+ if (reg_num >= MII_REGS_NUM)142123 return -1;143143- return fixed->regs[location];144144-}145124146146-static int fixed_mii_write(struct mii_bus *bus, int phy_id, int location,147147- u16 val)148148-{149149- /* do nothing for now */150150- return 0;151151-}152152-153153-static int fixed_mii_reset(struct mii_bus *bus)154154-{155155- /*nothing here - no way/need to reset it */156156- return 0;157157-}158158-#endif159159-160160-static int fixed_config_aneg(struct phy_device *phydev)161161-{162162- /* :TODO:03/13/2006 09:45:37 PM::163163- The full autoneg funcionality can be emulated,164164- but no need to have anything here for now165165- */166166- return 0;167167-}168168-169169-/*-----------------------------------------------------------------------------170170- * the manual bind will do the magic - with phy_id_mask == 0171171- * match will never return true...172172- *-----------------------------------------------------------------------------*/173173-static struct phy_driver fixed_mdio_driver = {174174- .name = "Fixed PHY",175175-#ifdef CONFIG_FIXED_MII_1000_FDX176176- .features = PHY_GBIT_FEATURES,177177-#else178178- .features = PHY_BASIC_FEATURES,179179-#endif180180- .config_aneg = fixed_config_aneg,181181- .read_status = genphy_read_status,182182- .driver = { .owner = THIS_MODULE, },183183-};184184-185185-static void fixed_mdio_release(struct device *dev)186186-{187187- struct phy_device *phydev = container_of(dev, struct phy_device, dev);188188- struct mii_bus *bus = phydev->bus;189189- struct fixed_info *fixed = bus->priv;190190-191191- kfree(phydev);192192- kfree(bus->dev);193193- kfree(bus);194194- kfree(fixed->regs);195195- kfree(fixed);196196-}197197-198198-/*-----------------------------------------------------------------------------199199- * This func is used to create all the necessary stuff, bind200200- * the fixed phy driver and register all it on the mdio_bus_type.201201- * speed is either 10 or 100 or 1000, duplex is boolean.202202- * number is used to create multiple fixed PHYs, so that several devices can203203- * utilize them simultaneously.204204- *205205- * The device on mdio bus will look like [bus_id]:[phy_id],206206- * bus_id = number207207- * phy_id = speed+duplex.208208- *-----------------------------------------------------------------------------*/209209-#if defined(CONFIG_FIXED_MII_100_FDX) || defined(CONFIG_FIXED_MII_10_FDX) || defined(CONFIG_FIXED_MII_1000_FDX)210210-struct fixed_info *fixed_mdio_register_device(211211- int bus_id, int speed, int duplex, u8 phy_id)212212-{213213- struct mii_bus *new_bus;214214- struct fixed_info *fixed;215215- struct phy_device *phydev;216216- int err;217217-218218- struct device *dev = kzalloc(sizeof(struct device), GFP_KERNEL);219219-220220- if (dev == NULL)221221- goto err_dev_alloc;222222-223223- new_bus = kzalloc(sizeof(struct mii_bus), GFP_KERNEL);224224-225225- if (new_bus == NULL)226226- goto err_bus_alloc;227227-228228- fixed = kzalloc(sizeof(struct fixed_info), GFP_KERNEL);229229-230230- if (fixed == NULL)231231- goto err_fixed_alloc;232232-233233- fixed->regs = kzalloc(MII_REGS_NUM * sizeof(int), GFP_KERNEL);234234- if (NULL == fixed->regs)235235- goto err_fixed_regs_alloc;236236-237237- fixed->regs_num = MII_REGS_NUM;238238- fixed->phy_status.speed = speed;239239- fixed->phy_status.duplex = duplex;240240- fixed->phy_status.link = 1;241241-242242- new_bus->name = "Fixed MII Bus";243243- new_bus->read = &fixed_mii_read;244244- new_bus->write = &fixed_mii_write;245245- new_bus->reset = &fixed_mii_reset;246246- /*set up workspace */247247- fixed_mdio_update_regs(fixed);248248- new_bus->priv = fixed;249249-250250- new_bus->dev = dev;251251- dev_set_drvdata(dev, new_bus);252252-253253- /* create phy_device and register it on the mdio bus */254254- phydev = phy_device_create(new_bus, 0, 0);255255- if (phydev == NULL)256256- goto err_phy_dev_create;257257-258258- /*259259- * Put the phydev pointer into the fixed pack so that bus read/write260260- * code could be able to access for instance attached netdev. Well it261261- * doesn't have to do so, only in case of utilizing user-specified262262- * link-update...263263- */264264-265265- fixed->phydev = phydev;266266- phydev->speed = speed;267267- phydev->duplex = duplex;268268-269269- phydev->irq = PHY_IGNORE_INTERRUPT;270270- phydev->dev.bus = &mdio_bus_type;271271-272272- snprintf(phydev->dev.bus_id, BUS_ID_SIZE,273273- PHY_ID_FMT, bus_id, phy_id);274274-275275- phydev->bus = new_bus;276276-277277- phydev->dev.driver = &fixed_mdio_driver.driver;278278- phydev->dev.release = fixed_mdio_release;279279- err = phydev->dev.driver->probe(&phydev->dev);280280- if (err < 0) {281281- printk(KERN_ERR "Phy %s: problems with fixed driver\n",282282- phydev->dev.bus_id);283283- goto err_out;125125+ list_for_each_entry(fp, &fmb->phys, node) {126126+ if (fp->id == phy_id) {127127+ /* Issue callback if user registered it. */128128+ if (fp->link_update) {129129+ fp->link_update(fp->phydev->attached_dev,130130+ &fp->status);131131+ fixed_phy_update_regs(fp);132132+ }133133+ return fp->regs[reg_num];134134+ }284135 }285285- err = device_register(&phydev->dev);286286- if (err) {287287- printk(KERN_ERR "Phy %s failed to register\n",288288- phydev->dev.bus_id);289289- goto err_out;290290- }291291- //phydev->state = PHY_RUNNING; /* make phy go up quick, but in 10Mbit/HDX292292- return fixed;293136294294-err_out:295295- kfree(phydev);296296-err_phy_dev_create:297297- kfree(fixed->regs);298298-err_fixed_regs_alloc:299299- kfree(fixed);300300-err_fixed_alloc:301301- kfree(new_bus);302302-err_bus_alloc:303303- kfree(dev);304304-err_dev_alloc:305305-306306- return NULL;307307-137137+ return 0xFFFF;308138}309309-#endif310139311311-MODULE_DESCRIPTION("Fixed PHY device & driver for PAL");140140+static int fixed_mdio_write(struct mii_bus *bus, int phy_id, int reg_num,141141+ u16 val)142142+{143143+ return 0;144144+}145145+146146+/*147147+ * If something weird is required to be done with link/speed,148148+ * network driver is able to assign a function to implement this.149149+ * May be useful for PHY's that need to be software-driven.150150+ */151151+int fixed_phy_set_link_update(struct phy_device *phydev,152152+ int (*link_update)(struct net_device *,153153+ struct fixed_phy_status *))154154+{155155+ struct fixed_mdio_bus *fmb = &platform_fmb;156156+ struct fixed_phy *fp;157157+158158+ if (!link_update || !phydev || !phydev->bus)159159+ return -EINVAL;160160+161161+ list_for_each_entry(fp, &fmb->phys, node) {162162+ if (fp->id == phydev->phy_id) {163163+ fp->link_update = link_update;164164+ fp->phydev = phydev;165165+ return 0;166166+ }167167+ }168168+169169+ return -ENOENT;170170+}171171+EXPORT_SYMBOL_GPL(fixed_phy_set_link_update);172172+173173+int fixed_phy_add(unsigned int irq, int phy_id,174174+ struct fixed_phy_status *status)175175+{176176+ int ret;177177+ struct fixed_mdio_bus *fmb = &platform_fmb;178178+ struct fixed_phy *fp;179179+180180+ fp = kzalloc(sizeof(*fp), GFP_KERNEL);181181+ if (!fp)182182+ return -ENOMEM;183183+184184+ memset(fp->regs, 0xFF, sizeof(fp->regs[0]) * MII_REGS_NUM);185185+186186+ fmb->irqs[phy_id] = irq;187187+188188+ fp->id = phy_id;189189+ fp->status = *status;190190+191191+ ret = fixed_phy_update_regs(fp);192192+ if (ret)193193+ goto err_regs;194194+195195+ list_add_tail(&fp->node, &fmb->phys);196196+197197+ return 0;198198+199199+err_regs:200200+ kfree(fp);201201+ return ret;202202+}203203+EXPORT_SYMBOL_GPL(fixed_phy_add);204204+205205+static int __init fixed_mdio_bus_init(void)206206+{207207+ struct fixed_mdio_bus *fmb = &platform_fmb;208208+ int ret;209209+210210+ pdev = platform_device_register_simple("Fixed MDIO bus", 0, NULL, 0);211211+ if (!pdev) {212212+ ret = -ENOMEM;213213+ goto err_pdev;214214+ }215215+216216+ fmb->mii_bus.id = 0;217217+ fmb->mii_bus.name = "Fixed MDIO Bus";218218+ fmb->mii_bus.dev = &pdev->dev;219219+ fmb->mii_bus.read = &fixed_mdio_read;220220+ fmb->mii_bus.write = &fixed_mdio_write;221221+ fmb->mii_bus.irq = fmb->irqs;222222+223223+ ret = mdiobus_register(&fmb->mii_bus);224224+ if (ret)225225+ goto err_mdiobus_reg;226226+227227+ return 0;228228+229229+err_mdiobus_reg:230230+ platform_device_unregister(pdev);231231+err_pdev:232232+ return ret;233233+}234234+module_init(fixed_mdio_bus_init);235235+236236+static void __exit fixed_mdio_bus_exit(void)237237+{238238+ struct fixed_mdio_bus *fmb = &platform_fmb;239239+ struct fixed_phy *fp;240240+241241+ mdiobus_unregister(&fmb->mii_bus);242242+ platform_device_unregister(pdev);243243+244244+ list_for_each_entry(fp, &fmb->phys, node) {245245+ list_del(&fp->node);246246+ kfree(fp);247247+ }248248+}249249+module_exit(fixed_mdio_bus_exit);250250+251251+MODULE_DESCRIPTION("Fixed MDIO bus (MDIO bus emulation with fixed PHYs)");312252MODULE_AUTHOR("Vitaly Bordug");313253MODULE_LICENSE("GPL");314314-315315-static int __init fixed_init(void)316316-{317317- int cnt = 0;318318- int i;319319-/* register on the bus... Not expected to be matched320320- * with anything there...321321- *322322- */323323- phy_driver_register(&fixed_mdio_driver);324324-325325-/* We will create several mdio devices here, and will bound the upper326326- * driver to them.327327- *328328- * Then the external software can lookup the phy bus by searching329329- * for 0:101, to be connected to the virtual 100M Fdx phy.330330- *331331- * In case several virtual PHYs required, the bus_id will be in form332332- * [num]:[duplex]+[speed], which make it able even to define333333- * driver-specific link control callback, if for instance PHY is334334- * completely SW-driven.335335- */336336- for (i=1; i <= CONFIG_FIXED_MII_AMNT; i++) {337337-#ifdef CONFIG_FIXED_MII_1000_FDX338338- fixed_phy_ptrs[cnt++] = fixed_mdio_register_device(0, 1000, 1, i);339339-#endif340340-#ifdef CONFIG_FIXED_MII_100_FDX341341- fixed_phy_ptrs[cnt++] = fixed_mdio_register_device(1, 100, 1, i);342342-#endif343343-#ifdef CONFIG_FIXED_MII_10_FDX344344- fixed_phy_ptrs[cnt++] = fixed_mdio_register_device(2, 10, 1, i);345345-#endif346346- }347347-348348- return 0;349349-}350350-351351-static void __exit fixed_exit(void)352352-{353353- int i;354354-355355- phy_driver_unregister(&fixed_mdio_driver);356356- for (i=0; i < MAX_PHY_AMNT; i++)357357- if ( fixed_phy_ptrs[i] )358358- device_unregister(&fixed_phy_ptrs[i]->phydev->dev);359359-}360360-361361-module_init(fixed_init);362362-module_exit(fixed_exit);
+3-2
drivers/rapidio/rio.c
···2323#include <linux/module.h>2424#include <linux/spinlock.h>2525#include <linux/slab.h>2626+#include <linux/interrupt.h>26272728#include "rio.h"2829···477476 port->iores.end - port->iores.start,478477 port->name)) {479478 printk(KERN_ERR480480- "RIO: Error requesting master port region %8.8lx-%8.8lx\n",481481- port->iores.start, port->iores.end - 1);479479+ "RIO: Error requesting master port region 0x%016llx-0x%016llx\n",480480+ (u64)port->iores.start, (u64)port->iores.end - 1);482481 rc = -ENOMEM;483482 goto out;484483 }
+10
drivers/serial/Kconfig
···12841284 Currently, only 8250 compatible ports are supported, but12851285 others can easily be added.1286128612871287+config SERIAL_QE12881288+ tristate "Freescale QUICC Engine serial port support"12891289+ depends on QUICC_ENGINE12901290+ select SERIAL_CORE12911291+ select FW_LOADER12921292+ default n12931293+ help12941294+ This driver supports the QE serial ports on Freescale embedded12951295+ PowerPC that contain a QUICC Engine.12961296+12871297endmenu
···165165 * really has to get out of the driver so boards can166166 * be supported in a sane fashion.167167 */168168+ volatile cpmux_t *cpmux = cpm2_map(im_cpmux);168169#ifndef CONFIG_STX_GP3169170 volatile iop_cpm2_t *io = cpm2_map(im_ioport);170170- volatile cpmux_t *cpmux = cpm2_map(im_cpmux);171171172172 io->iop_pparb |= 0x008b0000;173173 io->iop_pdirb |= 0x00880000;
+1514
drivers/serial/ucc_uart.c
···11+/*22+ * Freescale QUICC Engine UART device driver33+ *44+ * Author: Timur Tabi <timur@freescale.com>55+ *66+ * Copyright 2007 Freescale Semiconductor, Inc. This file is licensed under77+ * the terms of the GNU General Public License version 2. This program88+ * is licensed "as is" without any warranty of any kind, whether express99+ * or implied.1010+ *1111+ * This driver adds support for UART devices via Freescale's QUICC Engine1212+ * found on some Freescale SOCs.1313+ *1414+ * If Soft-UART support is needed but not already present, then this driver1515+ * will request and upload the "Soft-UART" microcode upon probe. The1616+ * filename of the microcode should be fsl_qe_ucode_uart_X_YZ.bin, where "X"1717+ * is the name of the SOC (e.g. 8323), and YZ is the revision of the SOC,1818+ * (e.g. "11" for 1.1).1919+ */2020+2121+#include <linux/module.h>2222+#include <linux/serial.h>2323+#include <linux/serial_core.h>2424+#include <linux/io.h>2525+#include <linux/of_platform.h>2626+#include <linux/dma-mapping.h>2727+2828+#include <linux/fs_uart_pd.h>2929+#include <asm/ucc_slow.h>3030+3131+#include <linux/firmware.h>3232+#include <asm/reg.h>3333+3434+/*3535+ * The GUMR flag for Soft UART. This would normally be defined in qe.h,3636+ * but Soft-UART is a hack and we want to keep everything related to it in3737+ * this file.3838+ */3939+#define UCC_SLOW_GUMR_H_SUART 0x00004000 /* Soft-UART */4040+4141+/*4242+ * soft_uart is 1 if we need to use Soft-UART mode4343+ */4444+static int soft_uart;4545+/*4646+ * firmware_loaded is 1 if the firmware has been loaded, 0 otherwise.4747+ */4848+static int firmware_loaded;4949+5050+/* Enable this macro to configure all serial ports in internal loopback5151+ mode */5252+/* #define LOOPBACK */5353+5454+/* The major and minor device numbers are defined in5555+ * http://www.lanana.org/docs/device-list/devices-2.6+.txt. For the QE5656+ * UART, we have major number 204 and minor numbers 46 - 49, which are the5757+ * same as for the CPM2. This decision was made because no Freescale part5858+ * has both a CPM and a QE.5959+ */6060+#define SERIAL_QE_MAJOR 2046161+#define SERIAL_QE_MINOR 466262+6363+/* Since we only have minor numbers 46 - 49, there is a hard limit of 4 ports */6464+#define UCC_MAX_UART 46565+6666+/* The number of buffer descriptors for receiving characters. */6767+#define RX_NUM_FIFO 46868+6969+/* The number of buffer descriptors for transmitting characters. */7070+#define TX_NUM_FIFO 47171+7272+/* The maximum size of the character buffer for a single RX BD. */7373+#define RX_BUF_SIZE 327474+7575+/* The maximum size of the character buffer for a single TX BD. */7676+#define TX_BUF_SIZE 327777+7878+/*7979+ * The number of jiffies to wait after receiving a close command before the8080+ * device is actually closed. This allows the last few characters to be8181+ * sent over the wire.8282+ */8383+#define UCC_WAIT_CLOSING 1008484+8585+struct ucc_uart_pram {8686+ struct ucc_slow_pram common;8787+ u8 res1[8]; /* reserved */8888+ __be16 maxidl; /* Maximum idle chars */8989+ __be16 idlc; /* temp idle counter */9090+ __be16 brkcr; /* Break count register */9191+ __be16 parec; /* receive parity error counter */9292+ __be16 frmec; /* receive framing error counter */9393+ __be16 nosec; /* receive noise counter */9494+ __be16 brkec; /* receive break condition counter */9595+ __be16 brkln; /* last received break length */9696+ __be16 uaddr[2]; /* UART address character 1 & 2 */9797+ __be16 rtemp; /* Temp storage */9898+ __be16 toseq; /* Transmit out of sequence char */9999+ __be16 cchars[8]; /* control characters 1-8 */100100+ __be16 rccm; /* receive control character mask */101101+ __be16 rccr; /* receive control character register */102102+ __be16 rlbc; /* receive last break character */103103+ __be16 res2; /* reserved */104104+ __be32 res3; /* reserved, should be cleared */105105+ u8 res4; /* reserved, should be cleared */106106+ u8 res5[3]; /* reserved, should be cleared */107107+ __be32 res6; /* reserved, should be cleared */108108+ __be32 res7; /* reserved, should be cleared */109109+ __be32 res8; /* reserved, should be cleared */110110+ __be32 res9; /* reserved, should be cleared */111111+ __be32 res10; /* reserved, should be cleared */112112+ __be32 res11; /* reserved, should be cleared */113113+ __be32 res12; /* reserved, should be cleared */114114+ __be32 res13; /* reserved, should be cleared */115115+/* The rest is for Soft-UART only */116116+ __be16 supsmr; /* 0x90, Shadow UPSMR */117117+ __be16 res92; /* 0x92, reserved, initialize to 0 */118118+ __be32 rx_state; /* 0x94, RX state, initialize to 0 */119119+ __be32 rx_cnt; /* 0x98, RX count, initialize to 0 */120120+ u8 rx_length; /* 0x9C, Char length, set to 1+CL+PEN+1+SL */121121+ u8 rx_bitmark; /* 0x9D, reserved, initialize to 0 */122122+ u8 rx_temp_dlst_qe; /* 0x9E, reserved, initialize to 0 */123123+ u8 res14[0xBC - 0x9F]; /* reserved */124124+ __be32 dump_ptr; /* 0xBC, Dump pointer */125125+ __be32 rx_frame_rem; /* 0xC0, reserved, initialize to 0 */126126+ u8 rx_frame_rem_size; /* 0xC4, reserved, initialize to 0 */127127+ u8 tx_mode; /* 0xC5, mode, 0=AHDLC, 1=UART */128128+ __be16 tx_state; /* 0xC6, TX state */129129+ u8 res15[0xD0 - 0xC8]; /* reserved */130130+ __be32 resD0; /* 0xD0, reserved, initialize to 0 */131131+ u8 resD4; /* 0xD4, reserved, initialize to 0 */132132+ __be16 resD5; /* 0xD5, reserved, initialize to 0 */133133+} __attribute__ ((packed));134134+135135+/* SUPSMR definitions, for Soft-UART only */136136+#define UCC_UART_SUPSMR_SL 0x8000137137+#define UCC_UART_SUPSMR_RPM_MASK 0x6000138138+#define UCC_UART_SUPSMR_RPM_ODD 0x0000139139+#define UCC_UART_SUPSMR_RPM_LOW 0x2000140140+#define UCC_UART_SUPSMR_RPM_EVEN 0x4000141141+#define UCC_UART_SUPSMR_RPM_HIGH 0x6000142142+#define UCC_UART_SUPSMR_PEN 0x1000143143+#define UCC_UART_SUPSMR_TPM_MASK 0x0C00144144+#define UCC_UART_SUPSMR_TPM_ODD 0x0000145145+#define UCC_UART_SUPSMR_TPM_LOW 0x0400146146+#define UCC_UART_SUPSMR_TPM_EVEN 0x0800147147+#define UCC_UART_SUPSMR_TPM_HIGH 0x0C00148148+#define UCC_UART_SUPSMR_FRZ 0x0100149149+#define UCC_UART_SUPSMR_UM_MASK 0x00c0150150+#define UCC_UART_SUPSMR_UM_NORMAL 0x0000151151+#define UCC_UART_SUPSMR_UM_MAN_MULTI 0x0040152152+#define UCC_UART_SUPSMR_UM_AUTO_MULTI 0x00c0153153+#define UCC_UART_SUPSMR_CL_MASK 0x0030154154+#define UCC_UART_SUPSMR_CL_8 0x0030155155+#define UCC_UART_SUPSMR_CL_7 0x0020156156+#define UCC_UART_SUPSMR_CL_6 0x0010157157+#define UCC_UART_SUPSMR_CL_5 0x0000158158+159159+#define UCC_UART_TX_STATE_AHDLC 0x00160160+#define UCC_UART_TX_STATE_UART 0x01161161+#define UCC_UART_TX_STATE_X1 0x00162162+#define UCC_UART_TX_STATE_X16 0x80163163+164164+#define UCC_UART_PRAM_ALIGNMENT 0x100165165+166166+#define UCC_UART_SIZE_OF_BD UCC_SLOW_SIZE_OF_BD167167+#define NUM_CONTROL_CHARS 8168168+169169+/* Private per-port data structure */170170+struct uart_qe_port {171171+ struct uart_port port;172172+ struct ucc_slow __iomem *uccp;173173+ struct ucc_uart_pram __iomem *uccup;174174+ struct ucc_slow_info us_info;175175+ struct ucc_slow_private *us_private;176176+ struct device_node *np;177177+ unsigned int ucc_num; /* First ucc is 0, not 1 */178178+179179+ u16 rx_nrfifos;180180+ u16 rx_fifosize;181181+ u16 tx_nrfifos;182182+ u16 tx_fifosize;183183+ int wait_closing;184184+ u32 flags;185185+ struct qe_bd *rx_bd_base;186186+ struct qe_bd *rx_cur;187187+ struct qe_bd *tx_bd_base;188188+ struct qe_bd *tx_cur;189189+ unsigned char *tx_buf;190190+ unsigned char *rx_buf;191191+ void *bd_virt; /* virtual address of the BD buffers */192192+ dma_addr_t bd_dma_addr; /* bus address of the BD buffers */193193+ unsigned int bd_size; /* size of BD buffer space */194194+};195195+196196+static struct uart_driver ucc_uart_driver = {197197+ .owner = THIS_MODULE,198198+ .driver_name = "serial",199199+ .dev_name = "ttyQE",200200+ .major = SERIAL_QE_MAJOR,201201+ .minor = SERIAL_QE_MINOR,202202+ .nr = UCC_MAX_UART,203203+};204204+205205+/*206206+ * Virtual to physical address translation.207207+ *208208+ * Given the virtual address for a character buffer, this function returns209209+ * the physical (DMA) equivalent.210210+ */211211+static inline dma_addr_t cpu2qe_addr(void *addr, struct uart_qe_port *qe_port)212212+{213213+ if (likely((addr >= qe_port->bd_virt)) &&214214+ (addr < (qe_port->bd_virt + qe_port->bd_size)))215215+ return qe_port->bd_dma_addr + (addr - qe_port->bd_virt);216216+217217+ /* something nasty happened */218218+ printk(KERN_ERR "%s: addr=%p\n", __FUNCTION__, addr);219219+ BUG();220220+ return 0;221221+}222222+223223+/*224224+ * Physical to virtual address translation.225225+ *226226+ * Given the physical (DMA) address for a character buffer, this function227227+ * returns the virtual equivalent.228228+ */229229+static inline void *qe2cpu_addr(dma_addr_t addr, struct uart_qe_port *qe_port)230230+{231231+ /* sanity check */232232+ if (likely((addr >= qe_port->bd_dma_addr) &&233233+ (addr < (qe_port->bd_dma_addr + qe_port->bd_size))))234234+ return qe_port->bd_virt + (addr - qe_port->bd_dma_addr);235235+236236+ /* something nasty happened */237237+ printk(KERN_ERR "%s: addr=%x\n", __FUNCTION__, addr);238238+ BUG();239239+ return NULL;240240+}241241+242242+/*243243+ * Return 1 if the QE is done transmitting all buffers for this port244244+ *245245+ * This function scans each BD in sequence. If we find a BD that is not246246+ * ready (READY=1), then we return 0 indicating that the QE is still sending247247+ * data. If we reach the last BD (WRAP=1), then we know we've scanned248248+ * the entire list, and all BDs are done.249249+ */250250+static unsigned int qe_uart_tx_empty(struct uart_port *port)251251+{252252+ struct uart_qe_port *qe_port =253253+ container_of(port, struct uart_qe_port, port);254254+ struct qe_bd *bdp = qe_port->tx_bd_base;255255+256256+ while (1) {257257+ if (in_be16(&bdp->status) & BD_SC_READY)258258+ /* This BD is not done, so return "not done" */259259+ return 0;260260+261261+ if (in_be16(&bdp->status) & BD_SC_WRAP)262262+ /*263263+ * This BD is done and it's the last one, so return264264+ * "done"265265+ */266266+ return 1;267267+268268+ bdp++;269269+ };270270+}271271+272272+/*273273+ * Set the modem control lines274274+ *275275+ * Although the QE can control the modem control lines (e.g. CTS), we276276+ * don't need that support. This function must exist, however, otherwise277277+ * the kernel will panic.278278+ */279279+void qe_uart_set_mctrl(struct uart_port *port, unsigned int mctrl)280280+{281281+}282282+283283+/*284284+ * Get the current modem control line status285285+ *286286+ * Although the QE can control the modem control lines (e.g. CTS), this287287+ * driver currently doesn't support that, so we always return Carrier288288+ * Detect, Data Set Ready, and Clear To Send.289289+ */290290+static unsigned int qe_uart_get_mctrl(struct uart_port *port)291291+{292292+ return TIOCM_CAR | TIOCM_DSR | TIOCM_CTS;293293+}294294+295295+/*296296+ * Disable the transmit interrupt.297297+ *298298+ * Although this function is called "stop_tx", it does not actually stop299299+ * transmission of data. Instead, it tells the QE to not generate an300300+ * interrupt when the UCC is finished sending characters.301301+ */302302+static void qe_uart_stop_tx(struct uart_port *port)303303+{304304+ struct uart_qe_port *qe_port =305305+ container_of(port, struct uart_qe_port, port);306306+307307+ clrbits16(&qe_port->uccp->uccm, UCC_UART_UCCE_TX);308308+}309309+310310+/*311311+ * Transmit as many characters to the HW as possible.312312+ *313313+ * This function will attempt to stuff of all the characters from the314314+ * kernel's transmit buffer into TX BDs.315315+ *316316+ * A return value of non-zero indicates that it sucessfully stuffed all317317+ * characters from the kernel buffer.318318+ *319319+ * A return value of zero indicates that there are still characters in the320320+ * kernel's buffer that have not been transmitted, but there are no more BDs321321+ * available. This function should be called again after a BD has been made322322+ * available.323323+ */324324+static int qe_uart_tx_pump(struct uart_qe_port *qe_port)325325+{326326+ struct qe_bd *bdp;327327+ unsigned char *p;328328+ unsigned int count;329329+ struct uart_port *port = &qe_port->port;330330+ struct circ_buf *xmit = &port->info->xmit;331331+332332+ bdp = qe_port->rx_cur;333333+334334+ /* Handle xon/xoff */335335+ if (port->x_char) {336336+ /* Pick next descriptor and fill from buffer */337337+ bdp = qe_port->tx_cur;338338+339339+ p = qe2cpu_addr(bdp->buf, qe_port);340340+341341+ *p++ = port->x_char;342342+ out_be16(&bdp->length, 1);343343+ setbits16(&bdp->status, BD_SC_READY);344344+ /* Get next BD. */345345+ if (in_be16(&bdp->status) & BD_SC_WRAP)346346+ bdp = qe_port->tx_bd_base;347347+ else348348+ bdp++;349349+ qe_port->tx_cur = bdp;350350+351351+ port->icount.tx++;352352+ port->x_char = 0;353353+ return 1;354354+ }355355+356356+ if (uart_circ_empty(xmit) || uart_tx_stopped(port)) {357357+ qe_uart_stop_tx(port);358358+ return 0;359359+ }360360+361361+ /* Pick next descriptor and fill from buffer */362362+ bdp = qe_port->tx_cur;363363+364364+ while (!(in_be16(&bdp->status) & BD_SC_READY) &&365365+ (xmit->tail != xmit->head)) {366366+ count = 0;367367+ p = qe2cpu_addr(bdp->buf, qe_port);368368+ while (count < qe_port->tx_fifosize) {369369+ *p++ = xmit->buf[xmit->tail];370370+ xmit->tail = (xmit->tail + 1) & (UART_XMIT_SIZE - 1);371371+ port->icount.tx++;372372+ count++;373373+ if (xmit->head == xmit->tail)374374+ break;375375+ }376376+377377+ out_be16(&bdp->length, count);378378+ setbits16(&bdp->status, BD_SC_READY);379379+380380+ /* Get next BD. */381381+ if (in_be16(&bdp->status) & BD_SC_WRAP)382382+ bdp = qe_port->tx_bd_base;383383+ else384384+ bdp++;385385+ }386386+ qe_port->tx_cur = bdp;387387+388388+ if (uart_circ_chars_pending(xmit) < WAKEUP_CHARS)389389+ uart_write_wakeup(port);390390+391391+ if (uart_circ_empty(xmit)) {392392+ /* The kernel buffer is empty, so turn off TX interrupts. We393393+ don't need to be told when the QE is finished transmitting394394+ the data. */395395+ qe_uart_stop_tx(port);396396+ return 0;397397+ }398398+399399+ return 1;400400+}401401+402402+/*403403+ * Start transmitting data404404+ *405405+ * This function will start transmitting any available data, if the port406406+ * isn't already transmitting data.407407+ */408408+static void qe_uart_start_tx(struct uart_port *port)409409+{410410+ struct uart_qe_port *qe_port =411411+ container_of(port, struct uart_qe_port, port);412412+413413+ /* If we currently are transmitting, then just return */414414+ if (in_be16(&qe_port->uccp->uccm) & UCC_UART_UCCE_TX)415415+ return;416416+417417+ /* Otherwise, pump the port and start transmission */418418+ if (qe_uart_tx_pump(qe_port))419419+ setbits16(&qe_port->uccp->uccm, UCC_UART_UCCE_TX);420420+}421421+422422+/*423423+ * Stop transmitting data424424+ */425425+static void qe_uart_stop_rx(struct uart_port *port)426426+{427427+ struct uart_qe_port *qe_port =428428+ container_of(port, struct uart_qe_port, port);429429+430430+ clrbits16(&qe_port->uccp->uccm, UCC_UART_UCCE_RX);431431+}432432+433433+/*434434+ * Enable status change interrupts435435+ *436436+ * We don't support status change interrupts, but we need to define this437437+ * function otherwise the kernel will panic.438438+ */439439+static void qe_uart_enable_ms(struct uart_port *port)440440+{441441+}442442+443443+/* Start or stop sending break signal444444+ *445445+ * This function controls the sending of a break signal. If break_state=1,446446+ * then we start sending a break signal. If break_state=0, then we stop447447+ * sending the break signal.448448+ */449449+static void qe_uart_break_ctl(struct uart_port *port, int break_state)450450+{451451+ struct uart_qe_port *qe_port =452452+ container_of(port, struct uart_qe_port, port);453453+454454+ if (break_state)455455+ ucc_slow_stop_tx(qe_port->us_private);456456+ else457457+ ucc_slow_restart_tx(qe_port->us_private);458458+}459459+460460+/* ISR helper function for receiving character.461461+ *462462+ * This function is called by the ISR to handling receiving characters463463+ */464464+static void qe_uart_int_rx(struct uart_qe_port *qe_port)465465+{466466+ int i;467467+ unsigned char ch, *cp;468468+ struct uart_port *port = &qe_port->port;469469+ struct tty_struct *tty = port->info->tty;470470+ struct qe_bd *bdp;471471+ u16 status;472472+ unsigned int flg;473473+474474+ /* Just loop through the closed BDs and copy the characters into475475+ * the buffer.476476+ */477477+ bdp = qe_port->rx_cur;478478+ while (1) {479479+ status = in_be16(&bdp->status);480480+481481+ /* If this one is empty, then we assume we've read them all */482482+ if (status & BD_SC_EMPTY)483483+ break;484484+485485+ /* get number of characters, and check space in RX buffer */486486+ i = in_be16(&bdp->length);487487+488488+ /* If we don't have enough room in RX buffer for the entire BD,489489+ * then we try later, which will be the next RX interrupt.490490+ */491491+ if (tty_buffer_request_room(tty, i) < i) {492492+ dev_dbg(port->dev, "ucc-uart: no room in RX buffer\n");493493+ return;494494+ }495495+496496+ /* get pointer */497497+ cp = qe2cpu_addr(bdp->buf, qe_port);498498+499499+ /* loop through the buffer */500500+ while (i-- > 0) {501501+ ch = *cp++;502502+ port->icount.rx++;503503+ flg = TTY_NORMAL;504504+505505+ if (!i && status &506506+ (BD_SC_BR | BD_SC_FR | BD_SC_PR | BD_SC_OV))507507+ goto handle_error;508508+ if (uart_handle_sysrq_char(port, ch))509509+ continue;510510+511511+error_return:512512+ tty_insert_flip_char(tty, ch, flg);513513+514514+ }515515+516516+ /* This BD is ready to be used again. Clear status. get next */517517+ clrsetbits_be16(&bdp->status, BD_SC_BR | BD_SC_FR | BD_SC_PR |518518+ BD_SC_OV | BD_SC_ID, BD_SC_EMPTY);519519+ if (in_be16(&bdp->status) & BD_SC_WRAP)520520+ bdp = qe_port->rx_bd_base;521521+ else522522+ bdp++;523523+524524+ }525525+526526+ /* Write back buffer pointer */527527+ qe_port->rx_cur = bdp;528528+529529+ /* Activate BH processing */530530+ tty_flip_buffer_push(tty);531531+532532+ return;533533+534534+ /* Error processing */535535+536536+handle_error:537537+ /* Statistics */538538+ if (status & BD_SC_BR)539539+ port->icount.brk++;540540+ if (status & BD_SC_PR)541541+ port->icount.parity++;542542+ if (status & BD_SC_FR)543543+ port->icount.frame++;544544+ if (status & BD_SC_OV)545545+ port->icount.overrun++;546546+547547+ /* Mask out ignored conditions */548548+ status &= port->read_status_mask;549549+550550+ /* Handle the remaining ones */551551+ if (status & BD_SC_BR)552552+ flg = TTY_BREAK;553553+ else if (status & BD_SC_PR)554554+ flg = TTY_PARITY;555555+ else if (status & BD_SC_FR)556556+ flg = TTY_FRAME;557557+558558+ /* Overrun does not affect the current character ! */559559+ if (status & BD_SC_OV)560560+ tty_insert_flip_char(tty, 0, TTY_OVERRUN);561561+#ifdef SUPPORT_SYSRQ562562+ port->sysrq = 0;563563+#endif564564+ goto error_return;565565+}566566+567567+/* Interrupt handler568568+ *569569+ * This interrupt handler is called after a BD is processed.570570+ */571571+static irqreturn_t qe_uart_int(int irq, void *data)572572+{573573+ struct uart_qe_port *qe_port = (struct uart_qe_port *) data;574574+ struct ucc_slow __iomem *uccp = qe_port->uccp;575575+ u16 events;576576+577577+ /* Clear the interrupts */578578+ events = in_be16(&uccp->ucce);579579+ out_be16(&uccp->ucce, events);580580+581581+ if (events & UCC_UART_UCCE_BRKE)582582+ uart_handle_break(&qe_port->port);583583+584584+ if (events & UCC_UART_UCCE_RX)585585+ qe_uart_int_rx(qe_port);586586+587587+ if (events & UCC_UART_UCCE_TX)588588+ qe_uart_tx_pump(qe_port);589589+590590+ return events ? IRQ_HANDLED : IRQ_NONE;591591+}592592+593593+/* Initialize buffer descriptors594594+ *595595+ * This function initializes all of the RX and TX buffer descriptors.596596+ */597597+static void qe_uart_initbd(struct uart_qe_port *qe_port)598598+{599599+ int i;600600+ void *bd_virt;601601+ struct qe_bd *bdp;602602+603603+ /* Set the physical address of the host memory buffers in the buffer604604+ * descriptors, and the virtual address for us to work with.605605+ */606606+ bd_virt = qe_port->bd_virt;607607+ bdp = qe_port->rx_bd_base;608608+ qe_port->rx_cur = qe_port->rx_bd_base;609609+ for (i = 0; i < (qe_port->rx_nrfifos - 1); i++) {610610+ out_be16(&bdp->status, BD_SC_EMPTY | BD_SC_INTRPT);611611+ out_be32(&bdp->buf, cpu2qe_addr(bd_virt, qe_port));612612+ out_be16(&bdp->length, 0);613613+ bd_virt += qe_port->rx_fifosize;614614+ bdp++;615615+ }616616+617617+ /* */618618+ out_be16(&bdp->status, BD_SC_WRAP | BD_SC_EMPTY | BD_SC_INTRPT);619619+ out_be32(&bdp->buf, cpu2qe_addr(bd_virt, qe_port));620620+ out_be16(&bdp->length, 0);621621+622622+ /* Set the physical address of the host memory623623+ * buffers in the buffer descriptors, and the624624+ * virtual address for us to work with.625625+ */626626+ bd_virt = qe_port->bd_virt +627627+ L1_CACHE_ALIGN(qe_port->rx_nrfifos * qe_port->rx_fifosize);628628+ qe_port->tx_cur = qe_port->tx_bd_base;629629+ bdp = qe_port->tx_bd_base;630630+ for (i = 0; i < (qe_port->tx_nrfifos - 1); i++) {631631+ out_be16(&bdp->status, BD_SC_INTRPT);632632+ out_be32(&bdp->buf, cpu2qe_addr(bd_virt, qe_port));633633+ out_be16(&bdp->length, 0);634634+ bd_virt += qe_port->tx_fifosize;635635+ bdp++;636636+ }637637+638638+ /* Loopback requires the preamble bit to be set on the first TX BD */639639+#ifdef LOOPBACK640640+ setbits16(&qe_port->tx_cur->status, BD_SC_P);641641+#endif642642+643643+ out_be16(&bdp->status, BD_SC_WRAP | BD_SC_INTRPT);644644+ out_be32(&bdp->buf, cpu2qe_addr(bd_virt, qe_port));645645+ out_be16(&bdp->length, 0);646646+}647647+648648+/*649649+ * Initialize a UCC for UART.650650+ *651651+ * This function configures a given UCC to be used as a UART device. Basic652652+ * UCC initialization is handled in qe_uart_request_port(). This function653653+ * does all the UART-specific stuff.654654+ */655655+static void qe_uart_init_ucc(struct uart_qe_port *qe_port)656656+{657657+ u32 cecr_subblock;658658+ struct ucc_slow __iomem *uccp = qe_port->uccp;659659+ struct ucc_uart_pram *uccup = qe_port->uccup;660660+661661+ unsigned int i;662662+663663+ /* First, disable TX and RX in the UCC */664664+ ucc_slow_disable(qe_port->us_private, COMM_DIR_RX_AND_TX);665665+666666+ /* Program the UCC UART parameter RAM */667667+ out_8(&uccup->common.rbmr, UCC_BMR_GBL | UCC_BMR_BO_BE);668668+ out_8(&uccup->common.tbmr, UCC_BMR_GBL | UCC_BMR_BO_BE);669669+ out_be16(&uccup->common.mrblr, qe_port->rx_fifosize);670670+ out_be16(&uccup->maxidl, 0x10);671671+ out_be16(&uccup->brkcr, 1);672672+ out_be16(&uccup->parec, 0);673673+ out_be16(&uccup->frmec, 0);674674+ out_be16(&uccup->nosec, 0);675675+ out_be16(&uccup->brkec, 0);676676+ out_be16(&uccup->uaddr[0], 0);677677+ out_be16(&uccup->uaddr[1], 0);678678+ out_be16(&uccup->toseq, 0);679679+ for (i = 0; i < 8; i++)680680+ out_be16(&uccup->cchars[i], 0xC000);681681+ out_be16(&uccup->rccm, 0xc0ff);682682+683683+ /* Configure the GUMR registers for UART */684684+ if (soft_uart)685685+ /* Soft-UART requires a 1X multiplier for TX */686686+ clrsetbits_be32(&uccp->gumr_l,687687+ UCC_SLOW_GUMR_L_MODE_MASK | UCC_SLOW_GUMR_L_TDCR_MASK |688688+ UCC_SLOW_GUMR_L_RDCR_MASK,689689+ UCC_SLOW_GUMR_L_MODE_UART | UCC_SLOW_GUMR_L_TDCR_1 |690690+ UCC_SLOW_GUMR_L_RDCR_16);691691+ else692692+ clrsetbits_be32(&uccp->gumr_l,693693+ UCC_SLOW_GUMR_L_MODE_MASK | UCC_SLOW_GUMR_L_TDCR_MASK |694694+ UCC_SLOW_GUMR_L_RDCR_MASK,695695+ UCC_SLOW_GUMR_L_MODE_UART | UCC_SLOW_GUMR_L_TDCR_16 |696696+ UCC_SLOW_GUMR_L_RDCR_16);697697+698698+ clrsetbits_be32(&uccp->gumr_h, UCC_SLOW_GUMR_H_RFW,699699+ UCC_SLOW_GUMR_H_TRX | UCC_SLOW_GUMR_H_TTX);700700+701701+#ifdef LOOPBACK702702+ clrsetbits_be32(&uccp->gumr_l, UCC_SLOW_GUMR_L_DIAG_MASK,703703+ UCC_SLOW_GUMR_L_DIAG_LOOP);704704+ clrsetbits_be32(&uccp->gumr_h,705705+ UCC_SLOW_GUMR_H_CTSP | UCC_SLOW_GUMR_H_RSYN,706706+ UCC_SLOW_GUMR_H_CDS);707707+#endif708708+709709+ /* Enable rx interrupts and clear all pending events. */710710+ out_be16(&uccp->uccm, 0);711711+ out_be16(&uccp->ucce, 0xffff);712712+ out_be16(&uccp->udsr, 0x7e7e);713713+714714+ /* Initialize UPSMR */715715+ out_be16(&uccp->upsmr, 0);716716+717717+ if (soft_uart) {718718+ out_be16(&uccup->supsmr, 0x30);719719+ out_be16(&uccup->res92, 0);720720+ out_be32(&uccup->rx_state, 0);721721+ out_be32(&uccup->rx_cnt, 0);722722+ out_8(&uccup->rx_bitmark, 0);723723+ out_8(&uccup->rx_length, 10);724724+ out_be32(&uccup->dump_ptr, 0x4000);725725+ out_8(&uccup->rx_temp_dlst_qe, 0);726726+ out_be32(&uccup->rx_frame_rem, 0);727727+ out_8(&uccup->rx_frame_rem_size, 0);728728+ /* Soft-UART requires TX to be 1X */729729+ out_8(&uccup->tx_mode,730730+ UCC_UART_TX_STATE_UART | UCC_UART_TX_STATE_X1);731731+ out_be16(&uccup->tx_state, 0);732732+ out_8(&uccup->resD4, 0);733733+ out_be16(&uccup->resD5, 0);734734+735735+ /* Set UART mode.736736+ * Enable receive and transmit.737737+ */738738+739739+ /* From the microcode errata:740740+ * 1.GUMR_L register, set mode=0010 (QMC).741741+ * 2.Set GUMR_H[17] bit. (UART/AHDLC mode).742742+ * 3.Set GUMR_H[19:20] (Transparent mode)743743+ * 4.Clear GUMR_H[26] (RFW)744744+ * ...745745+ * 6.Receiver must use 16x over sampling746746+ */747747+ clrsetbits_be32(&uccp->gumr_l,748748+ UCC_SLOW_GUMR_L_MODE_MASK | UCC_SLOW_GUMR_L_TDCR_MASK |749749+ UCC_SLOW_GUMR_L_RDCR_MASK,750750+ UCC_SLOW_GUMR_L_MODE_QMC | UCC_SLOW_GUMR_L_TDCR_16 |751751+ UCC_SLOW_GUMR_L_RDCR_16);752752+753753+ clrsetbits_be32(&uccp->gumr_h,754754+ UCC_SLOW_GUMR_H_RFW | UCC_SLOW_GUMR_H_RSYN,755755+ UCC_SLOW_GUMR_H_SUART | UCC_SLOW_GUMR_H_TRX |756756+ UCC_SLOW_GUMR_H_TTX | UCC_SLOW_GUMR_H_TFL);757757+758758+#ifdef LOOPBACK759759+ clrsetbits_be32(&uccp->gumr_l, UCC_SLOW_GUMR_L_DIAG_MASK,760760+ UCC_SLOW_GUMR_L_DIAG_LOOP);761761+ clrbits32(&uccp->gumr_h, UCC_SLOW_GUMR_H_CTSP |762762+ UCC_SLOW_GUMR_H_CDS);763763+#endif764764+765765+ cecr_subblock = ucc_slow_get_qe_cr_subblock(qe_port->ucc_num);766766+ qe_issue_cmd(QE_INIT_TX_RX, cecr_subblock,767767+ QE_CR_PROTOCOL_UNSPECIFIED, 0);768768+ }769769+}770770+771771+/*772772+ * Initialize the port.773773+ */774774+static int qe_uart_startup(struct uart_port *port)775775+{776776+ struct uart_qe_port *qe_port =777777+ container_of(port, struct uart_qe_port, port);778778+ int ret;779779+780780+ /*781781+ * If we're using Soft-UART mode, then we need to make sure the782782+ * firmware has been uploaded first.783783+ */784784+ if (soft_uart && !firmware_loaded) {785785+ dev_err(port->dev, "Soft-UART firmware not uploaded\n");786786+ return -ENODEV;787787+ }788788+789789+ qe_uart_initbd(qe_port);790790+ qe_uart_init_ucc(qe_port);791791+792792+ /* Install interrupt handler. */793793+ ret = request_irq(port->irq, qe_uart_int, IRQF_SHARED, "ucc-uart",794794+ qe_port);795795+ if (ret) {796796+ dev_err(port->dev, "could not claim IRQ %u\n", port->irq);797797+ return ret;798798+ }799799+800800+ /* Startup rx-int */801801+ setbits16(&qe_port->uccp->uccm, UCC_UART_UCCE_RX);802802+ ucc_slow_enable(qe_port->us_private, COMM_DIR_RX_AND_TX);803803+804804+ return 0;805805+}806806+807807+/*808808+ * Shutdown the port.809809+ */810810+static void qe_uart_shutdown(struct uart_port *port)811811+{812812+ struct uart_qe_port *qe_port =813813+ container_of(port, struct uart_qe_port, port);814814+ struct ucc_slow __iomem *uccp = qe_port->uccp;815815+ unsigned int timeout = 20;816816+817817+ /* Disable RX and TX */818818+819819+ /* Wait for all the BDs marked sent */820820+ while (!qe_uart_tx_empty(port)) {821821+ if (!--timeout) {822822+ dev_warn(port->dev, "shutdown timeout\n");823823+ break;824824+ }825825+ set_current_state(TASK_UNINTERRUPTIBLE);826826+ schedule_timeout(2);827827+ }828828+829829+ if (qe_port->wait_closing) {830830+ /* Wait a bit longer */831831+ set_current_state(TASK_UNINTERRUPTIBLE);832832+ schedule_timeout(qe_port->wait_closing);833833+ }834834+835835+ /* Stop uarts */836836+ ucc_slow_disable(qe_port->us_private, COMM_DIR_RX_AND_TX);837837+ clrbits16(&uccp->uccm, UCC_UART_UCCE_TX | UCC_UART_UCCE_RX);838838+839839+ /* Shut them really down and reinit buffer descriptors */840840+ ucc_slow_graceful_stop_tx(qe_port->us_private);841841+ qe_uart_initbd(qe_port);842842+843843+ free_irq(port->irq, qe_port);844844+}845845+846846+/*847847+ * Set the serial port parameters.848848+ */849849+static void qe_uart_set_termios(struct uart_port *port,850850+ struct ktermios *termios, struct ktermios *old)851851+{852852+ struct uart_qe_port *qe_port =853853+ container_of(port, struct uart_qe_port, port);854854+ struct ucc_slow __iomem *uccp = qe_port->uccp;855855+ unsigned int baud;856856+ unsigned long flags;857857+ u16 upsmr = in_be16(&uccp->upsmr);858858+ struct ucc_uart_pram __iomem *uccup = qe_port->uccup;859859+ u16 supsmr = in_be16(&uccup->supsmr);860860+ u8 char_length = 2; /* 1 + CL + PEN + 1 + SL */861861+862862+ /* Character length programmed into the mode register is the863863+ * sum of: 1 start bit, number of data bits, 0 or 1 parity bit,864864+ * 1 or 2 stop bits, minus 1.865865+ * The value 'bits' counts this for us.866866+ */867867+868868+ /* byte size */869869+ upsmr &= UCC_UART_UPSMR_CL_MASK;870870+ supsmr &= UCC_UART_SUPSMR_CL_MASK;871871+872872+ switch (termios->c_cflag & CSIZE) {873873+ case CS5:874874+ upsmr |= UCC_UART_UPSMR_CL_5;875875+ supsmr |= UCC_UART_SUPSMR_CL_5;876876+ char_length += 5;877877+ break;878878+ case CS6:879879+ upsmr |= UCC_UART_UPSMR_CL_6;880880+ supsmr |= UCC_UART_SUPSMR_CL_6;881881+ char_length += 6;882882+ break;883883+ case CS7:884884+ upsmr |= UCC_UART_UPSMR_CL_7;885885+ supsmr |= UCC_UART_SUPSMR_CL_7;886886+ char_length += 7;887887+ break;888888+ default: /* case CS8 */889889+ upsmr |= UCC_UART_UPSMR_CL_8;890890+ supsmr |= UCC_UART_SUPSMR_CL_8;891891+ char_length += 8;892892+ break;893893+ }894894+895895+ /* If CSTOPB is set, we want two stop bits */896896+ if (termios->c_cflag & CSTOPB) {897897+ upsmr |= UCC_UART_UPSMR_SL;898898+ supsmr |= UCC_UART_SUPSMR_SL;899899+ char_length++; /* + SL */900900+ }901901+902902+ if (termios->c_cflag & PARENB) {903903+ upsmr |= UCC_UART_UPSMR_PEN;904904+ supsmr |= UCC_UART_SUPSMR_PEN;905905+ char_length++; /* + PEN */906906+907907+ if (!(termios->c_cflag & PARODD)) {908908+ upsmr &= ~(UCC_UART_UPSMR_RPM_MASK |909909+ UCC_UART_UPSMR_TPM_MASK);910910+ upsmr |= UCC_UART_UPSMR_RPM_EVEN |911911+ UCC_UART_UPSMR_TPM_EVEN;912912+ supsmr &= ~(UCC_UART_SUPSMR_RPM_MASK |913913+ UCC_UART_SUPSMR_TPM_MASK);914914+ supsmr |= UCC_UART_SUPSMR_RPM_EVEN |915915+ UCC_UART_SUPSMR_TPM_EVEN;916916+ }917917+ }918918+919919+ /*920920+ * Set up parity check flag921921+ */922922+ port->read_status_mask = BD_SC_EMPTY | BD_SC_OV;923923+ if (termios->c_iflag & INPCK)924924+ port->read_status_mask |= BD_SC_FR | BD_SC_PR;925925+ if (termios->c_iflag & (BRKINT | PARMRK))926926+ port->read_status_mask |= BD_SC_BR;927927+928928+ /*929929+ * Characters to ignore930930+ */931931+ port->ignore_status_mask = 0;932932+ if (termios->c_iflag & IGNPAR)933933+ port->ignore_status_mask |= BD_SC_PR | BD_SC_FR;934934+ if (termios->c_iflag & IGNBRK) {935935+ port->ignore_status_mask |= BD_SC_BR;936936+ /*937937+ * If we're ignore parity and break indicators, ignore938938+ * overruns too. (For real raw support).939939+ */940940+ if (termios->c_iflag & IGNPAR)941941+ port->ignore_status_mask |= BD_SC_OV;942942+ }943943+ /*944944+ * !!! ignore all characters if CREAD is not set945945+ */946946+ if ((termios->c_cflag & CREAD) == 0)947947+ port->read_status_mask &= ~BD_SC_EMPTY;948948+949949+ baud = uart_get_baud_rate(port, termios, old, 0, 115200);950950+951951+ /* Do we really need a spinlock here? */952952+ spin_lock_irqsave(&port->lock, flags);953953+954954+ out_be16(&uccp->upsmr, upsmr);955955+ if (soft_uart) {956956+ out_be16(&uccup->supsmr, supsmr);957957+ out_8(&uccup->rx_length, char_length);958958+959959+ /* Soft-UART requires a 1X multiplier for TX */960960+ qe_setbrg(qe_port->us_info.rx_clock, baud, 16);961961+ qe_setbrg(qe_port->us_info.tx_clock, baud, 1);962962+ } else {963963+ qe_setbrg(qe_port->us_info.rx_clock, baud, 16);964964+ qe_setbrg(qe_port->us_info.tx_clock, baud, 16);965965+ }966966+967967+ spin_unlock_irqrestore(&port->lock, flags);968968+}969969+970970+/*971971+ * Return a pointer to a string that describes what kind of port this is.972972+ */973973+static const char *qe_uart_type(struct uart_port *port)974974+{975975+ return "QE";976976+}977977+978978+/*979979+ * Allocate any memory and I/O resources required by the port.980980+ */981981+static int qe_uart_request_port(struct uart_port *port)982982+{983983+ int ret;984984+ struct uart_qe_port *qe_port =985985+ container_of(port, struct uart_qe_port, port);986986+ struct ucc_slow_info *us_info = &qe_port->us_info;987987+ struct ucc_slow_private *uccs;988988+ unsigned int rx_size, tx_size;989989+ void *bd_virt;990990+ dma_addr_t bd_dma_addr = 0;991991+992992+ ret = ucc_slow_init(us_info, &uccs);993993+ if (ret) {994994+ dev_err(port->dev, "could not initialize UCC%u\n",995995+ qe_port->ucc_num);996996+ return ret;997997+ }998998+999999+ qe_port->us_private = uccs;10001000+ qe_port->uccp = uccs->us_regs;10011001+ qe_port->uccup = (struct ucc_uart_pram *) uccs->us_pram;10021002+ qe_port->rx_bd_base = uccs->rx_bd;10031003+ qe_port->tx_bd_base = uccs->tx_bd;10041004+10051005+ /*10061006+ * Allocate the transmit and receive data buffers.10071007+ */10081008+10091009+ rx_size = L1_CACHE_ALIGN(qe_port->rx_nrfifos * qe_port->rx_fifosize);10101010+ tx_size = L1_CACHE_ALIGN(qe_port->tx_nrfifos * qe_port->tx_fifosize);10111011+10121012+ bd_virt = dma_alloc_coherent(NULL, rx_size + tx_size, &bd_dma_addr,10131013+ GFP_KERNEL);10141014+ if (!bd_virt) {10151015+ dev_err(port->dev, "could not allocate buffer descriptors\n");10161016+ return -ENOMEM;10171017+ }10181018+10191019+ qe_port->bd_virt = bd_virt;10201020+ qe_port->bd_dma_addr = bd_dma_addr;10211021+ qe_port->bd_size = rx_size + tx_size;10221022+10231023+ qe_port->rx_buf = bd_virt;10241024+ qe_port->tx_buf = qe_port->rx_buf + rx_size;10251025+10261026+ return 0;10271027+}10281028+10291029+/*10301030+ * Configure the port.10311031+ *10321032+ * We say we're a CPM-type port because that's mostly true. Once the device10331033+ * is configured, this driver operates almost identically to the CPM serial10341034+ * driver.10351035+ */10361036+static void qe_uart_config_port(struct uart_port *port, int flags)10371037+{10381038+ if (flags & UART_CONFIG_TYPE) {10391039+ port->type = PORT_CPM;10401040+ qe_uart_request_port(port);10411041+ }10421042+}10431043+10441044+/*10451045+ * Release any memory and I/O resources that were allocated in10461046+ * qe_uart_request_port().10471047+ */10481048+static void qe_uart_release_port(struct uart_port *port)10491049+{10501050+ struct uart_qe_port *qe_port =10511051+ container_of(port, struct uart_qe_port, port);10521052+ struct ucc_slow_private *uccs = qe_port->us_private;10531053+10541054+ dma_free_coherent(NULL, qe_port->bd_size, qe_port->bd_virt,10551055+ qe_port->bd_dma_addr);10561056+10571057+ ucc_slow_free(uccs);10581058+}10591059+10601060+/*10611061+ * Verify that the data in serial_struct is suitable for this device.10621062+ */10631063+static int qe_uart_verify_port(struct uart_port *port,10641064+ struct serial_struct *ser)10651065+{10661066+ if (ser->type != PORT_UNKNOWN && ser->type != PORT_CPM)10671067+ return -EINVAL;10681068+10691069+ if (ser->irq < 0 || ser->irq >= NR_IRQS)10701070+ return -EINVAL;10711071+10721072+ if (ser->baud_base < 9600)10731073+ return -EINVAL;10741074+10751075+ return 0;10761076+}10771077+/* UART operations10781078+ *10791079+ * Details on these functions can be found in Documentation/serial/driver10801080+ */10811081+static struct uart_ops qe_uart_pops = {10821082+ .tx_empty = qe_uart_tx_empty,10831083+ .set_mctrl = qe_uart_set_mctrl,10841084+ .get_mctrl = qe_uart_get_mctrl,10851085+ .stop_tx = qe_uart_stop_tx,10861086+ .start_tx = qe_uart_start_tx,10871087+ .stop_rx = qe_uart_stop_rx,10881088+ .enable_ms = qe_uart_enable_ms,10891089+ .break_ctl = qe_uart_break_ctl,10901090+ .startup = qe_uart_startup,10911091+ .shutdown = qe_uart_shutdown,10921092+ .set_termios = qe_uart_set_termios,10931093+ .type = qe_uart_type,10941094+ .release_port = qe_uart_release_port,10951095+ .request_port = qe_uart_request_port,10961096+ .config_port = qe_uart_config_port,10971097+ .verify_port = qe_uart_verify_port,10981098+};10991099+11001100+/*11011101+ * Obtain the SOC model number and revision level11021102+ *11031103+ * This function parses the device tree to obtain the SOC model. It then11041104+ * reads the SVR register to the revision.11051105+ *11061106+ * The device tree stores the SOC model two different ways.11071107+ *11081108+ * The new way is:11091109+ *11101110+ * cpu@0 {11111111+ * compatible = "PowerPC,8323";11121112+ * device_type = "cpu";11131113+ * ...11141114+ *11151115+ *11161116+ * The old way is:11171117+ * PowerPC,8323@0 {11181118+ * device_type = "cpu";11191119+ * ...11201120+ *11211121+ * This code first checks the new way, and then the old way.11221122+ */11231123+static unsigned int soc_info(unsigned int *rev_h, unsigned int *rev_l)11241124+{11251125+ struct device_node *np;11261126+ const char *soc_string;11271127+ unsigned int svr;11281128+ unsigned int soc;11291129+11301130+ /* Find the CPU node */11311131+ np = of_find_node_by_type(NULL, "cpu");11321132+ if (!np)11331133+ return 0;11341134+ /* Find the compatible property */11351135+ soc_string = of_get_property(np, "compatible", NULL);11361136+ if (!soc_string)11371137+ /* No compatible property, so try the name. */11381138+ soc_string = np->name;11391139+11401140+ /* Extract the SOC number from the "PowerPC," string */11411141+ if ((sscanf(soc_string, "PowerPC,%u", &soc) != 1) || !soc)11421142+ return 0;11431143+11441144+ /* Get the revision from the SVR */11451145+ svr = mfspr(SPRN_SVR);11461146+ *rev_h = (svr >> 4) & 0xf;11471147+ *rev_l = svr & 0xf;11481148+11491149+ return soc;11501150+}11511151+11521152+/*11531153+ * requst_firmware_nowait() callback function11541154+ *11551155+ * This function is called by the kernel when a firmware is made available,11561156+ * or if it times out waiting for the firmware.11571157+ */11581158+static void uart_firmware_cont(const struct firmware *fw, void *context)11591159+{11601160+ struct qe_firmware *firmware;11611161+ struct device *dev = context;11621162+ int ret;11631163+11641164+ if (!fw) {11651165+ dev_err(dev, "firmware not found\n");11661166+ return;11671167+ }11681168+11691169+ firmware = (struct qe_firmware *) fw->data;11701170+11711171+ if (firmware->header.length != fw->size) {11721172+ dev_err(dev, "invalid firmware\n");11731173+ return;11741174+ }11751175+11761176+ ret = qe_upload_firmware(firmware);11771177+ if (ret) {11781178+ dev_err(dev, "could not load firmware\n");11791179+ return;11801180+ }11811181+11821182+ firmware_loaded = 1;11831183+}11841184+11851185+static int ucc_uart_probe(struct of_device *ofdev,11861186+ const struct of_device_id *match)11871187+{11881188+ struct device_node *np = ofdev->node;11891189+ const unsigned int *iprop; /* Integer OF properties */11901190+ const char *sprop; /* String OF properties */11911191+ struct uart_qe_port *qe_port = NULL;11921192+ struct resource res;11931193+ int ret;11941194+11951195+ /*11961196+ * Determine if we need Soft-UART mode11971197+ */11981198+ if (of_find_property(np, "soft-uart", NULL)) {11991199+ dev_dbg(&ofdev->dev, "using Soft-UART mode\n");12001200+ soft_uart = 1;12011201+ }12021202+12031203+ /*12041204+ * If we are using Soft-UART, determine if we need to upload the12051205+ * firmware, too.12061206+ */12071207+ if (soft_uart) {12081208+ struct qe_firmware_info *qe_fw_info;12091209+12101210+ qe_fw_info = qe_get_firmware_info();12111211+12121212+ /* Check if the firmware has been uploaded. */12131213+ if (qe_fw_info && strstr(qe_fw_info->id, "Soft-UART")) {12141214+ firmware_loaded = 1;12151215+ } else {12161216+ char filename[32];12171217+ unsigned int soc;12181218+ unsigned int rev_h;12191219+ unsigned int rev_l;12201220+12211221+ soc = soc_info(&rev_h, &rev_l);12221222+ if (!soc) {12231223+ dev_err(&ofdev->dev, "unknown CPU model\n");12241224+ return -ENXIO;12251225+ }12261226+ sprintf(filename, "fsl_qe_ucode_uart_%u_%u%u.bin",12271227+ soc, rev_h, rev_l);12281228+12291229+ dev_info(&ofdev->dev, "waiting for firmware %s\n",12301230+ filename);12311231+12321232+ /*12331233+ * We call request_firmware_nowait instead of12341234+ * request_firmware so that the driver can load and12351235+ * initialize the ports without holding up the rest of12361236+ * the kernel. If hotplug support is enabled in the12371237+ * kernel, then we use it.12381238+ */12391239+ ret = request_firmware_nowait(THIS_MODULE,12401240+ FW_ACTION_HOTPLUG, filename, &ofdev->dev,12411241+ &ofdev->dev, uart_firmware_cont);12421242+ if (ret) {12431243+ dev_err(&ofdev->dev,12441244+ "could not load firmware %s\n",12451245+ filename);12461246+ return ret;12471247+ }12481248+ }12491249+ }12501250+12511251+ qe_port = kzalloc(sizeof(struct uart_qe_port), GFP_KERNEL);12521252+ if (!qe_port) {12531253+ dev_err(&ofdev->dev, "can't allocate QE port structure\n");12541254+ return -ENOMEM;12551255+ }12561256+12571257+ /* Search for IRQ and mapbase */12581258+ ret = of_address_to_resource(np, 0, &res);12591259+ if (ret) {12601260+ dev_err(&ofdev->dev, "missing 'reg' property in device tree\n");12611261+ kfree(qe_port);12621262+ return ret;12631263+ }12641264+ if (!res.start) {12651265+ dev_err(&ofdev->dev, "invalid 'reg' property in device tree\n");12661266+ kfree(qe_port);12671267+ return -EINVAL;12681268+ }12691269+ qe_port->port.mapbase = res.start;12701270+12711271+ /* Get the UCC number (device ID) */12721272+ /* UCCs are numbered 1-7 */12731273+ iprop = of_get_property(np, "device-id", NULL);12741274+ if (!iprop || (*iprop < 1) || (*iprop > UCC_MAX_NUM)) {12751275+ dev_err(&ofdev->dev,12761276+ "missing or invalid UCC specified in device tree\n");12771277+ kfree(qe_port);12781278+ return -ENODEV;12791279+ }12801280+ qe_port->ucc_num = *iprop - 1;12811281+12821282+ /*12831283+ * In the future, we should not require the BRG to be specified in the12841284+ * device tree. If no clock-source is specified, then just pick a BRG12851285+ * to use. This requires a new QE library function that manages BRG12861286+ * assignments.12871287+ */12881288+12891289+ sprop = of_get_property(np, "rx-clock-name", NULL);12901290+ if (!sprop) {12911291+ dev_err(&ofdev->dev, "missing rx-clock-name in device tree\n");12921292+ kfree(qe_port);12931293+ return -ENODEV;12941294+ }12951295+12961296+ qe_port->us_info.rx_clock = qe_clock_source(sprop);12971297+ if ((qe_port->us_info.rx_clock < QE_BRG1) ||12981298+ (qe_port->us_info.rx_clock > QE_BRG16)) {12991299+ dev_err(&ofdev->dev, "rx-clock-name must be a BRG for UART\n");13001300+ kfree(qe_port);13011301+ return -ENODEV;13021302+ }13031303+13041304+#ifdef LOOPBACK13051305+ /* In internal loopback mode, TX and RX must use the same clock */13061306+ qe_port->us_info.tx_clock = qe_port->us_info.rx_clock;13071307+#else13081308+ sprop = of_get_property(np, "tx-clock-name", NULL);13091309+ if (!sprop) {13101310+ dev_err(&ofdev->dev, "missing tx-clock-name in device tree\n");13111311+ kfree(qe_port);13121312+ return -ENODEV;13131313+ }13141314+ qe_port->us_info.tx_clock = qe_clock_source(sprop);13151315+#endif13161316+ if ((qe_port->us_info.tx_clock < QE_BRG1) ||13171317+ (qe_port->us_info.tx_clock > QE_BRG16)) {13181318+ dev_err(&ofdev->dev, "tx-clock-name must be a BRG for UART\n");13191319+ kfree(qe_port);13201320+ return -ENODEV;13211321+ }13221322+13231323+ /* Get the port number, numbered 0-3 */13241324+ iprop = of_get_property(np, "port-number", NULL);13251325+ if (!iprop) {13261326+ dev_err(&ofdev->dev, "missing port-number in device tree\n");13271327+ kfree(qe_port);13281328+ return -EINVAL;13291329+ }13301330+ qe_port->port.line = *iprop;13311331+ if (qe_port->port.line >= UCC_MAX_UART) {13321332+ dev_err(&ofdev->dev, "port-number must be 0-%u\n",13331333+ UCC_MAX_UART - 1);13341334+ kfree(qe_port);13351335+ return -EINVAL;13361336+ }13371337+13381338+ qe_port->port.irq = irq_of_parse_and_map(np, 0);13391339+ if (qe_port->port.irq == NO_IRQ) {13401340+ dev_err(&ofdev->dev, "could not map IRQ for UCC%u\n",13411341+ qe_port->ucc_num + 1);13421342+ kfree(qe_port);13431343+ return -EINVAL;13441344+ }13451345+13461346+ /*13471347+ * Newer device trees have an "fsl,qe" compatible property for the QE13481348+ * node, but we still need to support older device trees.13491349+ */13501350+ np = of_find_compatible_node(NULL, NULL, "fsl,qe");13511351+ if (!np) {13521352+ np = of_find_node_by_type(NULL, "qe");13531353+ if (!np) {13541354+ dev_err(&ofdev->dev, "could not find 'qe' node\n");13551355+ kfree(qe_port);13561356+ return -EINVAL;13571357+ }13581358+ }13591359+13601360+ iprop = of_get_property(np, "brg-frequency", NULL);13611361+ if (!iprop) {13621362+ dev_err(&ofdev->dev,13631363+ "missing brg-frequency in device tree\n");13641364+ kfree(qe_port);13651365+ return -EINVAL;13661366+ }13671367+13681368+ if (*iprop)13691369+ qe_port->port.uartclk = *iprop;13701370+ else {13711371+ /*13721372+ * Older versions of U-Boot do not initialize the brg-frequency13731373+ * property, so in this case we assume the BRG frequency is13741374+ * half the QE bus frequency.13751375+ */13761376+ iprop = of_get_property(np, "bus-frequency", NULL);13771377+ if (!iprop) {13781378+ dev_err(&ofdev->dev,13791379+ "missing QE bus-frequency in device tree\n");13801380+ kfree(qe_port);13811381+ return -EINVAL;13821382+ }13831383+ if (*iprop)13841384+ qe_port->port.uartclk = *iprop / 2;13851385+ else {13861386+ dev_err(&ofdev->dev,13871387+ "invalid QE bus-frequency in device tree\n");13881388+ kfree(qe_port);13891389+ return -EINVAL;13901390+ }13911391+ }13921392+13931393+ spin_lock_init(&qe_port->port.lock);13941394+ qe_port->np = np;13951395+ qe_port->port.dev = &ofdev->dev;13961396+ qe_port->port.ops = &qe_uart_pops;13971397+ qe_port->port.iotype = UPIO_MEM;13981398+13991399+ qe_port->tx_nrfifos = TX_NUM_FIFO;14001400+ qe_port->tx_fifosize = TX_BUF_SIZE;14011401+ qe_port->rx_nrfifos = RX_NUM_FIFO;14021402+ qe_port->rx_fifosize = RX_BUF_SIZE;14031403+14041404+ qe_port->wait_closing = UCC_WAIT_CLOSING;14051405+ qe_port->port.fifosize = 512;14061406+ qe_port->port.flags = UPF_BOOT_AUTOCONF | UPF_IOREMAP;14071407+14081408+ qe_port->us_info.ucc_num = qe_port->ucc_num;14091409+ qe_port->us_info.regs = (phys_addr_t) res.start;14101410+ qe_port->us_info.irq = qe_port->port.irq;14111411+14121412+ qe_port->us_info.rx_bd_ring_len = qe_port->rx_nrfifos;14131413+ qe_port->us_info.tx_bd_ring_len = qe_port->tx_nrfifos;14141414+14151415+ /* Make sure ucc_slow_init() initializes both TX and RX */14161416+ qe_port->us_info.init_tx = 1;14171417+ qe_port->us_info.init_rx = 1;14181418+14191419+ /* Add the port to the uart sub-system. This will cause14201420+ * qe_uart_config_port() to be called, so the us_info structure must14211421+ * be initialized.14221422+ */14231423+ ret = uart_add_one_port(&ucc_uart_driver, &qe_port->port);14241424+ if (ret) {14251425+ dev_err(&ofdev->dev, "could not add /dev/ttyQE%u\n",14261426+ qe_port->port.line);14271427+ kfree(qe_port);14281428+ return ret;14291429+ }14301430+14311431+ dev_set_drvdata(&ofdev->dev, qe_port);14321432+14331433+ dev_info(&ofdev->dev, "UCC%u assigned to /dev/ttyQE%u\n",14341434+ qe_port->ucc_num + 1, qe_port->port.line);14351435+14361436+ /* Display the mknod command for this device */14371437+ dev_dbg(&ofdev->dev, "mknod command is 'mknod /dev/ttyQE%u c %u %u'\n",14381438+ qe_port->port.line, SERIAL_QE_MAJOR,14391439+ SERIAL_QE_MINOR + qe_port->port.line);14401440+14411441+ return 0;14421442+}14431443+14441444+static int ucc_uart_remove(struct of_device *ofdev)14451445+{14461446+ struct uart_qe_port *qe_port = dev_get_drvdata(&ofdev->dev);14471447+14481448+ dev_info(&ofdev->dev, "removing /dev/ttyQE%u\n", qe_port->port.line);14491449+14501450+ uart_remove_one_port(&ucc_uart_driver, &qe_port->port);14511451+14521452+ dev_set_drvdata(&ofdev->dev, NULL);14531453+ kfree(qe_port);14541454+14551455+ return 0;14561456+}14571457+14581458+static struct of_device_id ucc_uart_match[] = {14591459+ {14601460+ .type = "serial",14611461+ .compatible = "ucc_uart",14621462+ },14631463+ {},14641464+};14651465+MODULE_DEVICE_TABLE(of, ucc_uart_match);14661466+14671467+static struct of_platform_driver ucc_uart_of_driver = {14681468+ .owner = THIS_MODULE,14691469+ .name = "ucc_uart",14701470+ .match_table = ucc_uart_match,14711471+ .probe = ucc_uart_probe,14721472+ .remove = ucc_uart_remove,14731473+};14741474+14751475+static int __init ucc_uart_init(void)14761476+{14771477+ int ret;14781478+14791479+ printk(KERN_INFO "Freescale QUICC Engine UART device driver\n");14801480+#ifdef LOOPBACK14811481+ printk(KERN_INFO "ucc-uart: Using loopback mode\n");14821482+#endif14831483+14841484+ ret = uart_register_driver(&ucc_uart_driver);14851485+ if (ret) {14861486+ printk(KERN_ERR "ucc-uart: could not register UART driver\n");14871487+ return ret;14881488+ }14891489+14901490+ ret = of_register_platform_driver(&ucc_uart_of_driver);14911491+ if (ret)14921492+ printk(KERN_ERR14931493+ "ucc-uart: could not register platform driver\n");14941494+14951495+ return ret;14961496+}14971497+14981498+static void __exit ucc_uart_exit(void)14991499+{15001500+ printk(KERN_INFO15011501+ "Freescale QUICC Engine UART device driver unloading\n");15021502+15031503+ of_unregister_platform_driver(&ucc_uart_of_driver);15041504+ uart_unregister_driver(&ucc_uart_driver);15051505+}15061506+15071507+module_init(ucc_uart_init);15081508+module_exit(ucc_uart_exit);15091509+15101510+MODULE_DESCRIPTION("Freescale QUICC Engine (QE) UART");15111511+MODULE_AUTHOR("Timur Tabi <timur@freescale.com>");15121512+MODULE_LICENSE("GPL v2");15131513+MODULE_ALIAS_CHARDEV_MAJOR(SERIAL_QE_MAJOR);15141514+
+32-2
include/asm-powerpc/immap_qe.h
···393393 u8 res2[0x48];394394} __attribute__ ((packed));395395396396-/* RISC Special Registers (Trap and Breakpoint) */396396+/*397397+ * RISC Special Registers (Trap and Breakpoint). These are described in398398+ * the QE Developer's Handbook.399399+ */397400struct rsp {398398- u32 reg[0x40]; /* 64 32-bit registers */401401+ __be32 tibcr[16]; /* Trap/instruction breakpoint control regs */402402+ u8 res0[64];403403+ __be32 ibcr0;404404+ __be32 ibs0;405405+ __be32 ibcnr0;406406+ u8 res1[4];407407+ __be32 ibcr1;408408+ __be32 ibs1;409409+ __be32 ibcnr1;410410+ __be32 npcr;411411+ __be32 dbcr;412412+ __be32 dbar;413413+ __be32 dbamr;414414+ __be32 dbsr;415415+ __be32 dbcnr;416416+ u8 res2[12];417417+ __be32 dbdr_h;418418+ __be32 dbdr_l;419419+ __be32 dbdmr_h;420420+ __be32 dbdmr_l;421421+ __be32 bsr;422422+ __be32 bor;423423+ __be32 bior;424424+ u8 res3[4];425425+ __be32 iatr[4];426426+ __be32 eccr; /* Exception control configuration register */427427+ __be32 eicr;428428+ u8 res4[0x100-0xf8];399429} __attribute__ ((packed));400430401431struct qe_immap {
+1
include/asm-powerpc/lmb.h
···5151extern unsigned long __init lmb_phys_mem_size(void);5252extern unsigned long __init lmb_end_of_DRAM(void);5353extern void __init lmb_enforce_memory_limit(unsigned long memory_limit);5454+extern int __init lmb_is_reserved(unsigned long addr);54555556extern void lmb_dump_all(void);5657
···9494void qe_muram_dump(void);9595void *qe_muram_addr(unsigned long offset);96969797+/* Structure that defines QE firmware binary files.9898+ *9999+ * See Documentation/powerpc/qe-firmware.txt for a description of these100100+ * fields.101101+ */102102+struct qe_firmware {103103+ struct qe_header {104104+ __be32 length; /* Length of the entire structure, in bytes */105105+ u8 magic[3]; /* Set to { 'Q', 'E', 'F' } */106106+ u8 version; /* Version of this layout. First ver is '1' */107107+ } header;108108+ u8 id[62]; /* Null-terminated identifier string */109109+ u8 split; /* 0 = shared I-RAM, 1 = split I-RAM */110110+ u8 count; /* Number of microcode[] structures */111111+ struct {112112+ __be16 model; /* The SOC model */113113+ u8 major; /* The SOC revision major */114114+ u8 minor; /* The SOC revision minor */115115+ } __attribute__ ((packed)) soc;116116+ u8 padding[4]; /* Reserved, for alignment */117117+ __be64 extended_modes; /* Extended modes */118118+ __be32 vtraps[8]; /* Virtual trap addresses */119119+ u8 reserved[4]; /* Reserved, for future expansion */120120+ struct qe_microcode {121121+ u8 id[32]; /* Null-terminated identifier */122122+ __be32 traps[16]; /* Trap addresses, 0 == ignore */123123+ __be32 eccr; /* The value for the ECCR register */124124+ __be32 iram_offset; /* Offset into I-RAM for the code */125125+ __be32 count; /* Number of 32-bit words of the code */126126+ __be32 code_offset; /* Offset of the actual microcode */127127+ u8 major; /* The microcode version major */128128+ u8 minor; /* The microcode version minor */129129+ u8 revision; /* The microcode version revision */130130+ u8 padding; /* Reserved, for alignment */131131+ u8 reserved[4]; /* Reserved, for future expansion */132132+ } __attribute__ ((packed)) microcode[1];133133+ /* All microcode binaries should be located here */134134+ /* CRC32 should be located here, after the microcode binaries */135135+} __attribute__ ((packed));136136+137137+struct qe_firmware_info {138138+ char id[64]; /* Firmware name */139139+ u32 vtraps[8]; /* Virtual trap addresses */140140+ u64 extended_modes; /* Extended modes */141141+};142142+143143+/* Upload a firmware to the QE */144144+int qe_upload_firmware(const struct qe_firmware *firmware);145145+146146+/* Obtain information on the uploaded firmware */147147+struct qe_firmware_info *qe_get_firmware_info(void);148148+97149/* Buffer descriptors */98150struct qe_bd {99151 __be16 status;···380328#define QE_SDTM_MSNUM_SHIFT 24381329382330#define QE_SDEBCR_BA_MASK 0x01FFFFFF331331+332332+/* Communication Processor */333333+#define QE_CP_CERCR_MEE 0x8000 /* Multi-user RAM ECC enable */334334+#define QE_CP_CERCR_IEE 0x4000 /* Instruction RAM ECC enable */335335+#define QE_CP_CERCR_CIR 0x0800 /* Common instruction RAM */336336+337337+/* I-RAM */338338+#define QE_IRAM_IADD_AIE 0x80000000 /* Auto Increment Enable */339339+#define QE_IRAM_IADD_BADDR 0x00080000 /* Base Address */383340384341/* UPC */385342#define UPGCR_PROTOCOL 0x80000000 /* protocol ul2 or pl2 */
···11#ifndef __PHY_FIXED_H22#define __PHY_FIXED_H3344-#define MII_REGS_NUM 2955-66-/* max number of virtual phy stuff */77-#define MAX_PHY_AMNT 1088-/*99- The idea is to emulate normal phy behavior by responding with1010- pre-defined values to mii BMCR read, so that read_status hook could1111- take all the needed info.1212-*/1313-144struct fixed_phy_status {1515- u8 link;1616- u16 speed;1717- u8 duplex;55+ int link;66+ int speed;77+ int duplex;88+ int pause;99+ int asym_pause;1810};19112020-/*-----------------------------------------------------------------------------2121- * Private information hoder for mii_bus2222- *-----------------------------------------------------------------------------*/2323-struct fixed_info {2424- u16 *regs;2525- u8 regs_num;2626- struct fixed_phy_status phy_status;2727- struct phy_device *phydev; /* pointer to the container */2828- /* link & speed cb */2929- int (*link_update) (struct net_device *, struct fixed_phy_status *);1212+#ifdef CONFIG_FIXED_PHY1313+extern int fixed_phy_add(unsigned int irq, int phy_id,1414+ struct fixed_phy_status *status);1515+#else1616+static inline int fixed_phy_add(unsigned int irq, int phy_id,1717+ struct fixed_phy_status *status)1818+{1919+ return -ENODEV;2020+}2121+#endif /* CONFIG_FIXED_PHY */30223131-};3232-3333-3434-int fixed_mdio_set_link_update(struct phy_device *,3535- int (*link_update) (struct net_device *, struct fixed_phy_status *));3636-struct fixed_info *fixed_mdio_get_phydev (int phydev_ind);2323+/*2424+ * This function issued only by fixed_phy-aware drivers, no need2525+ * protect it with #ifdef2626+ */2727+extern int fixed_phy_set_link_update(struct phy_device *phydev,2828+ int (*link_update)(struct net_device *,2929+ struct fixed_phy_status *));37303831#endif /* __PHY_FIXED_H */