mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2025-01-18 11:54:37 +08:00
Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/scottwood/linux into next
Freescale updates from Scott: "Highlights include 32-bit memcpy/memset optimizations, checksum optimizations, 85xx config fragments and updates, device tree updates, e6500 fixes for non-SMP, and misc cleanup and minor fixes."
This commit is contained in:
commit
9698351565
@ -18,6 +18,8 @@ Properties:
|
||||
interrupt (NAND_EVTER_STAT). If there is only one,
|
||||
that interrupt reports both types of event.
|
||||
|
||||
- little-endian : If this property is absent, the big-endian mode will
|
||||
be in use as default for registers.
|
||||
|
||||
- ranges : Each range corresponds to a single chipselect, and covers
|
||||
the entire access window as configured.
|
||||
@ -34,6 +36,7 @@ Example:
|
||||
#size-cells = <1>;
|
||||
reg = <0x0 0xffe1e000 0 0x2000>;
|
||||
interrupts = <16 2 19 2>;
|
||||
little-endian;
|
||||
|
||||
/* NOR, NAND Flashes and CPLD on board */
|
||||
ranges = <0x0 0x0 0x0 0xee000000 0x02000000
|
||||
|
18
Documentation/devicetree/bindings/powerpc/fsl/scfg.txt
Normal file
18
Documentation/devicetree/bindings/powerpc/fsl/scfg.txt
Normal file
@ -0,0 +1,18 @@
|
||||
Freescale Supplement configuration unit (SCFG)
|
||||
|
||||
SCFG is the supplemental configuration unit, that provides SoC specific
|
||||
configuration and status registers for the chip. Such as getting PEX port
|
||||
status.
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible: should be "fsl,<chip>-scfg"
|
||||
- reg: should contain base address and length of SCFG memory-mapped
|
||||
registers
|
||||
|
||||
Example:
|
||||
|
||||
scfg: global-utilities@fc000 {
|
||||
compatible = "fsl,t1040-scfg";
|
||||
reg = <0xfc000 0x1000>;
|
||||
};
|
@ -288,6 +288,26 @@ PHONY += pseries_le_defconfig
|
||||
pseries_le_defconfig:
|
||||
$(call merge_into_defconfig,pseries_defconfig,le)
|
||||
|
||||
PHONY += mpc85xx_defconfig
|
||||
mpc85xx_defconfig:
|
||||
$(call merge_into_defconfig,mpc85xx_basic_defconfig,\
|
||||
85xx-32bit 85xx-hw fsl-emb-nonhw)
|
||||
|
||||
PHONY += mpc85xx_smp_defconfig
|
||||
mpc85xx_smp_defconfig:
|
||||
$(call merge_into_defconfig,mpc85xx_basic_defconfig,\
|
||||
85xx-32bit 85xx-smp 85xx-hw fsl-emb-nonhw)
|
||||
|
||||
PHONY += corenet32_smp_defconfig
|
||||
corenet32_smp_defconfig:
|
||||
$(call merge_into_defconfig,corenet_basic_defconfig,\
|
||||
85xx-32bit 85xx-smp 85xx-hw fsl-emb-nonhw)
|
||||
|
||||
PHONY += corenet64_smp_defconfig
|
||||
corenet64_smp_defconfig:
|
||||
$(call merge_into_defconfig,corenet_basic_defconfig,\
|
||||
85xx-64bit 85xx-smp altivec 85xx-hw fsl-emb-nonhw)
|
||||
|
||||
define archhelp
|
||||
@echo '* zImage - Build default images selected by kernel config'
|
||||
@echo ' zImage.* - Compressed kernel image (arch/$(ARCH)/boot/zImage.*)'
|
||||
|
@ -175,7 +175,7 @@
|
||||
|
||||
/include/ "pq3-gpio-0.dtsi"
|
||||
|
||||
display@10000 {
|
||||
display: display@10000 {
|
||||
compatible = "fsl,diu", "fsl,p1022-diu";
|
||||
reg = <0x10000 1000>;
|
||||
interrupts = <64 2 0 0>;
|
||||
|
@ -50,6 +50,8 @@
|
||||
pci0 = &pci0;
|
||||
pci1 = &pci1;
|
||||
pci2 = &pci2;
|
||||
vga = &display;
|
||||
display = &display;
|
||||
};
|
||||
|
||||
cpus {
|
||||
|
@ -484,6 +484,11 @@
|
||||
reg = <0xea000 0x4000>;
|
||||
};
|
||||
|
||||
scfg: global-utilities@fc000 {
|
||||
compatible = "fsl,t1040-scfg";
|
||||
reg = <0xfc000 0x1000>;
|
||||
};
|
||||
|
||||
/include/ "elo3-dma-0.dtsi"
|
||||
/include/ "elo3-dma-1.dtsi"
|
||||
/include/ "qoriq-espi-0.dtsi"
|
||||
|
@ -60,7 +60,7 @@
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "fsl,ifc-nand";
|
||||
reg = <0x2 0x0 0x10000>;
|
||||
reg = <0x1 0x0 0x10000>;
|
||||
};
|
||||
};
|
||||
|
||||
@ -99,6 +99,17 @@
|
||||
};
|
||||
|
||||
i2c@118100 {
|
||||
current-sensor@40 {
|
||||
compatible = "ti,ina220";
|
||||
reg = <0x40>;
|
||||
shunt-resistor = <1000>;
|
||||
};
|
||||
|
||||
current-sensor@41 {
|
||||
compatible = "ti,ina220";
|
||||
reg = <0x41>;
|
||||
shunt-resistor = <1000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -114,6 +114,12 @@
|
||||
reg = <0x4c>;
|
||||
};
|
||||
|
||||
current-sensor@40 {
|
||||
compatible = "ti,ina220";
|
||||
reg = <0x40>;
|
||||
shunt-resistor = <1000>;
|
||||
};
|
||||
|
||||
eeprom@50 {
|
||||
compatible = "atmel,24c256";
|
||||
reg = <0x50>;
|
||||
|
46
arch/powerpc/boot/dts/t1040d4rdb.dts
Normal file
46
arch/powerpc/boot/dts/t1040d4rdb.dts
Normal file
@ -0,0 +1,46 @@
|
||||
/*
|
||||
* T1040D4RDB Device Tree Source
|
||||
*
|
||||
* Copyright 2015 Freescale Semiconductor Inc.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* * Neither the name of Freescale Semiconductor nor the
|
||||
* names of its contributors may be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
*
|
||||
* ALTERNATIVELY, this software may be distributed under the terms of the
|
||||
* GNU General Public License ("GPL") as published by the Free Software
|
||||
* Foundation, either version 2 of that License or (at your option) any
|
||||
* later version.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor "AS IS" AND ANY
|
||||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY
|
||||
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
/include/ "fsl/t104xsi-pre.dtsi"
|
||||
/include/ "t104xd4rdb.dtsi"
|
||||
|
||||
/ {
|
||||
model = "fsl,T1040D4RDB";
|
||||
compatible = "fsl,T1040D4RDB";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
interrupt-parent = <&mpic>;
|
||||
};
|
||||
|
||||
/include/ "fsl/t1040si-post.dtsi"
|
53
arch/powerpc/boot/dts/t1042d4rdb.dts
Normal file
53
arch/powerpc/boot/dts/t1042d4rdb.dts
Normal file
@ -0,0 +1,53 @@
|
||||
/*
|
||||
* T1042D4RDB Device Tree Source
|
||||
*
|
||||
* Copyright 2015 Freescale Semiconductor Inc.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* * Neither the name of Freescale Semiconductor nor the
|
||||
* names of its contributors may be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
*
|
||||
* ALTERNATIVELY, this software may be distributed under the terms of the
|
||||
* GNU General Public License ("GPL") as published by the Free Software
|
||||
* Foundation, either version 2 of that License or (at your option) any
|
||||
* later version.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor "AS IS" AND ANY
|
||||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY
|
||||
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
/include/ "fsl/t104xsi-pre.dtsi"
|
||||
/include/ "t104xd4rdb.dtsi"
|
||||
|
||||
/ {
|
||||
model = "fsl,T1042D4RDB";
|
||||
compatible = "fsl,T1042D4RDB";
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
interrupt-parent = <&mpic>;
|
||||
|
||||
ifc: localbus@ffe124000 {
|
||||
cpld@3,0 {
|
||||
compatible = "fsl,t1040d4rdb-cpld",
|
||||
"fsl,deepsleep-cpld";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/include/ "fsl/t1040si-post.dtsi"
|
205
arch/powerpc/boot/dts/t104xd4rdb.dtsi
Normal file
205
arch/powerpc/boot/dts/t104xd4rdb.dtsi
Normal file
@ -0,0 +1,205 @@
|
||||
/*
|
||||
* T1040D4RDB/T1042D4RDB Device Tree Source
|
||||
*
|
||||
* Copyright 2015 Freescale Semiconductor Inc.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
* * Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* * Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* * Neither the name of Freescale Semiconductor nor the
|
||||
* names of its contributors may be used to endorse or promote products
|
||||
* derived from this software without specific prior written permission.
|
||||
*
|
||||
*
|
||||
* ALTERNATIVELY, this software may be distributed under the terms of the
|
||||
* GNU General Public License ("GPL") as published by the Free Software
|
||||
* Foundation, either version 2 of that License or (at your option) any
|
||||
* later version.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor "AS IS" AND ANY
|
||||
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY
|
||||
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
/ {
|
||||
reserved-memory {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
bman_fbpr: bman-fbpr {
|
||||
size = <0 0x1000000>;
|
||||
alignment = <0 0x1000000>;
|
||||
};
|
||||
qman_fqd: qman-fqd {
|
||||
size = <0 0x400000>;
|
||||
alignment = <0 0x400000>;
|
||||
};
|
||||
qman_pfdr: qman-pfdr {
|
||||
size = <0 0x2000000>;
|
||||
alignment = <0 0x2000000>;
|
||||
};
|
||||
};
|
||||
|
||||
ifc: localbus@ffe124000 {
|
||||
reg = <0xf 0xfe124000 0 0x2000>;
|
||||
ranges = <0 0 0xf 0xe8000000 0x08000000
|
||||
2 0 0xf 0xff800000 0x00010000
|
||||
3 0 0xf 0xffdf0000 0x00008000>;
|
||||
|
||||
nor@0,0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "cfi-flash";
|
||||
reg = <0x0 0x0 0x8000000>;
|
||||
bank-width = <2>;
|
||||
device-width = <1>;
|
||||
};
|
||||
|
||||
nand@2,0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "fsl,ifc-nand";
|
||||
reg = <0x2 0x0 0x10000>;
|
||||
};
|
||||
|
||||
cpld@3,0 {
|
||||
compatible = "fsl,t1040d4rdb-cpld";
|
||||
reg = <3 0 0x300>;
|
||||
};
|
||||
};
|
||||
|
||||
memory {
|
||||
device_type = "memory";
|
||||
};
|
||||
|
||||
dcsr: dcsr@f00000000 {
|
||||
ranges = <0x00000000 0xf 0x00000000 0x01072000>;
|
||||
};
|
||||
|
||||
bportals: bman-portals@ff4000000 {
|
||||
ranges = <0x0 0xf 0xf4000000 0x2000000>;
|
||||
};
|
||||
|
||||
qportals: qman-portals@ff6000000 {
|
||||
ranges = <0x0 0xf 0xf6000000 0x2000000>;
|
||||
};
|
||||
|
||||
soc: soc@ffe000000 {
|
||||
ranges = <0x00000000 0xf 0xfe000000 0x1000000>;
|
||||
reg = <0xf 0xfe000000 0 0x00001000>;
|
||||
|
||||
spi@110000 {
|
||||
flash@0 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
compatible = "micron,n25q512ax3";
|
||||
reg = <0>;
|
||||
/* input clock */
|
||||
spi-max-frequency = <10000000>;
|
||||
};
|
||||
};
|
||||
i2c@118000 {
|
||||
hwmon@4c {
|
||||
compatible = "adi,adt7461";
|
||||
reg = <0x4c>;
|
||||
};
|
||||
|
||||
rtc@68 {
|
||||
compatible = "dallas,ds1337";
|
||||
reg = <0x68>;
|
||||
interrupts = <0x2 0x1 0 0>;
|
||||
};
|
||||
};
|
||||
|
||||
i2c@118100 {
|
||||
mux@77 {
|
||||
/*
|
||||
* Child nodes of mux depend on which i2c
|
||||
* devices are connected via the mini PCI
|
||||
* connector slot1, the mini PCI connector
|
||||
* slot2, the HDMI connector, and the PEX
|
||||
* slot. Systems with such devices attached
|
||||
* should provide a wrapper .dts file that
|
||||
* includes this one, and adds those nodes
|
||||
*/
|
||||
compatible = "nxp,pca9546";
|
||||
reg = <0x77>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
pci0: pcie@ffe240000 {
|
||||
reg = <0xf 0xfe240000 0 0x10000>;
|
||||
ranges = <0x02000000 0 0xe0000000 0xc 0x0 0x0 0x10000000
|
||||
0x01000000 0 0x0 0xf 0xf8000000 0x0 0x00010000>;
|
||||
pcie@0 {
|
||||
ranges = <0x02000000 0 0xe0000000
|
||||
0x02000000 0 0xe0000000
|
||||
0 0x10000000
|
||||
|
||||
0x01000000 0 0x00000000
|
||||
0x01000000 0 0x00000000
|
||||
0 0x00010000>;
|
||||
};
|
||||
};
|
||||
|
||||
pci1: pcie@ffe250000 {
|
||||
reg = <0xf 0xfe250000 0 0x10000>;
|
||||
ranges = <0x02000000 0 0xe0000000 0xc 0x10000000 0 0x10000000
|
||||
0x01000000 0 0 0xf 0xf8010000 0 0x00010000>;
|
||||
pcie@0 {
|
||||
ranges = <0x02000000 0 0xe0000000
|
||||
0x02000000 0 0xe0000000
|
||||
0 0x10000000
|
||||
|
||||
0x01000000 0 0x00000000
|
||||
0x01000000 0 0x00000000
|
||||
0 0x00010000>;
|
||||
};
|
||||
};
|
||||
|
||||
pci2: pcie@ffe260000 {
|
||||
reg = <0xf 0xfe260000 0 0x10000>;
|
||||
ranges = <0x02000000 0 0xe0000000 0xc 0x20000000 0 0x10000000
|
||||
0x01000000 0 0x00000000 0xf 0xf8020000 0 0x00010000>;
|
||||
pcie@0 {
|
||||
ranges = <0x02000000 0 0xe0000000
|
||||
0x02000000 0 0xe0000000
|
||||
0 0x10000000
|
||||
|
||||
0x01000000 0 0x00000000
|
||||
0x01000000 0 0x00000000
|
||||
0 0x00010000>;
|
||||
};
|
||||
};
|
||||
|
||||
pci3: pcie@ffe270000 {
|
||||
reg = <0xf 0xfe270000 0 0x10000>;
|
||||
ranges = <0x02000000 0 0xe0000000 0xc 0x30000000 0 0x10000000
|
||||
0x01000000 0 0x00000000 0xf 0xf8030000 0 0x00010000>;
|
||||
pcie@0 {
|
||||
ranges = <0x02000000 0 0xe0000000
|
||||
0x02000000 0 0xe0000000
|
||||
0 0x10000000
|
||||
|
||||
0x01000000 0 0x00000000
|
||||
0x01000000 0 0x00000000
|
||||
0 0x00010000>;
|
||||
};
|
||||
};
|
||||
};
|
5
arch/powerpc/configs/85xx-32bit.config
Normal file
5
arch/powerpc/configs/85xx-32bit.config
Normal file
@ -0,0 +1,5 @@
|
||||
CONFIG_HIGHMEM=y
|
||||
CONFIG_KEXEC=y
|
||||
CONFIG_PPC_85xx=y
|
||||
CONFIG_PROC_KCORE=y
|
||||
CONFIG_PHYS_64BIT=y
|
4
arch/powerpc/configs/85xx-64bit.config
Normal file
4
arch/powerpc/configs/85xx-64bit.config
Normal file
@ -0,0 +1,4 @@
|
||||
CONFIG_MATH_EMULATION=y
|
||||
CONFIG_MATH_EMULATION_HW_UNIMPLEMENTED=y
|
||||
CONFIG_PPC64=y
|
||||
CONFIG_PPC_BOOK3E_64=y
|
142
arch/powerpc/configs/85xx-hw.config
Normal file
142
arch/powerpc/configs/85xx-hw.config
Normal file
@ -0,0 +1,142 @@
|
||||
CONFIG_AQUANTIA_PHY=y
|
||||
CONFIG_AT803X_PHY=y
|
||||
CONFIG_ATA=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_BLK_DEV_SR_VENDOR=y
|
||||
CONFIG_BLK_DEV_SR=y
|
||||
CONFIG_BROADCOM_PHY=y
|
||||
CONFIG_C293_PCIE=y
|
||||
CONFIG_CHR_DEV_SG=y
|
||||
CONFIG_CHR_DEV_ST=y
|
||||
CONFIG_CICADA_PHY=y
|
||||
CONFIG_CLK_QORIQ=y
|
||||
CONFIG_CRYPTO_DEV_FSL_CAAM=y
|
||||
CONFIG_CRYPTO_DEV_TALITOS=y
|
||||
CONFIG_DAVICOM_PHY=y
|
||||
CONFIG_DMADEVICES=y
|
||||
CONFIG_E1000E=y
|
||||
CONFIG_E1000=y
|
||||
CONFIG_EDAC_MM_EDAC=y
|
||||
CONFIG_EDAC_MPC85XX=y
|
||||
CONFIG_EDAC=y
|
||||
CONFIG_EEPROM_AT24=y
|
||||
CONFIG_EEPROM_LEGACY=y
|
||||
CONFIG_FB_FSL_DIU=y
|
||||
CONFIG_FS_ENET=y
|
||||
CONFIG_FSL_CORENET_CF=y
|
||||
CONFIG_FSL_DMA=y
|
||||
CONFIG_FSL_HV_MANAGER=y
|
||||
CONFIG_FSL_PQ_MDIO=y
|
||||
CONFIG_FSL_RIO=y
|
||||
CONFIG_FSL_XGMAC_MDIO=y
|
||||
CONFIG_GIANFAR=y
|
||||
CONFIG_GPIO_MPC8XXX=y
|
||||
CONFIG_HID_A4TECH=y
|
||||
CONFIG_HID_APPLE=y
|
||||
CONFIG_HID_BELKIN=y
|
||||
CONFIG_HID_CHERRY=y
|
||||
CONFIG_HID_CHICONY=y
|
||||
CONFIG_HID_CYPRESS=y
|
||||
CONFIG_HID_EZKEY=y
|
||||
CONFIG_HID_GYRATION=y
|
||||
CONFIG_HID_LOGITECH=y
|
||||
CONFIG_HID_MICROSOFT=y
|
||||
CONFIG_HID_MONTEREY=y
|
||||
CONFIG_HID_PANTHERLORD=y
|
||||
CONFIG_HID_PETALYNX=y
|
||||
CONFIG_HID_SAMSUNG=y
|
||||
CONFIG_HID_SUNPLUS=y
|
||||
CONFIG_I2C_CHARDEV=y
|
||||
CONFIG_I2C_CPM=m
|
||||
CONFIG_I2C_MPC=y
|
||||
CONFIG_I2C_MUX_PCA954x=y
|
||||
CONFIG_I2C_MUX=y
|
||||
CONFIG_I2C=y
|
||||
CONFIG_IGB=y
|
||||
CONFIG_INPUT_FF_MEMLESS=m
|
||||
# CONFIG_INPUT_KEYBOARD is not set
|
||||
# CONFIG_INPUT_MOUSEDEV is not set
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
CONFIG_MARVELL_PHY=y
|
||||
CONFIG_MDIO_BUS_MUX_GPIO=y
|
||||
CONFIG_MDIO_BUS_MUX_MMIOREG=y
|
||||
CONFIG_MMC_SDHCI_OF_ESDHC=y
|
||||
CONFIG_MMC_SDHCI_PLTFM=y
|
||||
CONFIG_MMC_SDHCI=y
|
||||
CONFIG_MMC=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_CFI_AMDSTD=y
|
||||
CONFIG_MTD_CFI_INTELEXT=y
|
||||
CONFIG_MTD_CFI=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_M25P80=y
|
||||
CONFIG_MTD_NAND_FSL_ELBC=y
|
||||
CONFIG_MTD_NAND_FSL_IFC=y
|
||||
CONFIG_MTD_NAND=y
|
||||
CONFIG_MTD_PHYSMAP_OF=y
|
||||
CONFIG_MTD_PHYSMAP=y
|
||||
CONFIG_MTD_PLATRAM=y
|
||||
CONFIG_MTD_SPI_NOR=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_NVRAM=y
|
||||
CONFIG_PATA_ALI=y
|
||||
CONFIG_PATA_SIL680=y
|
||||
CONFIG_PATA_VIA=y
|
||||
# CONFIG_PCIEASPM is not set
|
||||
CONFIG_PCIEPORTBUS=y
|
||||
CONFIG_PCI_MSI=y
|
||||
CONFIG_PCI=y
|
||||
CONFIG_PPC_EPAPR_HV_BYTECHAN=y
|
||||
# CONFIG_PPC_OF_BOOT_TRAMPOLINE is not set
|
||||
CONFIG_QE_GPIO=y
|
||||
CONFIG_QUICC_ENGINE=y
|
||||
CONFIG_RAPIDIO=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
CONFIG_RTC_DRV_CMOS=y
|
||||
CONFIG_RTC_DRV_DS1307=y
|
||||
CONFIG_RTC_DRV_DS1374=y
|
||||
CONFIG_RTC_DRV_DS3232=y
|
||||
CONFIG_SATA_AHCI=y
|
||||
CONFIG_SATA_FSL=y
|
||||
CONFIG_SATA_SIL24=y
|
||||
CONFIG_SATA_SIL=y
|
||||
CONFIG_SCSI_LOGGING=y
|
||||
CONFIG_SCSI_SYM53C8XX_2=y
|
||||
CONFIG_SENSORS_INA2XX=y
|
||||
CONFIG_SENSORS_LM90=y
|
||||
CONFIG_SERIAL_8250_CONSOLE=y
|
||||
CONFIG_SERIAL_8250_DETECT_IRQ=y
|
||||
CONFIG_SERIAL_8250_MANY_PORTS=y
|
||||
CONFIG_SERIAL_8250_NR_UARTS=6
|
||||
CONFIG_SERIAL_8250_RSA=y
|
||||
CONFIG_SERIAL_8250_RUNTIME_UARTS=6
|
||||
CONFIG_SERIAL_8250=y
|
||||
CONFIG_SERIAL_QE=m
|
||||
CONFIG_SERIO_LIBPS2=y
|
||||
# CONFIG_SND_DRIVERS is not set
|
||||
CONFIG_SND_INTEL8X0=y
|
||||
CONFIG_SND_POWERPC_SOC=y
|
||||
# CONFIG_SND_PPC is not set
|
||||
CONFIG_SND_SOC=y
|
||||
# CONFIG_SND_SUPPORT_OLD_API is not set
|
||||
# CONFIG_SND_USB is not set
|
||||
CONFIG_SND=y
|
||||
CONFIG_SOUND=y
|
||||
CONFIG_SPI_FSL_ESPI=y
|
||||
CONFIG_SPI_FSL_SPI=y
|
||||
CONFIG_SPI_GPIO=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_TERANETICS_PHY=y
|
||||
CONFIG_UCC_GETH=y
|
||||
CONFIG_USB_EHCI_FSL=y
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_HID=m
|
||||
CONFIG_USB_MON=y
|
||||
CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
|
||||
CONFIG_USB_OHCI_HCD_PPC_OF_LE=y
|
||||
CONFIG_USB_OHCI_HCD=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_USB=y
|
||||
# CONFIG_VGA_CONSOLE is not set
|
||||
CONFIG_VIRT_DRIVERS=y
|
||||
CONFIG_VITESSE_PHY=y
|
2
arch/powerpc/configs/85xx-smp.config
Normal file
2
arch/powerpc/configs/85xx-smp.config
Normal file
@ -0,0 +1,2 @@
|
||||
CONFIG_NR_CPUS=24
|
||||
CONFIG_SMP=y
|
1
arch/powerpc/configs/altivec.config
Normal file
1
arch/powerpc/configs/altivec.config
Normal file
@ -0,0 +1 @@
|
||||
CONFIG_ALTIVEC=y
|
@ -1,185 +0,0 @@
|
||||
CONFIG_PPC_85xx=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_NR_CPUS=8
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_POSIX_MQUEUE=y
|
||||
CONFIG_AUDIT=y
|
||||
CONFIG_NO_HZ=y
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
CONFIG_BSD_PROCESS_ACCT=y
|
||||
CONFIG_IKCONFIG=y
|
||||
CONFIG_IKCONFIG_PROC=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
CONFIG_KALLSYMS_ALL=y
|
||||
CONFIG_EMBEDDED=y
|
||||
CONFIG_PERF_EVENTS=y
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_MODULE_FORCE_UNLOAD=y
|
||||
CONFIG_MODVERSIONS=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
CONFIG_PARTITION_ADVANCED=y
|
||||
CONFIG_MAC_PARTITION=y
|
||||
CONFIG_CORENET_GENERIC=y
|
||||
CONFIG_HIGHMEM=y
|
||||
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
|
||||
CONFIG_BINFMT_MISC=m
|
||||
CONFIG_KEXEC=y
|
||||
CONFIG_FORCE_MAX_ZONEORDER=13
|
||||
CONFIG_PCI=y
|
||||
CONFIG_PCIEPORTBUS=y
|
||||
# CONFIG_PCIEASPM is not set
|
||||
CONFIG_PCI_MSI=y
|
||||
CONFIG_RAPIDIO=y
|
||||
CONFIG_FSL_RIO=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_XFRM_USER=y
|
||||
CONFIG_XFRM_SUB_POLICY=y
|
||||
CONFIG_XFRM_STATISTICS=y
|
||||
CONFIG_NET_KEY=y
|
||||
CONFIG_NET_KEY_MIGRATE=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_ADVANCED_ROUTER=y
|
||||
CONFIG_IP_MULTIPLE_TABLES=y
|
||||
CONFIG_IP_ROUTE_MULTIPATH=y
|
||||
CONFIG_IP_ROUTE_VERBOSE=y
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_PNP_DHCP=y
|
||||
CONFIG_IP_PNP_BOOTP=y
|
||||
CONFIG_IP_PNP_RARP=y
|
||||
CONFIG_NET_IPIP=y
|
||||
CONFIG_IP_MROUTE=y
|
||||
CONFIG_IP_PIMSM_V1=y
|
||||
CONFIG_IP_PIMSM_V2=y
|
||||
CONFIG_INET_AH=y
|
||||
CONFIG_INET_ESP=y
|
||||
CONFIG_INET_IPCOMP=y
|
||||
# CONFIG_INET_LRO is not set
|
||||
CONFIG_IPV6=y
|
||||
CONFIG_IP_SCTP=m
|
||||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
CONFIG_DEVTMPFS=y
|
||||
CONFIG_DEVTMPFS_MOUNT=y
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_MTD_CFI=y
|
||||
CONFIG_MTD_CFI_INTELEXT=y
|
||||
CONFIG_MTD_CFI_AMDSTD=y
|
||||
CONFIG_MTD_PHYSMAP_OF=y
|
||||
CONFIG_MTD_NAND=y
|
||||
CONFIG_MTD_NAND_FSL_ELBC=y
|
||||
CONFIG_MTD_NAND_FSL_IFC=y
|
||||
CONFIG_MTD_SPI_NOR=y
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_BLK_DEV_RAM_SIZE=131072
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_CHR_DEV_ST=y
|
||||
CONFIG_BLK_DEV_SR=y
|
||||
CONFIG_CHR_DEV_SG=y
|
||||
CONFIG_SCSI_LOGGING=y
|
||||
CONFIG_SCSI_SYM53C8XX_2=y
|
||||
CONFIG_ATA=y
|
||||
CONFIG_SATA_AHCI=y
|
||||
CONFIG_SATA_FSL=y
|
||||
CONFIG_SATA_SIL24=y
|
||||
CONFIG_SATA_SIL=y
|
||||
CONFIG_PATA_SIL680=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_FSL_PQ_MDIO=y
|
||||
CONFIG_FSL_XGMAC_MDIO=y
|
||||
CONFIG_E1000=y
|
||||
CONFIG_E1000E=y
|
||||
CONFIG_AT803X_PHY=y
|
||||
CONFIG_VITESSE_PHY=y
|
||||
CONFIG_FIXED_PHY=y
|
||||
CONFIG_MDIO_BUS_MUX_GPIO=y
|
||||
CONFIG_MDIO_BUS_MUX_MMIOREG=y
|
||||
# CONFIG_INPUT_MOUSEDEV is not set
|
||||
# CONFIG_INPUT_KEYBOARD is not set
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
CONFIG_SERIO_LIBPS2=y
|
||||
# CONFIG_LEGACY_PTYS is not set
|
||||
CONFIG_PPC_EPAPR_HV_BYTECHAN=y
|
||||
CONFIG_SERIAL_8250=y
|
||||
CONFIG_SERIAL_8250_CONSOLE=y
|
||||
CONFIG_SERIAL_8250_MANY_PORTS=y
|
||||
CONFIG_SERIAL_8250_DETECT_IRQ=y
|
||||
CONFIG_SERIAL_8250_RSA=y
|
||||
CONFIG_NVRAM=y
|
||||
CONFIG_I2C=y
|
||||
CONFIG_I2C_CHARDEV=y
|
||||
CONFIG_I2C_MPC=y
|
||||
CONFIG_I2C_MUX=y
|
||||
CONFIG_I2C_MUX_PCA954x=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_SPI_GPIO=y
|
||||
CONFIG_SPI_FSL_SPI=y
|
||||
CONFIG_SPI_FSL_ESPI=y
|
||||
CONFIG_SENSORS_LM90=y
|
||||
CONFIG_SENSORS_INA2XX=y
|
||||
CONFIG_USB_HID=m
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_MON=y
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_EHCI_FSL=y
|
||||
CONFIG_USB_OHCI_HCD=y
|
||||
CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
|
||||
CONFIG_USB_OHCI_HCD_PPC_OF_LE=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_MMC=y
|
||||
CONFIG_MMC_SDHCI=y
|
||||
CONFIG_EDAC=y
|
||||
CONFIG_EDAC_MM_EDAC=y
|
||||
CONFIG_EDAC_MPC85XX=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
CONFIG_RTC_DRV_DS1307=y
|
||||
CONFIG_RTC_DRV_DS1374=y
|
||||
CONFIG_RTC_DRV_DS3232=y
|
||||
CONFIG_UIO=y
|
||||
CONFIG_VIRT_DRIVERS=y
|
||||
CONFIG_FSL_HV_MANAGER=y
|
||||
CONFIG_STAGING=y
|
||||
CONFIG_FSL_CORENET_CF=y
|
||||
CONFIG_CLK_QORIQ=y
|
||||
CONFIG_EXT2_FS=y
|
||||
CONFIG_EXT3_FS=y
|
||||
# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
|
||||
CONFIG_ISO9660_FS=m
|
||||
CONFIG_JOLIET=y
|
||||
CONFIG_ZISOFS=y
|
||||
CONFIG_UDF_FS=m
|
||||
CONFIG_MSDOS_FS=m
|
||||
CONFIG_VFAT_FS=y
|
||||
CONFIG_NTFS_FS=y
|
||||
CONFIG_PROC_KCORE=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_HUGETLBFS=y
|
||||
CONFIG_JFFS2_FS=y
|
||||
CONFIG_CRAMFS=y
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_NFS_V4=y
|
||||
CONFIG_ROOT_NFS=y
|
||||
CONFIG_NFSD=m
|
||||
CONFIG_NLS_CODEPAGE_437=y
|
||||
CONFIG_NLS_CODEPAGE_850=y
|
||||
CONFIG_NLS_ISO8859_1=y
|
||||
CONFIG_NLS_UTF8=m
|
||||
CONFIG_DEBUG_INFO=y
|
||||
CONFIG_MAGIC_SYSRQ=y
|
||||
CONFIG_DEBUG_SHIRQ=y
|
||||
CONFIG_DETECT_HUNG_TASK=y
|
||||
CONFIG_RCU_TRACE=y
|
||||
CONFIG_CRYPTO_NULL=y
|
||||
CONFIG_CRYPTO_PCBC=m
|
||||
CONFIG_CRYPTO_MD4=y
|
||||
CONFIG_CRYPTO_SHA256=y
|
||||
CONFIG_CRYPTO_SHA512=y
|
||||
# CONFIG_CRYPTO_ANSI_CPRNG is not set
|
||||
CONFIG_CRYPTO_DEV_FSL_CAAM=y
|
1
arch/powerpc/configs/corenet_basic_defconfig
Normal file
1
arch/powerpc/configs/corenet_basic_defconfig
Normal file
@ -0,0 +1 @@
|
||||
CONFIG_CORENET_GENERIC=y
|
@ -1,176 +1,126 @@
|
||||
CONFIG_PPC64=y
|
||||
CONFIG_PPC_BOOK3E_64=y
|
||||
CONFIG_ALTIVEC=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_NR_CPUS=24
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_FHANDLE=y
|
||||
CONFIG_IRQ_DOMAIN_DEBUG=y
|
||||
CONFIG_NO_HZ=y
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
CONFIG_ADFS_FS=m
|
||||
CONFIG_AFFS_FS=m
|
||||
CONFIG_AUDIT=y
|
||||
CONFIG_BEFS_FS=m
|
||||
CONFIG_BFS_FS=m
|
||||
CONFIG_BINFMT_MISC=m
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_BLK_DEV_NBD=y
|
||||
CONFIG_BLK_DEV_RAM_SIZE=131072
|
||||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_BSD_PROCESS_ACCT=y
|
||||
CONFIG_IKCONFIG=y
|
||||
CONFIG_IKCONFIG_PROC=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_CGROUPS=y
|
||||
CONFIG_CPUSETS=y
|
||||
CONFIG_CGROUP_CPUACCT=y
|
||||
CONFIG_CGROUP_SCHED=y
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
CONFIG_CGROUPS=y
|
||||
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
|
||||
CONFIG_CRC_T10DIF=y
|
||||
CONFIG_CPUSETS=y
|
||||
CONFIG_CRAMFS=y
|
||||
CONFIG_CRYPTO_MD4=y
|
||||
CONFIG_CRYPTO_NULL=y
|
||||
CONFIG_CRYPTO_PCBC=m
|
||||
CONFIG_CRYPTO_SHA256=y
|
||||
CONFIG_CRYPTO_SHA512=y
|
||||
CONFIG_DEBUG_FS=y
|
||||
CONFIG_DEBUG_INFO=y
|
||||
CONFIG_DEBUG_SHIRQ=y
|
||||
CONFIG_DETECT_HUNG_TASK=y
|
||||
CONFIG_DEVTMPFS_MOUNT=y
|
||||
CONFIG_DEVTMPFS=y
|
||||
CONFIG_DUMMY=y
|
||||
CONFIG_EFS_FS=m
|
||||
CONFIG_EXPERT=y
|
||||
CONFIG_KALLSYMS_ALL=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_MODULE_FORCE_UNLOAD=y
|
||||
CONFIG_MODVERSIONS=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
CONFIG_PARTITION_ADVANCED=y
|
||||
CONFIG_MAC_PARTITION=y
|
||||
CONFIG_CORENET_GENERIC=y
|
||||
# CONFIG_PPC_OF_BOOT_TRAMPOLINE is not set
|
||||
CONFIG_BINFMT_MISC=m
|
||||
CONFIG_MATH_EMULATION=y
|
||||
CONFIG_MATH_EMULATION_HW_UNIMPLEMENTED=y
|
||||
CONFIG_PCIEPORTBUS=y
|
||||
CONFIG_PCI_MSI=y
|
||||
CONFIG_RAPIDIO=y
|
||||
CONFIG_FSL_RIO=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_XFRM_USER=y
|
||||
CONFIG_NET_KEY=y
|
||||
CONFIG_EXT2_FS=y
|
||||
# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
|
||||
CONFIG_EXT3_FS=y
|
||||
CONFIG_FB=y
|
||||
CONFIG_FHANDLE=y
|
||||
CONFIG_FIXED_PHY=y
|
||||
CONFIG_FONT_8x16=y
|
||||
CONFIG_FONT_8x8=y
|
||||
CONFIG_FONTS=y
|
||||
CONFIG_FORCE_MAX_ZONEORDER=13
|
||||
CONFIG_FRAMEBUFFER_CONSOLE=y
|
||||
CONFIG_FRAME_WARN=1024
|
||||
CONFIG_FTL=y
|
||||
CONFIG_HFS_FS=m
|
||||
CONFIG_HFSPLUS_FS=m
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
CONFIG_HPFS_FS=m
|
||||
CONFIG_HUGETLBFS=y
|
||||
CONFIG_IKCONFIG_PROC=y
|
||||
CONFIG_IKCONFIG=y
|
||||
CONFIG_INET_AH=y
|
||||
CONFIG_INET_ESP=y
|
||||
CONFIG_INET_IPCOMP=y
|
||||
# CONFIG_INET_LRO is not set
|
||||
# CONFIG_INET_XFRM_MODE_BEET is not set
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_ADVANCED_ROUTER=y
|
||||
CONFIG_IP_MULTIPLE_TABLES=y
|
||||
CONFIG_IP_ROUTE_MULTIPATH=y
|
||||
CONFIG_IP_ROUTE_VERBOSE=y
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_PNP_DHCP=y
|
||||
CONFIG_IP_PNP_BOOTP=y
|
||||
CONFIG_IP_PNP_RARP=y
|
||||
CONFIG_NET_IPIP=y
|
||||
CONFIG_IP_MROUTE=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_MULTIPLE_TABLES=y
|
||||
CONFIG_IP_PIMSM_V1=y
|
||||
CONFIG_IP_PIMSM_V2=y
|
||||
CONFIG_INET_ESP=y
|
||||
# CONFIG_INET_XFRM_MODE_BEET is not set
|
||||
# CONFIG_INET_LRO is not set
|
||||
CONFIG_IPV6=y
|
||||
CONFIG_IP_PNP_BOOTP=y
|
||||
CONFIG_IP_PNP_DHCP=y
|
||||
CONFIG_IP_PNP_RARP=y
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_ROUTE_MULTIPATH=y
|
||||
CONFIG_IP_ROUTE_VERBOSE=y
|
||||
CONFIG_IP_SCTP=m
|
||||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
CONFIG_DEVTMPFS=y
|
||||
CONFIG_DEVTMPFS_MOUNT=y
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_FTL=y
|
||||
CONFIG_MTD_CFI=y
|
||||
CONFIG_MTD_CFI_INTELEXT=y
|
||||
CONFIG_MTD_CFI_AMDSTD=y
|
||||
CONFIG_MTD_PHYSMAP_OF=y
|
||||
CONFIG_MTD_NAND=y
|
||||
CONFIG_MTD_NAND_FSL_ELBC=y
|
||||
CONFIG_MTD_NAND_FSL_IFC=y
|
||||
CONFIG_MTD_SPI_NOR=y
|
||||
CONFIG_MTD_UBI=y
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_BLK_DEV_RAM_SIZE=131072
|
||||
CONFIG_EEPROM_LEGACY=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_BLK_DEV_SR=y
|
||||
CONFIG_BLK_DEV_SR_VENDOR=y
|
||||
CONFIG_CHR_DEV_SG=y
|
||||
CONFIG_ATA=y
|
||||
CONFIG_SATA_FSL=y
|
||||
CONFIG_SATA_SIL24=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_DUMMY=y
|
||||
CONFIG_FSL_PQ_MDIO=y
|
||||
CONFIG_FSL_XGMAC_MDIO=y
|
||||
CONFIG_E1000E=y
|
||||
CONFIG_VITESSE_PHY=y
|
||||
CONFIG_FIXED_PHY=y
|
||||
CONFIG_MDIO_BUS_MUX_GPIO=y
|
||||
CONFIG_MDIO_BUS_MUX_MMIOREG=y
|
||||
CONFIG_INPUT_FF_MEMLESS=m
|
||||
# CONFIG_INPUT_MOUSEDEV is not set
|
||||
# CONFIG_INPUT_KEYBOARD is not set
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
CONFIG_SERIO_LIBPS2=y
|
||||
CONFIG_PPC_EPAPR_HV_BYTECHAN=y
|
||||
CONFIG_SERIAL_8250=y
|
||||
CONFIG_SERIAL_8250_CONSOLE=y
|
||||
CONFIG_SERIAL_8250_MANY_PORTS=y
|
||||
CONFIG_SERIAL_8250_DETECT_IRQ=y
|
||||
CONFIG_SERIAL_8250_RSA=y
|
||||
CONFIG_I2C=y
|
||||
CONFIG_I2C_CHARDEV=y
|
||||
CONFIG_I2C_MPC=y
|
||||
CONFIG_I2C_MUX=y
|
||||
CONFIG_I2C_MUX_PCA954x=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_SPI_GPIO=y
|
||||
CONFIG_SPI_FSL_SPI=y
|
||||
CONFIG_SPI_FSL_ESPI=y
|
||||
CONFIG_SENSORS_LM90=y
|
||||
CONFIG_SENSORS_INA2XX=y
|
||||
CONFIG_USB_HID=m
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_MON=y
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_EHCI_FSL=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_MMC=y
|
||||
CONFIG_MMC_SDHCI=y
|
||||
CONFIG_EDAC=y
|
||||
CONFIG_EDAC_MM_EDAC=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
CONFIG_RTC_DRV_DS1307=y
|
||||
CONFIG_RTC_DRV_DS1374=y
|
||||
CONFIG_RTC_DRV_DS3232=y
|
||||
CONFIG_DMADEVICES=y
|
||||
CONFIG_FSL_DMA=y
|
||||
CONFIG_VIRT_DRIVERS=y
|
||||
CONFIG_FSL_HV_MANAGER=y
|
||||
CONFIG_CLK_QORIQ=y
|
||||
CONFIG_FSL_CORENET_CF=y
|
||||
CONFIG_EXT2_FS=y
|
||||
CONFIG_EXT3_FS=y
|
||||
CONFIG_IPV6=y
|
||||
CONFIG_IRQ_DOMAIN_DEBUG=y
|
||||
CONFIG_ISO9660_FS=m
|
||||
CONFIG_JOLIET=y
|
||||
CONFIG_ZISOFS=y
|
||||
CONFIG_UDF_FS=m
|
||||
CONFIG_MSDOS_FS=m
|
||||
CONFIG_VFAT_FS=y
|
||||
CONFIG_NTFS_FS=y
|
||||
CONFIG_PROC_KCORE=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_HUGETLBFS=y
|
||||
CONFIG_JFFS2_FS=y
|
||||
CONFIG_JFFS2_FS_DEBUG=1
|
||||
CONFIG_UBIFS_FS=y
|
||||
CONFIG_JFFS2_FS=y
|
||||
CONFIG_JOLIET=y
|
||||
CONFIG_KALLSYMS_ALL=y
|
||||
# CONFIG_LEGACY_PTYS is not set
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_MAC_PARTITION=y
|
||||
CONFIG_MAGIC_SYSRQ=y
|
||||
CONFIG_MODULE_FORCE_UNLOAD=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_MODVERSIONS=y
|
||||
CONFIG_MSDOS_FS=m
|
||||
CONFIG_MTD_UBI=y
|
||||
CONFIG_MTD=y
|
||||
CONFIG_NET_IPIP=y
|
||||
CONFIG_NET_KEY_MIGRATE=y
|
||||
CONFIG_NET_KEY=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_NFSD=y
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_NFS_V4=y
|
||||
CONFIG_ROOT_NFS=y
|
||||
CONFIG_NFSD=m
|
||||
CONFIG_NLS_CODEPAGE_437=y
|
||||
CONFIG_NLS_CODEPAGE_850=y
|
||||
CONFIG_NLS_ISO8859_1=y
|
||||
CONFIG_NLS_UTF8=m
|
||||
CONFIG_CRC_T10DIF=y
|
||||
CONFIG_DEBUG_INFO=y
|
||||
CONFIG_FRAME_WARN=1024
|
||||
CONFIG_DEBUG_FS=y
|
||||
CONFIG_MAGIC_SYSRQ=y
|
||||
CONFIG_DEBUG_SHIRQ=y
|
||||
CONFIG_DETECT_HUNG_TASK=y
|
||||
CONFIG_CRYPTO_NULL=y
|
||||
CONFIG_CRYPTO_PCBC=m
|
||||
CONFIG_CRYPTO_MD4=y
|
||||
CONFIG_CRYPTO_SHA256=y
|
||||
CONFIG_CRYPTO_SHA512=y
|
||||
# CONFIG_CRYPTO_ANSI_CPRNG is not set
|
||||
CONFIG_CRYPTO_DEV_FSL_CAAM=y
|
||||
CONFIG_NO_HZ=y
|
||||
CONFIG_NTFS_FS=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_PARTITION_ADVANCED=y
|
||||
CONFIG_PERF_EVENTS=y
|
||||
CONFIG_POSIX_MQUEUE=y
|
||||
CONFIG_QNX4FS_FS=m
|
||||
CONFIG_RCU_TRACE=y
|
||||
CONFIG_ROOT_NFS=y
|
||||
CONFIG_SYSV_FS=m
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_UBIFS_FS=y
|
||||
CONFIG_UDF_FS=m
|
||||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
CONFIG_UFS_FS=m
|
||||
CONFIG_UIO=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_VFAT_FS=y
|
||||
CONFIG_VXFS_FS=m
|
||||
CONFIG_XFRM_STATISTICS=y
|
||||
CONFIG_XFRM_SUB_POLICY=y
|
||||
CONFIG_XFRM_USER=y
|
||||
CONFIG_ZISOFS=y
|
23
arch/powerpc/configs/mpc85xx_basic_defconfig
Normal file
23
arch/powerpc/configs/mpc85xx_basic_defconfig
Normal file
@ -0,0 +1,23 @@
|
||||
CONFIG_MATH_EMULATION=y
|
||||
CONFIG_MPC8536_DS=y
|
||||
CONFIG_MPC8540_ADS=y
|
||||
CONFIG_MPC8560_ADS=y
|
||||
CONFIG_MPC85xx_CDS=y
|
||||
CONFIG_MPC85xx_DS=y
|
||||
CONFIG_MPC85xx_MDS=y
|
||||
CONFIG_MPC85xx_RDB=y
|
||||
CONFIG_KSI8560=y
|
||||
CONFIG_MVME2500=y
|
||||
CONFIG_P1010_RDB=y
|
||||
CONFIG_P1022_DS=y
|
||||
CONFIG_P1022_RDK=y
|
||||
CONFIG_P1023_RDB=y
|
||||
CONFIG_SBC8548=y
|
||||
CONFIG_SOCRATES=y
|
||||
CONFIG_STX_GP3=y
|
||||
CONFIG_TQM8540=y
|
||||
CONFIG_TQM8541=y
|
||||
CONFIG_TQM8548=y
|
||||
CONFIG_TQM8555=y
|
||||
CONFIG_TQM8560=y
|
||||
CONFIG_XES_MPC85xx=y
|
@ -1,252 +0,0 @@
|
||||
CONFIG_PPC_85xx=y
|
||||
CONFIG_PHYS_64BIT=y
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_POSIX_MQUEUE=y
|
||||
CONFIG_AUDIT=y
|
||||
CONFIG_IRQ_DOMAIN_DEBUG=y
|
||||
CONFIG_NO_HZ=y
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
CONFIG_BSD_PROCESS_ACCT=y
|
||||
CONFIG_IKCONFIG=y
|
||||
CONFIG_IKCONFIG_PROC=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
CONFIG_EXPERT=y
|
||||
CONFIG_KALLSYMS_ALL=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_MODULE_FORCE_UNLOAD=y
|
||||
CONFIG_MODVERSIONS=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
CONFIG_PARTITION_ADVANCED=y
|
||||
CONFIG_MAC_PARTITION=y
|
||||
CONFIG_C293_PCIE=y
|
||||
CONFIG_MPC8540_ADS=y
|
||||
CONFIG_MPC8560_ADS=y
|
||||
CONFIG_MPC85xx_CDS=y
|
||||
CONFIG_MPC85xx_MDS=y
|
||||
CONFIG_MPC8536_DS=y
|
||||
CONFIG_MPC85xx_DS=y
|
||||
CONFIG_MPC85xx_RDB=y
|
||||
CONFIG_P1010_RDB=y
|
||||
CONFIG_P1022_DS=y
|
||||
CONFIG_P1022_RDK=y
|
||||
CONFIG_P1023_RDB=y
|
||||
CONFIG_SOCRATES=y
|
||||
CONFIG_KSI8560=y
|
||||
CONFIG_XES_MPC85xx=y
|
||||
CONFIG_STX_GP3=y
|
||||
CONFIG_TQM8540=y
|
||||
CONFIG_TQM8541=y
|
||||
CONFIG_TQM8548=y
|
||||
CONFIG_TQM8555=y
|
||||
CONFIG_TQM8560=y
|
||||
CONFIG_SBC8548=y
|
||||
CONFIG_MVME2500=y
|
||||
CONFIG_QUICC_ENGINE=y
|
||||
CONFIG_QE_GPIO=y
|
||||
CONFIG_HIGHMEM=y
|
||||
CONFIG_BINFMT_MISC=m
|
||||
CONFIG_MATH_EMULATION=y
|
||||
CONFIG_FORCE_MAX_ZONEORDER=12
|
||||
CONFIG_PCI=y
|
||||
CONFIG_PCIEPORTBUS=y
|
||||
# CONFIG_PCIEASPM is not set
|
||||
CONFIG_PCI_MSI=y
|
||||
CONFIG_RAPIDIO=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_XFRM_USER=y
|
||||
CONFIG_NET_KEY=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_ADVANCED_ROUTER=y
|
||||
CONFIG_IP_MULTIPLE_TABLES=y
|
||||
CONFIG_IP_ROUTE_MULTIPATH=y
|
||||
CONFIG_IP_ROUTE_VERBOSE=y
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_PNP_DHCP=y
|
||||
CONFIG_IP_PNP_BOOTP=y
|
||||
CONFIG_IP_PNP_RARP=y
|
||||
CONFIG_NET_IPIP=y
|
||||
CONFIG_IP_MROUTE=y
|
||||
CONFIG_IP_PIMSM_V1=y
|
||||
CONFIG_IP_PIMSM_V2=y
|
||||
CONFIG_INET_ESP=y
|
||||
# CONFIG_INET_XFRM_MODE_BEET is not set
|
||||
# CONFIG_INET_LRO is not set
|
||||
CONFIG_IPV6=y
|
||||
CONFIG_IP_SCTP=m
|
||||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
CONFIG_DEVTMPFS=y
|
||||
CONFIG_DEVTMPFS_MOUNT=y
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_FTL=y
|
||||
CONFIG_MTD_CFI=y
|
||||
CONFIG_MTD_CFI_INTELEXT=y
|
||||
CONFIG_MTD_CFI_AMDSTD=y
|
||||
CONFIG_MTD_PHYSMAP=y
|
||||
CONFIG_MTD_PHYSMAP_OF=y
|
||||
CONFIG_MTD_PLATRAM=y
|
||||
CONFIG_MTD_M25P80=y
|
||||
CONFIG_MTD_NAND=y
|
||||
CONFIG_MTD_NAND_FSL_ELBC=y
|
||||
CONFIG_MTD_NAND_FSL_IFC=y
|
||||
CONFIG_MTD_SPI_NOR=y
|
||||
CONFIG_MTD_UBI=y
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_BLK_DEV_NBD=y
|
||||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_BLK_DEV_RAM_SIZE=131072
|
||||
CONFIG_EEPROM_AT24=y
|
||||
CONFIG_EEPROM_LEGACY=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_CHR_DEV_ST=y
|
||||
CONFIG_BLK_DEV_SR=y
|
||||
CONFIG_CHR_DEV_SG=y
|
||||
CONFIG_SCSI_LOGGING=y
|
||||
CONFIG_ATA=y
|
||||
CONFIG_SATA_AHCI=y
|
||||
CONFIG_SATA_FSL=y
|
||||
CONFIG_SATA_SIL24=y
|
||||
CONFIG_PATA_ALI=y
|
||||
CONFIG_PATA_VIA=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_DUMMY=y
|
||||
CONFIG_FS_ENET=y
|
||||
CONFIG_UCC_GETH=y
|
||||
CONFIG_GIANFAR=y
|
||||
CONFIG_E1000=y
|
||||
CONFIG_E1000E=y
|
||||
CONFIG_IGB=y
|
||||
CONFIG_AT803X_PHY=y
|
||||
CONFIG_MARVELL_PHY=y
|
||||
CONFIG_DAVICOM_PHY=y
|
||||
CONFIG_CICADA_PHY=y
|
||||
CONFIG_VITESSE_PHY=y
|
||||
CONFIG_BROADCOM_PHY=y
|
||||
CONFIG_FIXED_PHY=y
|
||||
CONFIG_INPUT_FF_MEMLESS=m
|
||||
# CONFIG_INPUT_MOUSEDEV is not set
|
||||
# CONFIG_INPUT_KEYBOARD is not set
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
CONFIG_SERIO_LIBPS2=y
|
||||
CONFIG_SERIAL_8250=y
|
||||
CONFIG_SERIAL_8250_CONSOLE=y
|
||||
CONFIG_SERIAL_8250_NR_UARTS=6
|
||||
CONFIG_SERIAL_8250_RUNTIME_UARTS=6
|
||||
CONFIG_SERIAL_8250_MANY_PORTS=y
|
||||
CONFIG_SERIAL_8250_DETECT_IRQ=y
|
||||
CONFIG_SERIAL_8250_RSA=y
|
||||
CONFIG_SERIAL_QE=m
|
||||
CONFIG_NVRAM=y
|
||||
CONFIG_I2C_CHARDEV=y
|
||||
CONFIG_I2C_CPM=m
|
||||
CONFIG_I2C_MPC=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_SPI_FSL_SPI=y
|
||||
CONFIG_SPI_FSL_ESPI=y
|
||||
CONFIG_GPIO_MPC8XXX=y
|
||||
CONFIG_SENSORS_LM90=y
|
||||
CONFIG_FB=y
|
||||
CONFIG_FB_FSL_DIU=y
|
||||
# CONFIG_VGA_CONSOLE is not set
|
||||
CONFIG_FRAMEBUFFER_CONSOLE=y
|
||||
CONFIG_SOUND=y
|
||||
CONFIG_SND=y
|
||||
# CONFIG_SND_SUPPORT_OLD_API is not set
|
||||
# CONFIG_SND_DRIVERS is not set
|
||||
CONFIG_SND_INTEL8X0=y
|
||||
# CONFIG_SND_PPC is not set
|
||||
# CONFIG_SND_USB is not set
|
||||
CONFIG_SND_SOC=y
|
||||
CONFIG_SND_POWERPC_SOC=y
|
||||
CONFIG_HID_A4TECH=y
|
||||
CONFIG_HID_APPLE=y
|
||||
CONFIG_HID_BELKIN=y
|
||||
CONFIG_HID_CHERRY=y
|
||||
CONFIG_HID_CHICONY=y
|
||||
CONFIG_HID_CYPRESS=y
|
||||
CONFIG_HID_EZKEY=y
|
||||
CONFIG_HID_GYRATION=y
|
||||
CONFIG_HID_LOGITECH=y
|
||||
CONFIG_HID_MICROSOFT=y
|
||||
CONFIG_HID_MONTEREY=y
|
||||
CONFIG_HID_PANTHERLORD=y
|
||||
CONFIG_HID_PETALYNX=y
|
||||
CONFIG_HID_SAMSUNG=y
|
||||
CONFIG_HID_SUNPLUS=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_MON=y
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_EHCI_FSL=y
|
||||
CONFIG_USB_OHCI_HCD=y
|
||||
CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
|
||||
CONFIG_USB_OHCI_HCD_PPC_OF_LE=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_MMC=y
|
||||
CONFIG_MMC_SDHCI=y
|
||||
CONFIG_MMC_SDHCI_PLTFM=y
|
||||
CONFIG_MMC_SDHCI_OF_ESDHC=y
|
||||
CONFIG_EDAC=y
|
||||
CONFIG_EDAC_MM_EDAC=y
|
||||
CONFIG_EDAC_MPC85XX=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
CONFIG_RTC_DRV_DS1307=y
|
||||
CONFIG_RTC_DRV_DS1374=y
|
||||
CONFIG_RTC_DRV_DS3232=y
|
||||
CONFIG_RTC_DRV_CMOS=y
|
||||
CONFIG_DMADEVICES=y
|
||||
CONFIG_FSL_DMA=y
|
||||
CONFIG_EXT2_FS=y
|
||||
CONFIG_EXT3_FS=y
|
||||
# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
|
||||
CONFIG_ISO9660_FS=m
|
||||
CONFIG_JOLIET=y
|
||||
CONFIG_ZISOFS=y
|
||||
CONFIG_UDF_FS=m
|
||||
CONFIG_MSDOS_FS=m
|
||||
CONFIG_VFAT_FS=y
|
||||
CONFIG_NTFS_FS=y
|
||||
CONFIG_PROC_KCORE=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_HUGETLBFS=y
|
||||
CONFIG_ADFS_FS=m
|
||||
CONFIG_AFFS_FS=m
|
||||
CONFIG_HFS_FS=m
|
||||
CONFIG_HFSPLUS_FS=m
|
||||
CONFIG_BEFS_FS=m
|
||||
CONFIG_BFS_FS=m
|
||||
CONFIG_EFS_FS=m
|
||||
CONFIG_JFFS2_FS=y
|
||||
CONFIG_JFFS2_FS_DEBUG=1
|
||||
CONFIG_UBIFS_FS=y
|
||||
CONFIG_CRAMFS=y
|
||||
CONFIG_VXFS_FS=m
|
||||
CONFIG_HPFS_FS=m
|
||||
CONFIG_QNX4FS_FS=m
|
||||
CONFIG_SYSV_FS=m
|
||||
CONFIG_UFS_FS=m
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_NFS_V4=y
|
||||
CONFIG_ROOT_NFS=y
|
||||
CONFIG_NFSD=y
|
||||
CONFIG_NLS_CODEPAGE_437=y
|
||||
CONFIG_NLS_CODEPAGE_850=y
|
||||
CONFIG_NLS_ISO8859_1=y
|
||||
CONFIG_CRC_T10DIF=y
|
||||
CONFIG_FONTS=y
|
||||
CONFIG_FONT_8x8=y
|
||||
CONFIG_FONT_8x16=y
|
||||
CONFIG_DEBUG_INFO=y
|
||||
CONFIG_DEBUG_FS=y
|
||||
CONFIG_DETECT_HUNG_TASK=y
|
||||
CONFIG_CRYPTO_PCBC=m
|
||||
CONFIG_CRYPTO_SHA256=y
|
||||
CONFIG_CRYPTO_SHA512=y
|
||||
# CONFIG_CRYPTO_ANSI_CPRNG is not set
|
||||
CONFIG_CRYPTO_DEV_FSL_CAAM=y
|
||||
CONFIG_CRYPTO_DEV_TALITOS=y
|
@ -1,244 +0,0 @@
|
||||
CONFIG_PPC_85xx=y
|
||||
CONFIG_PHYS_64BIT=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_NR_CPUS=8
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_POSIX_MQUEUE=y
|
||||
CONFIG_AUDIT=y
|
||||
CONFIG_IRQ_DOMAIN_DEBUG=y
|
||||
CONFIG_NO_HZ=y
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
CONFIG_BSD_PROCESS_ACCT=y
|
||||
CONFIG_IKCONFIG=y
|
||||
CONFIG_IKCONFIG_PROC=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
CONFIG_EXPERT=y
|
||||
CONFIG_KALLSYMS_ALL=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_MODULE_FORCE_UNLOAD=y
|
||||
CONFIG_MODVERSIONS=y
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
CONFIG_PARTITION_ADVANCED=y
|
||||
CONFIG_MAC_PARTITION=y
|
||||
CONFIG_C293_PCIE=y
|
||||
CONFIG_MPC8540_ADS=y
|
||||
CONFIG_MPC8560_ADS=y
|
||||
CONFIG_MPC85xx_CDS=y
|
||||
CONFIG_MPC85xx_MDS=y
|
||||
CONFIG_MPC8536_DS=y
|
||||
CONFIG_MPC85xx_DS=y
|
||||
CONFIG_MPC85xx_RDB=y
|
||||
CONFIG_P1010_RDB=y
|
||||
CONFIG_P1022_DS=y
|
||||
CONFIG_P1022_RDK=y
|
||||
CONFIG_P1023_RDB=y
|
||||
CONFIG_SOCRATES=y
|
||||
CONFIG_KSI8560=y
|
||||
CONFIG_XES_MPC85xx=y
|
||||
CONFIG_STX_GP3=y
|
||||
CONFIG_TQM8540=y
|
||||
CONFIG_TQM8541=y
|
||||
CONFIG_TQM8548=y
|
||||
CONFIG_TQM8555=y
|
||||
CONFIG_TQM8560=y
|
||||
CONFIG_SBC8548=y
|
||||
CONFIG_QUICC_ENGINE=y
|
||||
CONFIG_QE_GPIO=y
|
||||
CONFIG_HIGHMEM=y
|
||||
CONFIG_BINFMT_MISC=m
|
||||
CONFIG_MATH_EMULATION=y
|
||||
CONFIG_FORCE_MAX_ZONEORDER=12
|
||||
CONFIG_PCI=y
|
||||
CONFIG_PCI_MSI=y
|
||||
CONFIG_RAPIDIO=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_XFRM_USER=y
|
||||
CONFIG_NET_KEY=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_ADVANCED_ROUTER=y
|
||||
CONFIG_IP_MULTIPLE_TABLES=y
|
||||
CONFIG_IP_ROUTE_MULTIPATH=y
|
||||
CONFIG_IP_ROUTE_VERBOSE=y
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_PNP_DHCP=y
|
||||
CONFIG_IP_PNP_BOOTP=y
|
||||
CONFIG_IP_PNP_RARP=y
|
||||
CONFIG_NET_IPIP=y
|
||||
CONFIG_IP_MROUTE=y
|
||||
CONFIG_IP_PIMSM_V1=y
|
||||
CONFIG_IP_PIMSM_V2=y
|
||||
CONFIG_INET_ESP=y
|
||||
# CONFIG_INET_XFRM_MODE_BEET is not set
|
||||
# CONFIG_INET_LRO is not set
|
||||
CONFIG_IPV6=y
|
||||
CONFIG_IP_SCTP=m
|
||||
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
|
||||
CONFIG_DEVTMPFS=y
|
||||
CONFIG_DEVTMPFS_MOUNT=y
|
||||
CONFIG_MTD=y
|
||||
CONFIG_MTD_CMDLINE_PARTS=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
CONFIG_FTL=y
|
||||
CONFIG_MTD_CFI=y
|
||||
CONFIG_MTD_CFI_INTELEXT=y
|
||||
CONFIG_MTD_CFI_AMDSTD=y
|
||||
CONFIG_MTD_PHYSMAP_OF=y
|
||||
CONFIG_MTD_NAND=y
|
||||
CONFIG_MTD_NAND_FSL_ELBC=y
|
||||
CONFIG_MTD_NAND_FSL_IFC=y
|
||||
CONFIG_MTD_SPI_NOR=y
|
||||
CONFIG_MTD_UBI=y
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_BLK_DEV_NBD=y
|
||||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_BLK_DEV_RAM_SIZE=131072
|
||||
CONFIG_EEPROM_AT24=y
|
||||
CONFIG_EEPROM_LEGACY=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_CHR_DEV_ST=y
|
||||
CONFIG_BLK_DEV_SR=y
|
||||
CONFIG_CHR_DEV_SG=y
|
||||
CONFIG_SCSI_LOGGING=y
|
||||
CONFIG_ATA=y
|
||||
CONFIG_SATA_AHCI=y
|
||||
CONFIG_SATA_FSL=y
|
||||
CONFIG_SATA_SIL24=y
|
||||
CONFIG_PATA_ALI=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_DUMMY=y
|
||||
CONFIG_FS_ENET=y
|
||||
CONFIG_UCC_GETH=y
|
||||
CONFIG_GIANFAR=y
|
||||
CONFIG_E1000E=y
|
||||
CONFIG_AT803X_PHY=y
|
||||
CONFIG_MARVELL_PHY=y
|
||||
CONFIG_DAVICOM_PHY=y
|
||||
CONFIG_CICADA_PHY=y
|
||||
CONFIG_VITESSE_PHY=y
|
||||
CONFIG_FIXED_PHY=y
|
||||
CONFIG_INPUT_FF_MEMLESS=m
|
||||
# CONFIG_INPUT_MOUSEDEV is not set
|
||||
# CONFIG_INPUT_KEYBOARD is not set
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
CONFIG_SERIO_LIBPS2=y
|
||||
CONFIG_SERIAL_8250=y
|
||||
CONFIG_SERIAL_8250_CONSOLE=y
|
||||
CONFIG_SERIAL_8250_NR_UARTS=2
|
||||
CONFIG_SERIAL_8250_RUNTIME_UARTS=2
|
||||
CONFIG_SERIAL_8250_MANY_PORTS=y
|
||||
CONFIG_SERIAL_8250_DETECT_IRQ=y
|
||||
CONFIG_SERIAL_8250_RSA=y
|
||||
CONFIG_SERIAL_QE=m
|
||||
CONFIG_NVRAM=y
|
||||
CONFIG_I2C=y
|
||||
CONFIG_I2C_CHARDEV=y
|
||||
CONFIG_I2C_CPM=m
|
||||
CONFIG_I2C_MPC=y
|
||||
CONFIG_SPI=y
|
||||
CONFIG_SPI_FSL_SPI=y
|
||||
CONFIG_SPI_FSL_ESPI=y
|
||||
CONFIG_GPIO_MPC8XXX=y
|
||||
CONFIG_SENSORS_LM90=y
|
||||
CONFIG_FB=y
|
||||
CONFIG_FB_FSL_DIU=y
|
||||
# CONFIG_VGA_CONSOLE is not set
|
||||
CONFIG_FRAMEBUFFER_CONSOLE=y
|
||||
CONFIG_SOUND=y
|
||||
CONFIG_SND=y
|
||||
# CONFIG_SND_SUPPORT_OLD_API is not set
|
||||
# CONFIG_SND_DRIVERS is not set
|
||||
CONFIG_SND_INTEL8X0=y
|
||||
# CONFIG_SND_PPC is not set
|
||||
# CONFIG_SND_USB is not set
|
||||
CONFIG_SND_SOC=y
|
||||
CONFIG_SND_POWERPC_SOC=y
|
||||
CONFIG_HID_A4TECH=y
|
||||
CONFIG_HID_APPLE=y
|
||||
CONFIG_HID_BELKIN=y
|
||||
CONFIG_HID_CHERRY=y
|
||||
CONFIG_HID_CHICONY=y
|
||||
CONFIG_HID_CYPRESS=y
|
||||
CONFIG_HID_EZKEY=y
|
||||
CONFIG_HID_GYRATION=y
|
||||
CONFIG_HID_LOGITECH=y
|
||||
CONFIG_HID_MICROSOFT=y
|
||||
CONFIG_HID_MONTEREY=y
|
||||
CONFIG_HID_PANTHERLORD=y
|
||||
CONFIG_HID_PETALYNX=y
|
||||
CONFIG_HID_SAMSUNG=y
|
||||
CONFIG_HID_SUNPLUS=y
|
||||
CONFIG_USB=y
|
||||
CONFIG_USB_MON=y
|
||||
CONFIG_USB_EHCI_HCD=y
|
||||
CONFIG_USB_EHCI_FSL=y
|
||||
CONFIG_USB_OHCI_HCD=y
|
||||
CONFIG_USB_OHCI_HCD_PPC_OF_BE=y
|
||||
CONFIG_USB_OHCI_HCD_PPC_OF_LE=y
|
||||
CONFIG_USB_STORAGE=y
|
||||
CONFIG_MMC=y
|
||||
CONFIG_MMC_SDHCI=y
|
||||
CONFIG_MMC_SDHCI_PLTFM=y
|
||||
CONFIG_MMC_SDHCI_OF_ESDHC=y
|
||||
CONFIG_EDAC=y
|
||||
CONFIG_EDAC_MM_EDAC=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
CONFIG_RTC_DRV_DS1307=y
|
||||
CONFIG_RTC_DRV_DS1374=y
|
||||
CONFIG_RTC_DRV_DS3232=y
|
||||
CONFIG_RTC_DRV_CMOS=y
|
||||
CONFIG_DMADEVICES=y
|
||||
CONFIG_FSL_DMA=y
|
||||
CONFIG_EXT2_FS=y
|
||||
CONFIG_EXT3_FS=y
|
||||
# CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set
|
||||
CONFIG_ISO9660_FS=m
|
||||
CONFIG_JOLIET=y
|
||||
CONFIG_ZISOFS=y
|
||||
CONFIG_UDF_FS=m
|
||||
CONFIG_MSDOS_FS=m
|
||||
CONFIG_VFAT_FS=y
|
||||
CONFIG_NTFS_FS=y
|
||||
CONFIG_PROC_KCORE=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_HUGETLBFS=y
|
||||
CONFIG_ADFS_FS=m
|
||||
CONFIG_AFFS_FS=m
|
||||
CONFIG_HFS_FS=m
|
||||
CONFIG_HFSPLUS_FS=m
|
||||
CONFIG_BEFS_FS=m
|
||||
CONFIG_BFS_FS=m
|
||||
CONFIG_EFS_FS=m
|
||||
CONFIG_JFFS2_FS=y
|
||||
CONFIG_JFFS2_FS_DEBUG=1
|
||||
CONFIG_UBIFS_FS=y
|
||||
CONFIG_CRAMFS=y
|
||||
CONFIG_VXFS_FS=m
|
||||
CONFIG_HPFS_FS=m
|
||||
CONFIG_QNX4FS_FS=m
|
||||
CONFIG_SYSV_FS=m
|
||||
CONFIG_UFS_FS=m
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_NFS_V4=y
|
||||
CONFIG_ROOT_NFS=y
|
||||
CONFIG_NFSD=y
|
||||
CONFIG_NLS_CODEPAGE_437=y
|
||||
CONFIG_NLS_CODEPAGE_850=y
|
||||
CONFIG_NLS_ISO8859_1=y
|
||||
CONFIG_CRC_T10DIF=y
|
||||
CONFIG_FONTS=y
|
||||
CONFIG_FONT_8x8=y
|
||||
CONFIG_FONT_8x16=y
|
||||
CONFIG_DEBUG_INFO=y
|
||||
CONFIG_DEBUG_FS=y
|
||||
CONFIG_DETECT_HUNG_TASK=y
|
||||
CONFIG_CRYPTO_PCBC=m
|
||||
CONFIG_CRYPTO_SHA256=y
|
||||
CONFIG_CRYPTO_SHA512=y
|
||||
# CONFIG_CRYPTO_ANSI_CPRNG is not set
|
||||
CONFIG_CRYPTO_DEV_FSL_CAAM=y
|
||||
CONFIG_CRYPTO_DEV_TALITOS=y
|
@ -40,7 +40,12 @@ extern void __flush_dcache_icache(void *page_va);
|
||||
extern void flush_dcache_icache_page(struct page *page);
|
||||
#if defined(CONFIG_PPC32) && !defined(CONFIG_BOOKE)
|
||||
extern void __flush_dcache_icache_phys(unsigned long physaddr);
|
||||
#endif /* CONFIG_PPC32 && !CONFIG_BOOKE */
|
||||
#else
|
||||
static inline void __flush_dcache_icache_phys(unsigned long physaddr)
|
||||
{
|
||||
BUG();
|
||||
}
|
||||
#endif
|
||||
|
||||
extern void flush_dcache_range(unsigned long start, unsigned long stop);
|
||||
#ifdef CONFIG_PPC32
|
||||
|
@ -19,15 +19,6 @@
|
||||
#else
|
||||
extern __sum16 ip_fast_csum(const void *iph, unsigned int ihl);
|
||||
|
||||
/*
|
||||
* computes the checksum of the TCP/UDP pseudo-header
|
||||
* returns a 16-bit checksum, already complemented
|
||||
*/
|
||||
extern __sum16 csum_tcpudp_magic(__be32 saddr, __be32 daddr,
|
||||
unsigned short len,
|
||||
unsigned short proto,
|
||||
__wsum sum);
|
||||
|
||||
/*
|
||||
* computes the checksum of a memory block at buff, length len,
|
||||
* and adds in "sum" (32-bit)
|
||||
@ -127,6 +118,34 @@ static inline __wsum csum_tcpudp_nofold(__be32 saddr, __be32 daddr,
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
* computes the checksum of the TCP/UDP pseudo-header
|
||||
* returns a 16-bit checksum, already complemented
|
||||
*/
|
||||
static inline __sum16 csum_tcpudp_magic(__be32 saddr, __be32 daddr,
|
||||
unsigned short len,
|
||||
unsigned short proto,
|
||||
__wsum sum)
|
||||
{
|
||||
return csum_fold(csum_tcpudp_nofold(saddr, daddr, len, proto, sum));
|
||||
}
|
||||
|
||||
#define HAVE_ARCH_CSUM_ADD
|
||||
static inline __wsum csum_add(__wsum csum, __wsum addend)
|
||||
{
|
||||
#ifdef __powerpc64__
|
||||
u64 res = (__force u64)csum;
|
||||
|
||||
res += (__force u64)addend;
|
||||
return (__force __wsum)((u32)res + (res >> 32));
|
||||
#else
|
||||
asm("addc %0,%0,%1;"
|
||||
"addze %0,%0;"
|
||||
: "+r" (csum) : "r" (addend));
|
||||
return csum;
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif
|
||||
#endif /* __KERNEL__ */
|
||||
#endif
|
||||
|
@ -169,6 +169,17 @@ static inline void __set_pte_at(struct mm_struct *mm, unsigned long addr,
|
||||
* cases, and 32-bit non-hash with 32-bit PTEs.
|
||||
*/
|
||||
*ptep = pte;
|
||||
|
||||
#ifdef CONFIG_PPC_BOOK3E_64
|
||||
/*
|
||||
* With hardware tablewalk, a sync is needed to ensure that
|
||||
* subsequent accesses see the PTE we just wrote. Unlike userspace
|
||||
* mappings, we can't tolerate spurious faults, so make sure
|
||||
* the new PTE will be seen the first time.
|
||||
*/
|
||||
if (is_kernel_addr(addr))
|
||||
mb();
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -109,7 +109,8 @@ extern unsigned long bad_call_to_PMD_PAGE_SIZE(void);
|
||||
* the processor might need it for DMA coherency.
|
||||
*/
|
||||
#define _PAGE_BASE_NC (_PAGE_PRESENT | _PAGE_ACCESSED | _PAGE_PSIZE)
|
||||
#if defined(CONFIG_SMP) || defined(CONFIG_PPC_STD_MMU)
|
||||
#if defined(CONFIG_SMP) || defined(CONFIG_PPC_STD_MMU) || \
|
||||
defined(CONFIG_PPC_E500MC)
|
||||
#define _PAGE_BASE (_PAGE_BASE_NC | _PAGE_COHERENT)
|
||||
#else
|
||||
#define _PAGE_BASE (_PAGE_BASE_NC)
|
||||
|
@ -213,7 +213,6 @@ int main(void)
|
||||
offsetof(struct tlb_core_data, esel_max));
|
||||
DEFINE(TCD_ESEL_FIRST,
|
||||
offsetof(struct tlb_core_data, esel_first));
|
||||
DEFINE(TCD_LOCK, offsetof(struct tlb_core_data, lock));
|
||||
#endif /* CONFIG_PPC_BOOK3E */
|
||||
|
||||
#ifdef CONFIG_PPC_STD_MMU_64
|
||||
|
@ -1313,11 +1313,14 @@ skpinv: addi r6,r6,1 /* Increment */
|
||||
sync
|
||||
isync
|
||||
|
||||
/* The mapping only needs to be cache-coherent on SMP */
|
||||
#ifdef CONFIG_SMP
|
||||
#define M_IF_SMP MAS2_M
|
||||
/*
|
||||
* The mapping only needs to be cache-coherent on SMP, except on
|
||||
* Freescale e500mc derivatives where it's also needed for coherent DMA.
|
||||
*/
|
||||
#if defined(CONFIG_SMP) || defined(CONFIG_PPC_E500MC)
|
||||
#define M_IF_NEEDED MAS2_M
|
||||
#else
|
||||
#define M_IF_SMP 0
|
||||
#define M_IF_NEEDED 0
|
||||
#endif
|
||||
|
||||
/* 6. Setup KERNELBASE mapping in TLB[0]
|
||||
@ -1332,7 +1335,7 @@ skpinv: addi r6,r6,1 /* Increment */
|
||||
ori r6,r6,(MAS1_TSIZE(BOOK3E_PAGESZ_1GB))@l
|
||||
mtspr SPRN_MAS1,r6
|
||||
|
||||
LOAD_REG_IMMEDIATE(r6, PAGE_OFFSET | M_IF_SMP)
|
||||
LOAD_REG_IMMEDIATE(r6, PAGE_OFFSET | M_IF_NEEDED)
|
||||
mtspr SPRN_MAS2,r6
|
||||
|
||||
rlwinm r5,r5,0,0,25
|
||||
|
@ -152,11 +152,14 @@ skpinv: addi r6,r6,1 /* Increment */
|
||||
tlbivax 0,r9
|
||||
TLBSYNC
|
||||
|
||||
/* The mapping only needs to be cache-coherent on SMP */
|
||||
#ifdef CONFIG_SMP
|
||||
#define M_IF_SMP MAS2_M
|
||||
/*
|
||||
* The mapping only needs to be cache-coherent on SMP, except on
|
||||
* Freescale e500mc derivatives where it's also needed for coherent DMA.
|
||||
*/
|
||||
#if defined(CONFIG_SMP) || defined(CONFIG_PPC_E500MC)
|
||||
#define M_IF_NEEDED MAS2_M
|
||||
#else
|
||||
#define M_IF_SMP 0
|
||||
#define M_IF_NEEDED 0
|
||||
#endif
|
||||
|
||||
#if defined(ENTRY_MAPPING_BOOT_SETUP)
|
||||
@ -167,8 +170,8 @@ skpinv: addi r6,r6,1 /* Increment */
|
||||
lis r6,(MAS1_VALID|MAS1_IPROT)@h
|
||||
ori r6,r6,(MAS1_TSIZE(BOOK3E_PAGESZ_64M))@l
|
||||
mtspr SPRN_MAS1,r6
|
||||
lis r6,MAS2_VAL(PAGE_OFFSET, BOOK3E_PAGESZ_64M, M_IF_SMP)@h
|
||||
ori r6,r6,MAS2_VAL(PAGE_OFFSET, BOOK3E_PAGESZ_64M, M_IF_SMP)@l
|
||||
lis r6,MAS2_VAL(PAGE_OFFSET, BOOK3E_PAGESZ_64M, M_IF_NEEDED)@h
|
||||
ori r6,r6,MAS2_VAL(PAGE_OFFSET, BOOK3E_PAGESZ_64M, M_IF_NEEDED)@l
|
||||
mtspr SPRN_MAS2,r6
|
||||
mtspr SPRN_MAS3,r8
|
||||
tlbwe
|
||||
|
@ -40,22 +40,6 @@ _GLOBAL(ip_fast_csum)
|
||||
srwi r3,r3,16
|
||||
blr
|
||||
|
||||
/*
|
||||
* Compute checksum of TCP or UDP pseudo-header:
|
||||
* csum_tcpudp_magic(saddr, daddr, len, proto, sum)
|
||||
*/
|
||||
_GLOBAL(csum_tcpudp_magic)
|
||||
rlwimi r5,r6,16,0,15 /* put proto in upper half of len */
|
||||
addc r0,r3,r4 /* add 4 32-bit words together */
|
||||
adde r0,r0,r5
|
||||
adde r0,r0,r7
|
||||
addze r0,r0 /* add in final carry */
|
||||
rlwinm r3,r0,16,0,31 /* fold two halves together */
|
||||
add r3,r0,r3
|
||||
not r3,r3
|
||||
srwi r3,r3,16
|
||||
blr
|
||||
|
||||
/*
|
||||
* computes the checksum of a memory block at buff, length len,
|
||||
* and adds in "sum" (32-bit)
|
||||
|
@ -44,27 +44,6 @@ _GLOBAL(ip_fast_csum)
|
||||
srwi r3,r3,16
|
||||
blr
|
||||
|
||||
/*
|
||||
* Compute checksum of TCP or UDP pseudo-header:
|
||||
* csum_tcpudp_magic(r3=saddr, r4=daddr, r5=len, r6=proto, r7=sum)
|
||||
* No real gain trying to do this specially for 64 bit, but
|
||||
* the 32 bit addition may spill into the upper bits of
|
||||
* the doubleword so we still must fold it down from 64.
|
||||
*/
|
||||
_GLOBAL(csum_tcpudp_magic)
|
||||
rlwimi r5,r6,16,0,15 /* put proto in upper half of len */
|
||||
addc r0,r3,r4 /* add 4 32-bit words together */
|
||||
adde r0,r0,r5
|
||||
adde r0,r0,r7
|
||||
rldicl r4,r0,32,0 /* fold 64 bit value */
|
||||
add r0,r4,r0
|
||||
srdi r0,r0,32
|
||||
rlwinm r3,r0,16,0,31 /* fold two halves together */
|
||||
add r3,r0,r3
|
||||
not r3,r3
|
||||
srwi r3,r3,16
|
||||
blr
|
||||
|
||||
/*
|
||||
* Computes the checksum of a memory block at buff, length len,
|
||||
* and adds in "sum" (32-bit).
|
||||
|
@ -69,9 +69,15 @@ CACHELINE_BYTES = L1_CACHE_BYTES
|
||||
LG_CACHELINE_BYTES = L1_CACHE_SHIFT
|
||||
CACHELINE_MASK = (L1_CACHE_BYTES-1)
|
||||
|
||||
/*
|
||||
* Use dcbz on the complete cache lines in the destination
|
||||
* to set them to zero. This requires that the destination
|
||||
* area is cacheable. -- paulus
|
||||
*/
|
||||
_GLOBAL(memset)
|
||||
rlwimi r4,r4,8,16,23
|
||||
rlwimi r4,r4,16,0,15
|
||||
|
||||
addi r6,r3,-4
|
||||
cmplwi 0,r5,4
|
||||
blt 7f
|
||||
@ -80,7 +86,29 @@ _GLOBAL(memset)
|
||||
andi. r0,r6,3
|
||||
add r5,r0,r5
|
||||
subf r6,r0,r6
|
||||
srwi r0,r5,2
|
||||
cmplwi 0,r4,0
|
||||
bne 2f /* Use normal procedure if r4 is not zero */
|
||||
|
||||
clrlwi r7,r6,32-LG_CACHELINE_BYTES
|
||||
add r8,r7,r5
|
||||
srwi r9,r8,LG_CACHELINE_BYTES
|
||||
addic. r9,r9,-1 /* total number of complete cachelines */
|
||||
ble 2f
|
||||
xori r0,r7,CACHELINE_MASK & ~3
|
||||
srwi. r0,r0,2
|
||||
beq 3f
|
||||
mtctr r0
|
||||
4: stwu r4,4(r6)
|
||||
bdnz 4b
|
||||
3: mtctr r9
|
||||
li r7,4
|
||||
10: dcbz r7,r6
|
||||
addi r6,r6,CACHELINE_BYTES
|
||||
bdnz 10b
|
||||
clrlwi r5,r8,32-LG_CACHELINE_BYTES
|
||||
addi r5,r5,4
|
||||
|
||||
2: srwi r0,r5,2
|
||||
mtctr r0
|
||||
bdz 6f
|
||||
1: stwu r4,4(r6)
|
||||
@ -94,12 +122,91 @@ _GLOBAL(memset)
|
||||
bdnz 8b
|
||||
blr
|
||||
|
||||
/*
|
||||
* This version uses dcbz on the complete cache lines in the
|
||||
* destination area to reduce memory traffic. This requires that
|
||||
* the destination area is cacheable.
|
||||
* We only use this version if the source and dest don't overlap.
|
||||
* -- paulus.
|
||||
*/
|
||||
_GLOBAL(memmove)
|
||||
cmplw 0,r3,r4
|
||||
bgt backwards_memcpy
|
||||
/* fall through */
|
||||
|
||||
_GLOBAL(memcpy)
|
||||
add r7,r3,r5 /* test if the src & dst overlap */
|
||||
add r8,r4,r5
|
||||
cmplw 0,r4,r7
|
||||
cmplw 1,r3,r8
|
||||
crand 0,0,4 /* cr0.lt &= cr1.lt */
|
||||
blt generic_memcpy /* if regions overlap */
|
||||
|
||||
addi r4,r4,-4
|
||||
addi r6,r3,-4
|
||||
neg r0,r3
|
||||
andi. r0,r0,CACHELINE_MASK /* # bytes to start of cache line */
|
||||
beq 58f
|
||||
|
||||
cmplw 0,r5,r0 /* is this more than total to do? */
|
||||
blt 63f /* if not much to do */
|
||||
andi. r8,r0,3 /* get it word-aligned first */
|
||||
subf r5,r0,r5
|
||||
mtctr r8
|
||||
beq+ 61f
|
||||
70: lbz r9,4(r4) /* do some bytes */
|
||||
addi r4,r4,1
|
||||
addi r6,r6,1
|
||||
stb r9,3(r6)
|
||||
bdnz 70b
|
||||
61: srwi. r0,r0,2
|
||||
mtctr r0
|
||||
beq 58f
|
||||
72: lwzu r9,4(r4) /* do some words */
|
||||
stwu r9,4(r6)
|
||||
bdnz 72b
|
||||
|
||||
58: srwi. r0,r5,LG_CACHELINE_BYTES /* # complete cachelines */
|
||||
clrlwi r5,r5,32-LG_CACHELINE_BYTES
|
||||
li r11,4
|
||||
mtctr r0
|
||||
beq 63f
|
||||
53:
|
||||
dcbz r11,r6
|
||||
COPY_16_BYTES
|
||||
#if L1_CACHE_BYTES >= 32
|
||||
COPY_16_BYTES
|
||||
#if L1_CACHE_BYTES >= 64
|
||||
COPY_16_BYTES
|
||||
COPY_16_BYTES
|
||||
#if L1_CACHE_BYTES >= 128
|
||||
COPY_16_BYTES
|
||||
COPY_16_BYTES
|
||||
COPY_16_BYTES
|
||||
COPY_16_BYTES
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
bdnz 53b
|
||||
|
||||
63: srwi. r0,r5,2
|
||||
mtctr r0
|
||||
beq 64f
|
||||
30: lwzu r0,4(r4)
|
||||
stwu r0,4(r6)
|
||||
bdnz 30b
|
||||
|
||||
64: andi. r0,r5,3
|
||||
mtctr r0
|
||||
beq+ 65f
|
||||
addi r4,r4,3
|
||||
addi r6,r6,3
|
||||
40: lbzu r0,1(r4)
|
||||
stbu r0,1(r6)
|
||||
bdnz 40b
|
||||
65: blr
|
||||
|
||||
_GLOBAL(generic_memcpy)
|
||||
srwi. r7,r5,3
|
||||
addi r6,r3,-4
|
||||
addi r4,r4,-4
|
||||
|
@ -112,7 +112,7 @@ static void settlbcam(int index, unsigned long virt, phys_addr_t phys,
|
||||
|
||||
tsize = __ilog2(size) - 10;
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
#if defined(CONFIG_SMP) || defined(CONFIG_PPC_E500MC)
|
||||
if ((flags & _PAGE_NO_CACHE) == 0)
|
||||
flags |= _PAGE_COHERENT;
|
||||
#endif
|
||||
|
@ -414,17 +414,17 @@ void flush_dcache_icache_page(struct page *page)
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
#ifdef CONFIG_BOOKE
|
||||
{
|
||||
#if defined(CONFIG_8xx) || defined(CONFIG_PPC64)
|
||||
/* On 8xx there is no need to kmap since highmem is not supported */
|
||||
__flush_dcache_icache(page_address(page));
|
||||
#else
|
||||
if (IS_ENABLED(CONFIG_BOOKE) || sizeof(phys_addr_t) > sizeof(void *)) {
|
||||
void *start = kmap_atomic(page);
|
||||
__flush_dcache_icache(start);
|
||||
kunmap_atomic(start);
|
||||
} else {
|
||||
__flush_dcache_icache_phys(page_to_pfn(page) << PAGE_SHIFT);
|
||||
}
|
||||
#elif defined(CONFIG_8xx) || defined(CONFIG_PPC64)
|
||||
/* On 8xx there is no need to kmap since highmem is not supported */
|
||||
__flush_dcache_icache(page_address(page));
|
||||
#else
|
||||
__flush_dcache_icache_phys(page_to_pfn(page) << PAGE_SHIFT);
|
||||
#endif
|
||||
}
|
||||
EXPORT_SYMBOL(flush_dcache_icache_page);
|
||||
|
@ -149,17 +149,7 @@ int map_kernel_page(unsigned long ea, unsigned long pa, int flags)
|
||||
#endif /* !CONFIG_PPC_MMU_NOHASH */
|
||||
}
|
||||
|
||||
#ifdef CONFIG_PPC_BOOK3E_64
|
||||
/*
|
||||
* With hardware tablewalk, a sync is needed to ensure that
|
||||
* subsequent accesses see the PTE we just wrote. Unlike userspace
|
||||
* mappings, we can't tolerate spurious faults, so make sure
|
||||
* the new PTE will be seen the first time.
|
||||
*/
|
||||
mb();
|
||||
#else
|
||||
smp_wmb();
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -308,11 +308,11 @@ BEGIN_FTR_SECTION /* CPU_FTR_SMT */
|
||||
*
|
||||
* MAS6:IND should be already set based on MAS4
|
||||
*/
|
||||
1: lbarx r15,0,r11
|
||||
lhz r10,PACAPACAINDEX(r13)
|
||||
cmpdi r15,0
|
||||
cmpdi cr1,r15,1 /* set cr1.eq = 0 for non-recursive */
|
||||
addi r10,r10,1
|
||||
crclr cr1*4+eq /* set cr1.eq = 0 for non-recursive */
|
||||
1: lbarx r15,0,r11
|
||||
cmpdi r15,0
|
||||
bne 2f
|
||||
stbcx. r10,0,r11
|
||||
bne 1b
|
||||
@ -320,9 +320,9 @@ BEGIN_FTR_SECTION /* CPU_FTR_SMT */
|
||||
.subsection 1
|
||||
2: cmpd cr1,r15,r10 /* recursive lock due to mcheck/crit/etc? */
|
||||
beq cr1,3b /* unlock will happen if cr1.eq = 0 */
|
||||
lbz r15,0(r11)
|
||||
10: lbz r15,0(r11)
|
||||
cmpdi r15,0
|
||||
bne 2b
|
||||
bne 10b
|
||||
b 1b
|
||||
.previous
|
||||
|
||||
|
@ -66,10 +66,6 @@ define_machine(c293_pcie) {
|
||||
.probe = c293_pcie_probe,
|
||||
.setup_arch = c293_pcie_setup_arch,
|
||||
.init_IRQ = c293_pcie_pic_init,
|
||||
#ifdef CONFIG_PCI
|
||||
.pcibios_fixup_bus = fsl_pcibios_fixup_bus,
|
||||
.pcibios_fixup_phb = fsl_pcibios_fixup_phb,
|
||||
#endif
|
||||
.get_irq = mpic_get_irq,
|
||||
.restart = fsl_rstcr_restart,
|
||||
.calibrate_decr = generic_calibrate_decr,
|
||||
|
@ -153,6 +153,8 @@ static const char * const boards[] __initconst = {
|
||||
"fsl,T1023RDB",
|
||||
"fsl,T1024QDS",
|
||||
"fsl,T1024RDB",
|
||||
"fsl,T1040D4RDB",
|
||||
"fsl,T1042D4RDB",
|
||||
"fsl,T1040QDS",
|
||||
"fsl,T1042QDS",
|
||||
"fsl,T1040RDB",
|
||||
|
@ -147,7 +147,7 @@ unsigned long cpm_muram_alloc(unsigned long size, unsigned long align)
|
||||
spin_lock_irqsave(&cpm_muram_lock, flags);
|
||||
cpm_muram_info.alignment = align;
|
||||
start = rh_alloc(&cpm_muram_info, size, "commproc");
|
||||
memset(cpm_muram_addr(start), 0, size);
|
||||
memset_io(cpm_muram_addr(start), 0, size);
|
||||
spin_unlock_irqrestore(&cpm_muram_lock, flags);
|
||||
|
||||
return start;
|
||||
|
@ -62,7 +62,7 @@ int fsl_ifc_find(phys_addr_t addr_base)
|
||||
return -ENODEV;
|
||||
|
||||
for (i = 0; i < fsl_ifc_ctrl_dev->banks; i++) {
|
||||
u32 cspr = in_be32(&fsl_ifc_ctrl_dev->regs->cspr_cs[i].cspr);
|
||||
u32 cspr = ifc_in32(&fsl_ifc_ctrl_dev->regs->cspr_cs[i].cspr);
|
||||
if (cspr & CSPR_V && (cspr & CSPR_BA) ==
|
||||
convert_ifc_address(addr_base))
|
||||
return i;
|
||||
@ -79,16 +79,16 @@ static int fsl_ifc_ctrl_init(struct fsl_ifc_ctrl *ctrl)
|
||||
/*
|
||||
* Clear all the common status and event registers
|
||||
*/
|
||||
if (in_be32(&ifc->cm_evter_stat) & IFC_CM_EVTER_STAT_CSER)
|
||||
out_be32(&ifc->cm_evter_stat, IFC_CM_EVTER_STAT_CSER);
|
||||
if (ifc_in32(&ifc->cm_evter_stat) & IFC_CM_EVTER_STAT_CSER)
|
||||
ifc_out32(IFC_CM_EVTER_STAT_CSER, &ifc->cm_evter_stat);
|
||||
|
||||
/* enable all error and events */
|
||||
out_be32(&ifc->cm_evter_en, IFC_CM_EVTER_EN_CSEREN);
|
||||
ifc_out32(IFC_CM_EVTER_EN_CSEREN, &ifc->cm_evter_en);
|
||||
|
||||
/* enable all error and event interrupts */
|
||||
out_be32(&ifc->cm_evter_intr_en, IFC_CM_EVTER_INTR_EN_CSERIREN);
|
||||
out_be32(&ifc->cm_erattr0, 0x0);
|
||||
out_be32(&ifc->cm_erattr1, 0x0);
|
||||
ifc_out32(IFC_CM_EVTER_INTR_EN_CSERIREN, &ifc->cm_evter_intr_en);
|
||||
ifc_out32(0x0, &ifc->cm_erattr0);
|
||||
ifc_out32(0x0, &ifc->cm_erattr1);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@ -127,9 +127,9 @@ static u32 check_nand_stat(struct fsl_ifc_ctrl *ctrl)
|
||||
|
||||
spin_lock_irqsave(&nand_irq_lock, flags);
|
||||
|
||||
stat = in_be32(&ifc->ifc_nand.nand_evter_stat);
|
||||
stat = ifc_in32(&ifc->ifc_nand.nand_evter_stat);
|
||||
if (stat) {
|
||||
out_be32(&ifc->ifc_nand.nand_evter_stat, stat);
|
||||
ifc_out32(stat, &ifc->ifc_nand.nand_evter_stat);
|
||||
ctrl->nand_stat = stat;
|
||||
wake_up(&ctrl->nand_wait);
|
||||
}
|
||||
@ -161,16 +161,16 @@ static irqreturn_t fsl_ifc_ctrl_irq(int irqno, void *data)
|
||||
irqreturn_t ret = IRQ_NONE;
|
||||
|
||||
/* read for chip select error */
|
||||
cs_err = in_be32(&ifc->cm_evter_stat);
|
||||
cs_err = ifc_in32(&ifc->cm_evter_stat);
|
||||
if (cs_err) {
|
||||
dev_err(ctrl->dev, "transaction sent to IFC is not mapped to"
|
||||
"any memory bank 0x%08X\n", cs_err);
|
||||
/* clear the chip select error */
|
||||
out_be32(&ifc->cm_evter_stat, IFC_CM_EVTER_STAT_CSER);
|
||||
ifc_out32(IFC_CM_EVTER_STAT_CSER, &ifc->cm_evter_stat);
|
||||
|
||||
/* read error attribute registers print the error information */
|
||||
status = in_be32(&ifc->cm_erattr0);
|
||||
err_addr = in_be32(&ifc->cm_erattr1);
|
||||
status = ifc_in32(&ifc->cm_erattr0);
|
||||
err_addr = ifc_in32(&ifc->cm_erattr1);
|
||||
|
||||
if (status & IFC_CM_ERATTR0_ERTYP_READ)
|
||||
dev_err(ctrl->dev, "Read transaction error"
|
||||
@ -231,6 +231,23 @@ static int fsl_ifc_ctrl_probe(struct platform_device *dev)
|
||||
goto err;
|
||||
}
|
||||
|
||||
version = ifc_in32(&fsl_ifc_ctrl_dev->regs->ifc_rev) &
|
||||
FSL_IFC_VERSION_MASK;
|
||||
banks = (version == FSL_IFC_VERSION_1_0_0) ? 4 : 8;
|
||||
dev_info(&dev->dev, "IFC version %d.%d, %d banks\n",
|
||||
version >> 24, (version >> 16) & 0xf, banks);
|
||||
|
||||
fsl_ifc_ctrl_dev->version = version;
|
||||
fsl_ifc_ctrl_dev->banks = banks;
|
||||
|
||||
if (of_property_read_bool(dev->dev.of_node, "little-endian")) {
|
||||
fsl_ifc_ctrl_dev->little_endian = true;
|
||||
dev_dbg(&dev->dev, "IFC REGISTERS are LITTLE endian\n");
|
||||
} else {
|
||||
fsl_ifc_ctrl_dev->little_endian = false;
|
||||
dev_dbg(&dev->dev, "IFC REGISTERS are BIG endian\n");
|
||||
}
|
||||
|
||||
version = ioread32be(&fsl_ifc_ctrl_dev->regs->ifc_rev) &
|
||||
FSL_IFC_VERSION_MASK;
|
||||
banks = (version == FSL_IFC_VERSION_1_0_0) ? 4 : 8;
|
||||
|
@ -238,8 +238,8 @@ static void set_addr(struct mtd_info *mtd, int column, int page_addr, int oob)
|
||||
|
||||
ifc_nand_ctrl->page = page_addr;
|
||||
/* Program ROW0/COL0 */
|
||||
iowrite32be(page_addr, &ifc->ifc_nand.row0);
|
||||
iowrite32be((oob ? IFC_NAND_COL_MS : 0) | column, &ifc->ifc_nand.col0);
|
||||
ifc_out32(page_addr, &ifc->ifc_nand.row0);
|
||||
ifc_out32((oob ? IFC_NAND_COL_MS : 0) | column, &ifc->ifc_nand.col0);
|
||||
|
||||
buf_num = page_addr & priv->bufnum_mask;
|
||||
|
||||
@ -301,19 +301,19 @@ static void fsl_ifc_run_command(struct mtd_info *mtd)
|
||||
int i;
|
||||
|
||||
/* set the chip select for NAND Transaction */
|
||||
iowrite32be(priv->bank << IFC_NAND_CSEL_SHIFT,
|
||||
&ifc->ifc_nand.nand_csel);
|
||||
ifc_out32(priv->bank << IFC_NAND_CSEL_SHIFT,
|
||||
&ifc->ifc_nand.nand_csel);
|
||||
|
||||
dev_vdbg(priv->dev,
|
||||
"%s: fir0=%08x fcr0=%08x\n",
|
||||
__func__,
|
||||
ioread32be(&ifc->ifc_nand.nand_fir0),
|
||||
ioread32be(&ifc->ifc_nand.nand_fcr0));
|
||||
ifc_in32(&ifc->ifc_nand.nand_fir0),
|
||||
ifc_in32(&ifc->ifc_nand.nand_fcr0));
|
||||
|
||||
ctrl->nand_stat = 0;
|
||||
|
||||
/* start read/write seq */
|
||||
iowrite32be(IFC_NAND_SEQ_STRT_FIR_STRT, &ifc->ifc_nand.nandseq_strt);
|
||||
ifc_out32(IFC_NAND_SEQ_STRT_FIR_STRT, &ifc->ifc_nand.nandseq_strt);
|
||||
|
||||
/* wait for command complete flag or timeout */
|
||||
wait_event_timeout(ctrl->nand_wait, ctrl->nand_stat,
|
||||
@ -336,7 +336,7 @@ static void fsl_ifc_run_command(struct mtd_info *mtd)
|
||||
int sector_end = sector + chip->ecc.steps - 1;
|
||||
|
||||
for (i = sector / 4; i <= sector_end / 4; i++)
|
||||
eccstat[i] = ioread32be(&ifc->ifc_nand.nand_eccstat[i]);
|
||||
eccstat[i] = ifc_in32(&ifc->ifc_nand.nand_eccstat[i]);
|
||||
|
||||
for (i = sector; i <= sector_end; i++) {
|
||||
errors = check_read_ecc(mtd, ctrl, eccstat, i);
|
||||
@ -376,33 +376,33 @@ static void fsl_ifc_do_read(struct nand_chip *chip,
|
||||
|
||||
/* Program FIR/IFC_NAND_FCR0 for Small/Large page */
|
||||
if (mtd->writesize > 512) {
|
||||
iowrite32be((IFC_FIR_OP_CW0 << IFC_NAND_FIR0_OP0_SHIFT) |
|
||||
(IFC_FIR_OP_CA0 << IFC_NAND_FIR0_OP1_SHIFT) |
|
||||
(IFC_FIR_OP_RA0 << IFC_NAND_FIR0_OP2_SHIFT) |
|
||||
(IFC_FIR_OP_CMD1 << IFC_NAND_FIR0_OP3_SHIFT) |
|
||||
(IFC_FIR_OP_RBCD << IFC_NAND_FIR0_OP4_SHIFT),
|
||||
&ifc->ifc_nand.nand_fir0);
|
||||
iowrite32be(0x0, &ifc->ifc_nand.nand_fir1);
|
||||
ifc_out32((IFC_FIR_OP_CW0 << IFC_NAND_FIR0_OP0_SHIFT) |
|
||||
(IFC_FIR_OP_CA0 << IFC_NAND_FIR0_OP1_SHIFT) |
|
||||
(IFC_FIR_OP_RA0 << IFC_NAND_FIR0_OP2_SHIFT) |
|
||||
(IFC_FIR_OP_CMD1 << IFC_NAND_FIR0_OP3_SHIFT) |
|
||||
(IFC_FIR_OP_RBCD << IFC_NAND_FIR0_OP4_SHIFT),
|
||||
&ifc->ifc_nand.nand_fir0);
|
||||
ifc_out32(0x0, &ifc->ifc_nand.nand_fir1);
|
||||
|
||||
iowrite32be((NAND_CMD_READ0 << IFC_NAND_FCR0_CMD0_SHIFT) |
|
||||
(NAND_CMD_READSTART << IFC_NAND_FCR0_CMD1_SHIFT),
|
||||
&ifc->ifc_nand.nand_fcr0);
|
||||
ifc_out32((NAND_CMD_READ0 << IFC_NAND_FCR0_CMD0_SHIFT) |
|
||||
(NAND_CMD_READSTART << IFC_NAND_FCR0_CMD1_SHIFT),
|
||||
&ifc->ifc_nand.nand_fcr0);
|
||||
} else {
|
||||
iowrite32be((IFC_FIR_OP_CW0 << IFC_NAND_FIR0_OP0_SHIFT) |
|
||||
(IFC_FIR_OP_CA0 << IFC_NAND_FIR0_OP1_SHIFT) |
|
||||
(IFC_FIR_OP_RA0 << IFC_NAND_FIR0_OP2_SHIFT) |
|
||||
(IFC_FIR_OP_RBCD << IFC_NAND_FIR0_OP3_SHIFT),
|
||||
&ifc->ifc_nand.nand_fir0);
|
||||
iowrite32be(0x0, &ifc->ifc_nand.nand_fir1);
|
||||
ifc_out32((IFC_FIR_OP_CW0 << IFC_NAND_FIR0_OP0_SHIFT) |
|
||||
(IFC_FIR_OP_CA0 << IFC_NAND_FIR0_OP1_SHIFT) |
|
||||
(IFC_FIR_OP_RA0 << IFC_NAND_FIR0_OP2_SHIFT) |
|
||||
(IFC_FIR_OP_RBCD << IFC_NAND_FIR0_OP3_SHIFT),
|
||||
&ifc->ifc_nand.nand_fir0);
|
||||
ifc_out32(0x0, &ifc->ifc_nand.nand_fir1);
|
||||
|
||||
if (oob)
|
||||
iowrite32be(NAND_CMD_READOOB <<
|
||||
IFC_NAND_FCR0_CMD0_SHIFT,
|
||||
&ifc->ifc_nand.nand_fcr0);
|
||||
ifc_out32(NAND_CMD_READOOB <<
|
||||
IFC_NAND_FCR0_CMD0_SHIFT,
|
||||
&ifc->ifc_nand.nand_fcr0);
|
||||
else
|
||||
iowrite32be(NAND_CMD_READ0 <<
|
||||
IFC_NAND_FCR0_CMD0_SHIFT,
|
||||
&ifc->ifc_nand.nand_fcr0);
|
||||
ifc_out32(NAND_CMD_READ0 <<
|
||||
IFC_NAND_FCR0_CMD0_SHIFT,
|
||||
&ifc->ifc_nand.nand_fcr0);
|
||||
}
|
||||
}
|
||||
|
||||
@ -422,7 +422,7 @@ static void fsl_ifc_cmdfunc(struct mtd_info *mtd, unsigned int command,
|
||||
switch (command) {
|
||||
/* READ0 read the entire buffer to use hardware ECC. */
|
||||
case NAND_CMD_READ0:
|
||||
iowrite32be(0, &ifc->ifc_nand.nand_fbcr);
|
||||
ifc_out32(0, &ifc->ifc_nand.nand_fbcr);
|
||||
set_addr(mtd, 0, page_addr, 0);
|
||||
|
||||
ifc_nand_ctrl->read_bytes = mtd->writesize + mtd->oobsize;
|
||||
@ -437,7 +437,7 @@ static void fsl_ifc_cmdfunc(struct mtd_info *mtd, unsigned int command,
|
||||
|
||||
/* READOOB reads only the OOB because no ECC is performed. */
|
||||
case NAND_CMD_READOOB:
|
||||
iowrite32be(mtd->oobsize - column, &ifc->ifc_nand.nand_fbcr);
|
||||
ifc_out32(mtd->oobsize - column, &ifc->ifc_nand.nand_fbcr);
|
||||
set_addr(mtd, column, page_addr, 1);
|
||||
|
||||
ifc_nand_ctrl->read_bytes = mtd->writesize + mtd->oobsize;
|
||||
@ -453,19 +453,19 @@ static void fsl_ifc_cmdfunc(struct mtd_info *mtd, unsigned int command,
|
||||
if (command == NAND_CMD_PARAM)
|
||||
timing = IFC_FIR_OP_RBCD;
|
||||
|
||||
iowrite32be((IFC_FIR_OP_CW0 << IFC_NAND_FIR0_OP0_SHIFT) |
|
||||
(IFC_FIR_OP_UA << IFC_NAND_FIR0_OP1_SHIFT) |
|
||||
(timing << IFC_NAND_FIR0_OP2_SHIFT),
|
||||
&ifc->ifc_nand.nand_fir0);
|
||||
iowrite32be(command << IFC_NAND_FCR0_CMD0_SHIFT,
|
||||
&ifc->ifc_nand.nand_fcr0);
|
||||
iowrite32be(column, &ifc->ifc_nand.row3);
|
||||
ifc_out32((IFC_FIR_OP_CW0 << IFC_NAND_FIR0_OP0_SHIFT) |
|
||||
(IFC_FIR_OP_UA << IFC_NAND_FIR0_OP1_SHIFT) |
|
||||
(timing << IFC_NAND_FIR0_OP2_SHIFT),
|
||||
&ifc->ifc_nand.nand_fir0);
|
||||
ifc_out32(command << IFC_NAND_FCR0_CMD0_SHIFT,
|
||||
&ifc->ifc_nand.nand_fcr0);
|
||||
ifc_out32(column, &ifc->ifc_nand.row3);
|
||||
|
||||
/*
|
||||
* although currently it's 8 bytes for READID, we always read
|
||||
* the maximum 256 bytes(for PARAM)
|
||||
*/
|
||||
iowrite32be(256, &ifc->ifc_nand.nand_fbcr);
|
||||
ifc_out32(256, &ifc->ifc_nand.nand_fbcr);
|
||||
ifc_nand_ctrl->read_bytes = 256;
|
||||
|
||||
set_addr(mtd, 0, 0, 0);
|
||||
@ -480,16 +480,16 @@ static void fsl_ifc_cmdfunc(struct mtd_info *mtd, unsigned int command,
|
||||
|
||||
/* ERASE2 uses the block and page address from ERASE1 */
|
||||
case NAND_CMD_ERASE2:
|
||||
iowrite32be((IFC_FIR_OP_CW0 << IFC_NAND_FIR0_OP0_SHIFT) |
|
||||
(IFC_FIR_OP_RA0 << IFC_NAND_FIR0_OP1_SHIFT) |
|
||||
(IFC_FIR_OP_CMD1 << IFC_NAND_FIR0_OP2_SHIFT),
|
||||
&ifc->ifc_nand.nand_fir0);
|
||||
ifc_out32((IFC_FIR_OP_CW0 << IFC_NAND_FIR0_OP0_SHIFT) |
|
||||
(IFC_FIR_OP_RA0 << IFC_NAND_FIR0_OP1_SHIFT) |
|
||||
(IFC_FIR_OP_CMD1 << IFC_NAND_FIR0_OP2_SHIFT),
|
||||
&ifc->ifc_nand.nand_fir0);
|
||||
|
||||
iowrite32be((NAND_CMD_ERASE1 << IFC_NAND_FCR0_CMD0_SHIFT) |
|
||||
(NAND_CMD_ERASE2 << IFC_NAND_FCR0_CMD1_SHIFT),
|
||||
&ifc->ifc_nand.nand_fcr0);
|
||||
ifc_out32((NAND_CMD_ERASE1 << IFC_NAND_FCR0_CMD0_SHIFT) |
|
||||
(NAND_CMD_ERASE2 << IFC_NAND_FCR0_CMD1_SHIFT),
|
||||
&ifc->ifc_nand.nand_fcr0);
|
||||
|
||||
iowrite32be(0, &ifc->ifc_nand.nand_fbcr);
|
||||
ifc_out32(0, &ifc->ifc_nand.nand_fbcr);
|
||||
ifc_nand_ctrl->read_bytes = 0;
|
||||
fsl_ifc_run_command(mtd);
|
||||
return;
|
||||
@ -506,19 +506,18 @@ static void fsl_ifc_cmdfunc(struct mtd_info *mtd, unsigned int command,
|
||||
(NAND_CMD_STATUS << IFC_NAND_FCR0_CMD1_SHIFT) |
|
||||
(NAND_CMD_PAGEPROG << IFC_NAND_FCR0_CMD2_SHIFT);
|
||||
|
||||
iowrite32be(
|
||||
(IFC_FIR_OP_CW0 << IFC_NAND_FIR0_OP0_SHIFT) |
|
||||
(IFC_FIR_OP_CA0 << IFC_NAND_FIR0_OP1_SHIFT) |
|
||||
(IFC_FIR_OP_RA0 << IFC_NAND_FIR0_OP2_SHIFT) |
|
||||
(IFC_FIR_OP_WBCD << IFC_NAND_FIR0_OP3_SHIFT) |
|
||||
(IFC_FIR_OP_CMD2 << IFC_NAND_FIR0_OP4_SHIFT),
|
||||
&ifc->ifc_nand.nand_fir0);
|
||||
iowrite32be(
|
||||
(IFC_FIR_OP_CW1 << IFC_NAND_FIR1_OP5_SHIFT) |
|
||||
(IFC_FIR_OP_RDSTAT <<
|
||||
IFC_NAND_FIR1_OP6_SHIFT) |
|
||||
(IFC_FIR_OP_NOP << IFC_NAND_FIR1_OP7_SHIFT),
|
||||
&ifc->ifc_nand.nand_fir1);
|
||||
ifc_out32(
|
||||
(IFC_FIR_OP_CW0 << IFC_NAND_FIR0_OP0_SHIFT) |
|
||||
(IFC_FIR_OP_CA0 << IFC_NAND_FIR0_OP1_SHIFT) |
|
||||
(IFC_FIR_OP_RA0 << IFC_NAND_FIR0_OP2_SHIFT) |
|
||||
(IFC_FIR_OP_WBCD << IFC_NAND_FIR0_OP3_SHIFT) |
|
||||
(IFC_FIR_OP_CMD2 << IFC_NAND_FIR0_OP4_SHIFT),
|
||||
&ifc->ifc_nand.nand_fir0);
|
||||
ifc_out32(
|
||||
(IFC_FIR_OP_CW1 << IFC_NAND_FIR1_OP5_SHIFT) |
|
||||
(IFC_FIR_OP_RDSTAT << IFC_NAND_FIR1_OP6_SHIFT) |
|
||||
(IFC_FIR_OP_NOP << IFC_NAND_FIR1_OP7_SHIFT),
|
||||
&ifc->ifc_nand.nand_fir1);
|
||||
} else {
|
||||
nand_fcr0 = ((NAND_CMD_PAGEPROG <<
|
||||
IFC_NAND_FCR0_CMD1_SHIFT) |
|
||||
@ -527,20 +526,19 @@ static void fsl_ifc_cmdfunc(struct mtd_info *mtd, unsigned int command,
|
||||
(NAND_CMD_STATUS <<
|
||||
IFC_NAND_FCR0_CMD3_SHIFT));
|
||||
|
||||
iowrite32be(
|
||||
ifc_out32(
|
||||
(IFC_FIR_OP_CW0 << IFC_NAND_FIR0_OP0_SHIFT) |
|
||||
(IFC_FIR_OP_CMD2 << IFC_NAND_FIR0_OP1_SHIFT) |
|
||||
(IFC_FIR_OP_CA0 << IFC_NAND_FIR0_OP2_SHIFT) |
|
||||
(IFC_FIR_OP_RA0 << IFC_NAND_FIR0_OP3_SHIFT) |
|
||||
(IFC_FIR_OP_WBCD << IFC_NAND_FIR0_OP4_SHIFT),
|
||||
&ifc->ifc_nand.nand_fir0);
|
||||
iowrite32be(
|
||||
(IFC_FIR_OP_CMD1 << IFC_NAND_FIR1_OP5_SHIFT) |
|
||||
(IFC_FIR_OP_CW3 << IFC_NAND_FIR1_OP6_SHIFT) |
|
||||
(IFC_FIR_OP_RDSTAT <<
|
||||
IFC_NAND_FIR1_OP7_SHIFT) |
|
||||
(IFC_FIR_OP_NOP << IFC_NAND_FIR1_OP8_SHIFT),
|
||||
&ifc->ifc_nand.nand_fir1);
|
||||
ifc_out32(
|
||||
(IFC_FIR_OP_CMD1 << IFC_NAND_FIR1_OP5_SHIFT) |
|
||||
(IFC_FIR_OP_CW3 << IFC_NAND_FIR1_OP6_SHIFT) |
|
||||
(IFC_FIR_OP_RDSTAT << IFC_NAND_FIR1_OP7_SHIFT) |
|
||||
(IFC_FIR_OP_NOP << IFC_NAND_FIR1_OP8_SHIFT),
|
||||
&ifc->ifc_nand.nand_fir1);
|
||||
|
||||
if (column >= mtd->writesize)
|
||||
nand_fcr0 |=
|
||||
@ -555,7 +553,7 @@ static void fsl_ifc_cmdfunc(struct mtd_info *mtd, unsigned int command,
|
||||
column -= mtd->writesize;
|
||||
ifc_nand_ctrl->oob = 1;
|
||||
}
|
||||
iowrite32be(nand_fcr0, &ifc->ifc_nand.nand_fcr0);
|
||||
ifc_out32(nand_fcr0, &ifc->ifc_nand.nand_fcr0);
|
||||
set_addr(mtd, column, page_addr, ifc_nand_ctrl->oob);
|
||||
return;
|
||||
}
|
||||
@ -563,24 +561,26 @@ static void fsl_ifc_cmdfunc(struct mtd_info *mtd, unsigned int command,
|
||||
/* PAGEPROG reuses all of the setup from SEQIN and adds the length */
|
||||
case NAND_CMD_PAGEPROG: {
|
||||
if (ifc_nand_ctrl->oob) {
|
||||
iowrite32be(ifc_nand_ctrl->index -
|
||||
ifc_nand_ctrl->column,
|
||||
&ifc->ifc_nand.nand_fbcr);
|
||||
ifc_out32(ifc_nand_ctrl->index -
|
||||
ifc_nand_ctrl->column,
|
||||
&ifc->ifc_nand.nand_fbcr);
|
||||
} else {
|
||||
iowrite32be(0, &ifc->ifc_nand.nand_fbcr);
|
||||
ifc_out32(0, &ifc->ifc_nand.nand_fbcr);
|
||||
}
|
||||
|
||||
fsl_ifc_run_command(mtd);
|
||||
return;
|
||||
}
|
||||
|
||||
case NAND_CMD_STATUS:
|
||||
iowrite32be((IFC_FIR_OP_CW0 << IFC_NAND_FIR0_OP0_SHIFT) |
|
||||
(IFC_FIR_OP_RB << IFC_NAND_FIR0_OP1_SHIFT),
|
||||
&ifc->ifc_nand.nand_fir0);
|
||||
iowrite32be(NAND_CMD_STATUS << IFC_NAND_FCR0_CMD0_SHIFT,
|
||||
&ifc->ifc_nand.nand_fcr0);
|
||||
iowrite32be(1, &ifc->ifc_nand.nand_fbcr);
|
||||
case NAND_CMD_STATUS: {
|
||||
void __iomem *addr;
|
||||
|
||||
ifc_out32((IFC_FIR_OP_CW0 << IFC_NAND_FIR0_OP0_SHIFT) |
|
||||
(IFC_FIR_OP_RB << IFC_NAND_FIR0_OP1_SHIFT),
|
||||
&ifc->ifc_nand.nand_fir0);
|
||||
ifc_out32(NAND_CMD_STATUS << IFC_NAND_FCR0_CMD0_SHIFT,
|
||||
&ifc->ifc_nand.nand_fcr0);
|
||||
ifc_out32(1, &ifc->ifc_nand.nand_fbcr);
|
||||
set_addr(mtd, 0, 0, 0);
|
||||
ifc_nand_ctrl->read_bytes = 1;
|
||||
|
||||
@ -590,17 +590,19 @@ static void fsl_ifc_cmdfunc(struct mtd_info *mtd, unsigned int command,
|
||||
* The chip always seems to report that it is
|
||||
* write-protected, even when it is not.
|
||||
*/
|
||||
addr = ifc_nand_ctrl->addr;
|
||||
if (chip->options & NAND_BUSWIDTH_16)
|
||||
setbits16(ifc_nand_ctrl->addr, NAND_STATUS_WP);
|
||||
ifc_out16(ifc_in16(addr) | (NAND_STATUS_WP), addr);
|
||||
else
|
||||
setbits8(ifc_nand_ctrl->addr, NAND_STATUS_WP);
|
||||
ifc_out8(ifc_in8(addr) | (NAND_STATUS_WP), addr);
|
||||
return;
|
||||
}
|
||||
|
||||
case NAND_CMD_RESET:
|
||||
iowrite32be(IFC_FIR_OP_CW0 << IFC_NAND_FIR0_OP0_SHIFT,
|
||||
&ifc->ifc_nand.nand_fir0);
|
||||
iowrite32be(NAND_CMD_RESET << IFC_NAND_FCR0_CMD0_SHIFT,
|
||||
&ifc->ifc_nand.nand_fcr0);
|
||||
ifc_out32(IFC_FIR_OP_CW0 << IFC_NAND_FIR0_OP0_SHIFT,
|
||||
&ifc->ifc_nand.nand_fir0);
|
||||
ifc_out32(NAND_CMD_RESET << IFC_NAND_FCR0_CMD0_SHIFT,
|
||||
&ifc->ifc_nand.nand_fcr0);
|
||||
fsl_ifc_run_command(mtd);
|
||||
return;
|
||||
|
||||
@ -658,7 +660,7 @@ static uint8_t fsl_ifc_read_byte(struct mtd_info *mtd)
|
||||
*/
|
||||
if (ifc_nand_ctrl->index < ifc_nand_ctrl->read_bytes) {
|
||||
offset = ifc_nand_ctrl->index++;
|
||||
return in_8(ifc_nand_ctrl->addr + offset);
|
||||
return ifc_in8(ifc_nand_ctrl->addr + offset);
|
||||
}
|
||||
|
||||
dev_err(priv->dev, "%s: beyond end of buffer\n", __func__);
|
||||
@ -680,7 +682,7 @@ static uint8_t fsl_ifc_read_byte16(struct mtd_info *mtd)
|
||||
* next byte.
|
||||
*/
|
||||
if (ifc_nand_ctrl->index < ifc_nand_ctrl->read_bytes) {
|
||||
data = in_be16(ifc_nand_ctrl->addr + ifc_nand_ctrl->index);
|
||||
data = ifc_in16(ifc_nand_ctrl->addr + ifc_nand_ctrl->index);
|
||||
ifc_nand_ctrl->index += 2;
|
||||
return (uint8_t) data;
|
||||
}
|
||||
@ -726,18 +728,18 @@ static int fsl_ifc_wait(struct mtd_info *mtd, struct nand_chip *chip)
|
||||
u32 nand_fsr;
|
||||
|
||||
/* Use READ_STATUS command, but wait for the device to be ready */
|
||||
iowrite32be((IFC_FIR_OP_CW0 << IFC_NAND_FIR0_OP0_SHIFT) |
|
||||
(IFC_FIR_OP_RDSTAT << IFC_NAND_FIR0_OP1_SHIFT),
|
||||
&ifc->ifc_nand.nand_fir0);
|
||||
iowrite32be(NAND_CMD_STATUS << IFC_NAND_FCR0_CMD0_SHIFT,
|
||||
&ifc->ifc_nand.nand_fcr0);
|
||||
iowrite32be(1, &ifc->ifc_nand.nand_fbcr);
|
||||
ifc_out32((IFC_FIR_OP_CW0 << IFC_NAND_FIR0_OP0_SHIFT) |
|
||||
(IFC_FIR_OP_RDSTAT << IFC_NAND_FIR0_OP1_SHIFT),
|
||||
&ifc->ifc_nand.nand_fir0);
|
||||
ifc_out32(NAND_CMD_STATUS << IFC_NAND_FCR0_CMD0_SHIFT,
|
||||
&ifc->ifc_nand.nand_fcr0);
|
||||
ifc_out32(1, &ifc->ifc_nand.nand_fbcr);
|
||||
set_addr(mtd, 0, 0, 0);
|
||||
ifc_nand_ctrl->read_bytes = 1;
|
||||
|
||||
fsl_ifc_run_command(mtd);
|
||||
|
||||
nand_fsr = ioread32be(&ifc->ifc_nand.nand_fsr);
|
||||
nand_fsr = ifc_in32(&ifc->ifc_nand.nand_fsr);
|
||||
|
||||
/*
|
||||
* The chip always seems to report that it is
|
||||
@ -829,34 +831,34 @@ static void fsl_ifc_sram_init(struct fsl_ifc_mtd *priv)
|
||||
uint32_t cs = priv->bank;
|
||||
|
||||
/* Save CSOR and CSOR_ext */
|
||||
csor = ioread32be(&ifc->csor_cs[cs].csor);
|
||||
csor_ext = ioread32be(&ifc->csor_cs[cs].csor_ext);
|
||||
csor = ifc_in32(&ifc->csor_cs[cs].csor);
|
||||
csor_ext = ifc_in32(&ifc->csor_cs[cs].csor_ext);
|
||||
|
||||
/* chage PageSize 8K and SpareSize 1K*/
|
||||
csor_8k = (csor & ~(CSOR_NAND_PGS_MASK)) | 0x0018C000;
|
||||
iowrite32be(csor_8k, &ifc->csor_cs[cs].csor);
|
||||
iowrite32be(0x0000400, &ifc->csor_cs[cs].csor_ext);
|
||||
ifc_out32(csor_8k, &ifc->csor_cs[cs].csor);
|
||||
ifc_out32(0x0000400, &ifc->csor_cs[cs].csor_ext);
|
||||
|
||||
/* READID */
|
||||
iowrite32be((IFC_FIR_OP_CW0 << IFC_NAND_FIR0_OP0_SHIFT) |
|
||||
(IFC_FIR_OP_UA << IFC_NAND_FIR0_OP1_SHIFT) |
|
||||
(IFC_FIR_OP_RB << IFC_NAND_FIR0_OP2_SHIFT),
|
||||
&ifc->ifc_nand.nand_fir0);
|
||||
iowrite32be(NAND_CMD_READID << IFC_NAND_FCR0_CMD0_SHIFT,
|
||||
&ifc->ifc_nand.nand_fcr0);
|
||||
iowrite32be(0x0, &ifc->ifc_nand.row3);
|
||||
ifc_out32((IFC_FIR_OP_CW0 << IFC_NAND_FIR0_OP0_SHIFT) |
|
||||
(IFC_FIR_OP_UA << IFC_NAND_FIR0_OP1_SHIFT) |
|
||||
(IFC_FIR_OP_RB << IFC_NAND_FIR0_OP2_SHIFT),
|
||||
&ifc->ifc_nand.nand_fir0);
|
||||
ifc_out32(NAND_CMD_READID << IFC_NAND_FCR0_CMD0_SHIFT,
|
||||
&ifc->ifc_nand.nand_fcr0);
|
||||
ifc_out32(0x0, &ifc->ifc_nand.row3);
|
||||
|
||||
iowrite32be(0x0, &ifc->ifc_nand.nand_fbcr);
|
||||
ifc_out32(0x0, &ifc->ifc_nand.nand_fbcr);
|
||||
|
||||
/* Program ROW0/COL0 */
|
||||
iowrite32be(0x0, &ifc->ifc_nand.row0);
|
||||
iowrite32be(0x0, &ifc->ifc_nand.col0);
|
||||
ifc_out32(0x0, &ifc->ifc_nand.row0);
|
||||
ifc_out32(0x0, &ifc->ifc_nand.col0);
|
||||
|
||||
/* set the chip select for NAND Transaction */
|
||||
iowrite32be(cs << IFC_NAND_CSEL_SHIFT, &ifc->ifc_nand.nand_csel);
|
||||
ifc_out32(cs << IFC_NAND_CSEL_SHIFT, &ifc->ifc_nand.nand_csel);
|
||||
|
||||
/* start read seq */
|
||||
iowrite32be(IFC_NAND_SEQ_STRT_FIR_STRT, &ifc->ifc_nand.nandseq_strt);
|
||||
ifc_out32(IFC_NAND_SEQ_STRT_FIR_STRT, &ifc->ifc_nand.nandseq_strt);
|
||||
|
||||
/* wait for command complete flag or timeout */
|
||||
wait_event_timeout(ctrl->nand_wait, ctrl->nand_stat,
|
||||
@ -866,8 +868,8 @@ static void fsl_ifc_sram_init(struct fsl_ifc_mtd *priv)
|
||||
printk(KERN_ERR "fsl-ifc: Failed to Initialise SRAM\n");
|
||||
|
||||
/* Restore CSOR and CSOR_ext */
|
||||
iowrite32be(csor, &ifc->csor_cs[cs].csor);
|
||||
iowrite32be(csor_ext, &ifc->csor_cs[cs].csor_ext);
|
||||
ifc_out32(csor, &ifc->csor_cs[cs].csor);
|
||||
ifc_out32(csor_ext, &ifc->csor_cs[cs].csor_ext);
|
||||
}
|
||||
|
||||
static int fsl_ifc_chip_init(struct fsl_ifc_mtd *priv)
|
||||
@ -884,7 +886,7 @@ static int fsl_ifc_chip_init(struct fsl_ifc_mtd *priv)
|
||||
|
||||
/* fill in nand_chip structure */
|
||||
/* set up function call table */
|
||||
if ((ioread32be(&ifc->cspr_cs[priv->bank].cspr)) & CSPR_PORT_SIZE_16)
|
||||
if ((ifc_in32(&ifc->cspr_cs[priv->bank].cspr)) & CSPR_PORT_SIZE_16)
|
||||
chip->read_byte = fsl_ifc_read_byte16;
|
||||
else
|
||||
chip->read_byte = fsl_ifc_read_byte;
|
||||
@ -898,13 +900,13 @@ static int fsl_ifc_chip_init(struct fsl_ifc_mtd *priv)
|
||||
chip->bbt_td = &bbt_main_descr;
|
||||
chip->bbt_md = &bbt_mirror_descr;
|
||||
|
||||
iowrite32be(0x0, &ifc->ifc_nand.ncfgr);
|
||||
ifc_out32(0x0, &ifc->ifc_nand.ncfgr);
|
||||
|
||||
/* set up nand options */
|
||||
chip->bbt_options = NAND_BBT_USE_FLASH;
|
||||
chip->options = NAND_NO_SUBPAGE_WRITE;
|
||||
|
||||
if (ioread32be(&ifc->cspr_cs[priv->bank].cspr) & CSPR_PORT_SIZE_16) {
|
||||
if (ifc_in32(&ifc->cspr_cs[priv->bank].cspr) & CSPR_PORT_SIZE_16) {
|
||||
chip->read_byte = fsl_ifc_read_byte16;
|
||||
chip->options |= NAND_BUSWIDTH_16;
|
||||
} else {
|
||||
@ -917,7 +919,7 @@ static int fsl_ifc_chip_init(struct fsl_ifc_mtd *priv)
|
||||
chip->ecc.read_page = fsl_ifc_read_page;
|
||||
chip->ecc.write_page = fsl_ifc_write_page;
|
||||
|
||||
csor = ioread32be(&ifc->csor_cs[priv->bank].csor);
|
||||
csor = ifc_in32(&ifc->csor_cs[priv->bank].csor);
|
||||
|
||||
/* Hardware generates ECC per 512 Bytes */
|
||||
chip->ecc.size = 512;
|
||||
@ -1006,7 +1008,7 @@ static int fsl_ifc_chip_remove(struct fsl_ifc_mtd *priv)
|
||||
static int match_bank(struct fsl_ifc_regs __iomem *ifc, int bank,
|
||||
phys_addr_t addr)
|
||||
{
|
||||
u32 cspr = ioread32be(&ifc->cspr_cs[bank].cspr);
|
||||
u32 cspr = ifc_in32(&ifc->cspr_cs[bank].cspr);
|
||||
|
||||
if (!(cspr & CSPR_V))
|
||||
return 0;
|
||||
@ -1092,16 +1094,16 @@ static int fsl_ifc_nand_probe(struct platform_device *dev)
|
||||
|
||||
dev_set_drvdata(priv->dev, priv);
|
||||
|
||||
iowrite32be(IFC_NAND_EVTER_EN_OPC_EN |
|
||||
IFC_NAND_EVTER_EN_FTOER_EN |
|
||||
IFC_NAND_EVTER_EN_WPER_EN,
|
||||
&ifc->ifc_nand.nand_evter_en);
|
||||
ifc_out32(IFC_NAND_EVTER_EN_OPC_EN |
|
||||
IFC_NAND_EVTER_EN_FTOER_EN |
|
||||
IFC_NAND_EVTER_EN_WPER_EN,
|
||||
&ifc->ifc_nand.nand_evter_en);
|
||||
|
||||
/* enable NAND Machine Interrupts */
|
||||
iowrite32be(IFC_NAND_EVTER_INTR_OPCIR_EN |
|
||||
IFC_NAND_EVTER_INTR_FTOERIR_EN |
|
||||
IFC_NAND_EVTER_INTR_WPERIR_EN,
|
||||
&ifc->ifc_nand.nand_evter_intr_en);
|
||||
ifc_out32(IFC_NAND_EVTER_INTR_OPCIR_EN |
|
||||
IFC_NAND_EVTER_INTR_FTOERIR_EN |
|
||||
IFC_NAND_EVTER_INTR_WPERIR_EN,
|
||||
&ifc->ifc_nand.nand_evter_intr_en);
|
||||
priv->mtd.name = kasprintf(GFP_KERNEL, "%llx.flash", (u64)res.start);
|
||||
if (!priv->mtd.name) {
|
||||
ret = -ENOMEM;
|
||||
|
@ -841,9 +841,59 @@ struct fsl_ifc_ctrl {
|
||||
|
||||
u32 nand_stat;
|
||||
wait_queue_head_t nand_wait;
|
||||
bool little_endian;
|
||||
};
|
||||
|
||||
extern struct fsl_ifc_ctrl *fsl_ifc_ctrl_dev;
|
||||
|
||||
static inline u32 ifc_in32(void __iomem *addr)
|
||||
{
|
||||
u32 val;
|
||||
|
||||
if (fsl_ifc_ctrl_dev->little_endian)
|
||||
val = ioread32(addr);
|
||||
else
|
||||
val = ioread32be(addr);
|
||||
|
||||
return val;
|
||||
}
|
||||
|
||||
static inline u16 ifc_in16(void __iomem *addr)
|
||||
{
|
||||
u16 val;
|
||||
|
||||
if (fsl_ifc_ctrl_dev->little_endian)
|
||||
val = ioread16(addr);
|
||||
else
|
||||
val = ioread16be(addr);
|
||||
|
||||
return val;
|
||||
}
|
||||
|
||||
static inline u8 ifc_in8(void __iomem *addr)
|
||||
{
|
||||
return ioread8(addr);
|
||||
}
|
||||
|
||||
static inline void ifc_out32(u32 val, void __iomem *addr)
|
||||
{
|
||||
if (fsl_ifc_ctrl_dev->little_endian)
|
||||
iowrite32(val, addr);
|
||||
else
|
||||
iowrite32be(val, addr);
|
||||
}
|
||||
|
||||
static inline void ifc_out16(u16 val, void __iomem *addr)
|
||||
{
|
||||
if (fsl_ifc_ctrl_dev->little_endian)
|
||||
iowrite16(val, addr);
|
||||
else
|
||||
iowrite16be(val, addr);
|
||||
}
|
||||
|
||||
static inline void ifc_out8(u8 val, void __iomem *addr)
|
||||
{
|
||||
iowrite8(val, addr);
|
||||
}
|
||||
|
||||
#endif /* __ASM_FSL_IFC_H */
|
||||
|
Loading…
Reference in New Issue
Block a user