Merge remote branch 'jwb/next' into next

+360 -4
+254
arch/powerpc/boot/dts/bluestone.dts
··· 1 + /* 2 + * Device Tree for Bluestone (APM821xx) board. 3 + * 4 + * Copyright (c) 2010, Applied Micro Circuits Corporation 5 + * Author: Tirumala R Marri <tmarri@apm.com> 6 + * 7 + * This program is free software; you can redistribute it and/or 8 + * modify it under the terms of the GNU General Public License as 9 + * published by the Free Software Foundation; either version 2 of 10 + * the License, or (at your option) any later version. 11 + * 12 + * This program is distributed in the hope that it will be useful, 13 + * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 + * GNU General Public License for more details. 16 + * 17 + * You should have received a copy of the GNU General Public License 18 + * along with this program; if not, write to the Free Software 19 + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, 20 + * MA 02111-1307 USA 21 + * 22 + */ 23 + 24 + /dts-v1/; 25 + 26 + / { 27 + #address-cells = <2>; 28 + #size-cells = <1>; 29 + model = "apm,bluestone"; 30 + compatible = "apm,bluestone"; 31 + dcr-parent = <&{/cpus/cpu@0}>; 32 + 33 + aliases { 34 + ethernet0 = &EMAC0; 35 + serial0 = &UART0; 36 + serial1 = &UART1; 37 + }; 38 + 39 + cpus { 40 + #address-cells = <1>; 41 + #size-cells = <0>; 42 + 43 + cpu@0 { 44 + device_type = "cpu"; 45 + model = "PowerPC,apm821xx"; 46 + reg = <0x00000000>; 47 + clock-frequency = <0>; /* Filled in by U-Boot */ 48 + timebase-frequency = <0>; /* Filled in by U-Boot */ 49 + i-cache-line-size = <32>; 50 + d-cache-line-size = <32>; 51 + i-cache-size = <32768>; 52 + d-cache-size = <32768>; 53 + dcr-controller; 54 + dcr-access-method = "native"; 55 + next-level-cache = <&L2C0>; 56 + }; 57 + }; 58 + 59 + memory { 60 + device_type = "memory"; 61 + reg = <0x00000000 0x00000000 0x00000000>; /* Filled in by U-Boot */ 62 + }; 63 + 64 + UIC0: interrupt-controller0 { 65 + compatible = "ibm,uic"; 66 + interrupt-controller; 67 + cell-index = <0>; 68 + dcr-reg = <0x0c0 0x009>; 69 + #address-cells = <0>; 70 + #size-cells = <0>; 71 + #interrupt-cells = <2>; 72 + }; 73 + 74 + UIC1: interrupt-controller1 { 75 + compatible = "ibm,uic"; 76 + interrupt-controller; 77 + cell-index = <1>; 78 + dcr-reg = <0x0d0 0x009>; 79 + #address-cells = <0>; 80 + #size-cells = <0>; 81 + #interrupt-cells = <2>; 82 + interrupts = <0x1e 0x4 0x1f 0x4>; /* cascade */ 83 + interrupt-parent = <&UIC0>; 84 + }; 85 + 86 + UIC2: interrupt-controller2 { 87 + compatible = "ibm,uic"; 88 + interrupt-controller; 89 + cell-index = <2>; 90 + dcr-reg = <0x0e0 0x009>; 91 + #address-cells = <0>; 92 + #size-cells = <0>; 93 + #interrupt-cells = <2>; 94 + interrupts = <0xa 0x4 0xb 0x4>; /* cascade */ 95 + interrupt-parent = <&UIC0>; 96 + }; 97 + 98 + UIC3: interrupt-controller3 { 99 + compatible = "ibm,uic"; 100 + interrupt-controller; 101 + cell-index = <3>; 102 + dcr-reg = <0x0f0 0x009>; 103 + #address-cells = <0>; 104 + #size-cells = <0>; 105 + #interrupt-cells = <2>; 106 + interrupts = <0x10 0x4 0x11 0x4>; /* cascade */ 107 + interrupt-parent = <&UIC0>; 108 + }; 109 + 110 + SDR0: sdr { 111 + compatible = "ibm,sdr-apm821xx"; 112 + dcr-reg = <0x00e 0x002>; 113 + }; 114 + 115 + CPR0: cpr { 116 + compatible = "ibm,cpr-apm821xx"; 117 + dcr-reg = <0x00c 0x002>; 118 + }; 119 + 120 + plb { 121 + compatible = "ibm,plb4"; 122 + #address-cells = <2>; 123 + #size-cells = <1>; 124 + ranges; 125 + clock-frequency = <0>; /* Filled in by U-Boot */ 126 + 127 + SDRAM0: sdram { 128 + compatible = "ibm,sdram-apm821xx"; 129 + dcr-reg = <0x010 0x002>; 130 + }; 131 + 132 + MAL0: mcmal { 133 + compatible = "ibm,mcmal2"; 134 + descriptor-memory = "ocm"; 135 + dcr-reg = <0x180 0x062>; 136 + num-tx-chans = <1>; 137 + num-rx-chans = <1>; 138 + #address-cells = <0>; 139 + #size-cells = <0>; 140 + interrupt-parent = <&UIC2>; 141 + interrupts = < /*TXEOB*/ 0x6 0x4 142 + /*RXEOB*/ 0x7 0x4 143 + /*SERR*/ 0x3 0x4 144 + /*TXDE*/ 0x4 0x4 145 + /*RXDE*/ 0x5 0x4 146 + }; 147 + 148 + POB0: opb { 149 + compatible = "ibm,opb"; 150 + #address-cells = <1>; 151 + #size-cells = <1>; 152 + ranges = <0xb0000000 0x00000004 0xb0000000 0x50000000>; 153 + clock-frequency = <0>; /* Filled in by U-Boot */ 154 + 155 + EBC0: ebc { 156 + compatible = "ibm,ebc"; 157 + dcr-reg = <0x012 0x002>; 158 + #address-cells = <2>; 159 + #size-cells = <1>; 160 + clock-frequency = <0>; /* Filled in by U-Boot */ 161 + /* ranges property is supplied by U-Boot */ 162 + ranges = < 0x00000003 0x00000000 0xe0000000 0x8000000>; 163 + interrupts = <0x6 0x4>; 164 + interrupt-parent = <&UIC1>; 165 + 166 + nor_flash@0,0 { 167 + compatible = "amd,s29gl512n", "cfi-flash"; 168 + bank-width = <2>; 169 + reg = <0x00000000 0x00000000 0x00400000>; 170 + #address-cells = <1>; 171 + #size-cells = <1>; 172 + partition@0 { 173 + label = "kernel"; 174 + reg = <0x00000000 0x00180000>; 175 + }; 176 + partition@180000 { 177 + label = "env"; 178 + reg = <0x00180000 0x00020000>; 179 + }; 180 + partition@1a0000 { 181 + label = "u-boot"; 182 + reg = <0x001a0000 0x00060000>; 183 + }; 184 + }; 185 + } 186 + 187 + UART0: serial@ef600300 { 188 + device_type = "serial"; 189 + compatible = "ns16550"; 190 + reg = <0xef600300 0x00000008>; 191 + virtual-reg = <0xef600300>; 192 + clock-frequency = <0>; /* Filled in by U-Boot */ 193 + current-speed = <0>; /* Filled in by U-Boot */ 194 + interrupt-parent = <&UIC1>; 195 + interrupts = <0x1 0x4>; 196 + }; 197 + 198 + IIC0: i2c@ef600700 { 199 + compatible = "ibm,iic"; 200 + reg = <0xef600700 0x00000014>; 201 + interrupt-parent = <&UIC0>; 202 + interrupts = <0x2 0x4>; 203 + }; 204 + 205 + IIC1: i2c@ef600800 { 206 + compatible = "ibm,iic"; 207 + reg = <0xef600800 0x00000014>; 208 + interrupt-parent = <&UIC0>; 209 + interrupts = <0x3 0x4>; 210 + }; 211 + 212 + RGMII0: emac-rgmii@ef601500 { 213 + compatible = "ibm,rgmii"; 214 + reg = <0xef601500 0x00000008>; 215 + has-mdio; 216 + }; 217 + 218 + TAH0: emac-tah@ef601350 { 219 + compatible = "ibm,tah"; 220 + reg = <0xef601350 0x00000030>; 221 + }; 222 + 223 + EMAC0: ethernet@ef600c00 { 224 + device_type = "network"; 225 + compatible = "ibm,emac4sync"; 226 + interrupt-parent = <&EMAC0>; 227 + interrupts = <0x0 0x1>; 228 + #interrupt-cells = <1>; 229 + #address-cells = <0>; 230 + #size-cells = <0>; 231 + interrupt-map = </*Status*/ 0x0 &UIC2 0x10 0x4 232 + /*Wake*/ 0x1 &UIC2 0x14 0x4>; 233 + reg = <0xef600c00 0x000000c4>; 234 + local-mac-address = [000000000000]; /* Filled in by U-Boot */ 235 + mal-device = <&MAL0>; 236 + mal-tx-channel = <0>; 237 + mal-rx-channel = <0>; 238 + cell-index = <0>; 239 + max-frame-size = <9000>; 240 + rx-fifo-size = <16384>; 241 + tx-fifo-size = <2048>; 242 + phy-mode = "rgmii"; 243 + phy-map = <0x00000000>; 244 + rgmii-device = <&RGMII0>; 245 + rgmii-channel = <0>; 246 + tah-device = <&TAH0>; 247 + tah-channel = <0>; 248 + has-inverted-stacr-oc; 249 + has-new-stacr-staopc; 250 + }; 251 + }; 252 + 253 + }; 254 + };
+68
arch/powerpc/configs/44x/bluestone_defconfig
··· 1 + CONFIG_44x=y 2 + CONFIG_EXPERIMENTAL=y 3 + CONFIG_SYSVIPC=y 4 + CONFIG_POSIX_MQUEUE=y 5 + CONFIG_LOG_BUF_SHIFT=14 6 + CONFIG_BLK_DEV_INITRD=y 7 + CONFIG_EMBEDDED=y 8 + # CONFIG_VM_EVENT_COUNTERS is not set 9 + # CONFIG_PCI_QUIRKS is not set 10 + # CONFIG_COMPAT_BRK is not set 11 + CONFIG_BLUESTONE=y 12 + # CONFIG_EBONY is not set 13 + # CONFIG_KVM_GUEST is not set 14 + CONFIG_NO_HZ=y 15 + CONFIG_HIGH_RES_TIMERS=y 16 + CONFIG_SPARSE_IRQ=y 17 + CONFIG_CMDLINE_BOOL=y 18 + CONFIG_CMDLINE="" 19 + CONFIG_NET=y 20 + CONFIG_PACKET=y 21 + CONFIG_UNIX=y 22 + CONFIG_INET=y 23 + CONFIG_IP_PNP=y 24 + CONFIG_IP_PNP_DHCP=y 25 + CONFIG_IP_PNP_BOOTP=y 26 + CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" 27 + CONFIG_CONNECTOR=y 28 + CONFIG_MTD=y 29 + CONFIG_MTD_PARTITIONS=y 30 + CONFIG_MTD_CMDLINE_PARTS=y 31 + CONFIG_MTD_OF_PARTS=y 32 + CONFIG_MTD_CHAR=y 33 + CONFIG_MTD_BLOCK=y 34 + CONFIG_MTD_CFI=y 35 + CONFIG_MTD_CFI_AMDSTD=y 36 + CONFIG_MTD_PHYSMAP_OF=y 37 + CONFIG_PROC_DEVICETREE=y 38 + CONFIG_BLK_DEV_RAM=y 39 + CONFIG_BLK_DEV_RAM_SIZE=35000 40 + CONFIG_NETDEVICES=y 41 + CONFIG_NET_ETHERNET=y 42 + CONFIG_IBM_NEW_EMAC=y 43 + CONFIG_IBM_NEW_EMAC_RXB=256 44 + CONFIG_IBM_NEW_EMAC_TXB=256 45 + CONFIG_SERIAL_8250=y 46 + CONFIG_SERIAL_8250_CONSOLE=y 47 + CONFIG_SERIAL_8250_NR_UARTS=2 48 + CONFIG_SERIAL_8250_RUNTIME_UARTS=2 49 + CONFIG_SERIAL_8250_EXTENDED=y 50 + CONFIG_SERIAL_8250_SHARE_IRQ=y 51 + CONFIG_SERIAL_OF_PLATFORM=y 52 + CONFIG_I2C=y 53 + CONFIG_I2C_CHARDEV=y 54 + CONFIG_I2C_IBM_IIC=y 55 + CONFIG_SENSORS_AD7414=y 56 + # CONFIG_HID_SUPPORT is not set 57 + # CONFIG_USB_SUPPORT is not set 58 + CONFIG_RTC_CLASS=y 59 + CONFIG_RTC_DRV_M41T80=y 60 + CONFIG_EXT2_FS=y 61 + CONFIG_EXT3_FS=y 62 + CONFIG_PROC_KCORE=y 63 + CONFIG_TMPFS=y 64 + CONFIG_CRAMFS=y 65 + CONFIG_NFS_FS=y 66 + CONFIG_NFS_V3=y 67 + CONFIG_ROOT_NFS=y 68 + CONFIG_NLS=y
+5 -4
arch/powerpc/configs/ppc44x_defconfig
··· 12 12 CONFIG_MODULE_UNLOAD=y 13 13 # CONFIG_BLK_DEV_BSG is not set 14 14 CONFIG_BAMBOO=y 15 + CONFIG_BLUESTONE=y 15 16 CONFIG_SAM440EP=y 16 17 CONFIG_SEQUOIA=y 17 18 CONFIG_TAISHAN=y ··· 98 97 CONFIG_EXT2_FS=y 99 98 CONFIG_EXT3_FS=m 100 99 # CONFIG_EXT3_DEFAULTS_TO_ORDERED is not set 101 - CONFIG_INOTIFY=y 102 100 CONFIG_VFAT_FS=m 103 101 CONFIG_PROC_KCORE=y 104 102 CONFIG_TMPFS=y 105 103 CONFIG_JFFS2_FS=y 106 104 CONFIG_UBIFS_FS=m 107 105 CONFIG_UBIFS_FS_XATTR=y 106 + CONFIG_LOGFS=m 108 107 CONFIG_CRAMFS=y 108 + CONFIG_SQUASHFS=m 109 + CONFIG_SQUASHFS_XATTR=y 110 + CONFIG_SQUASHFS_LZO=y 109 111 CONFIG_NFS_FS=y 110 112 CONFIG_NFS_V3=y 111 113 CONFIG_ROOT_NFS=y ··· 120 116 CONFIG_DETECT_HUNG_TASK=y 121 117 # CONFIG_RCU_CPU_STALL_DETECTOR is not set 122 118 CONFIG_SYSCTL_SYSCALL_CHECK=y 123 - CONFIG_CRYPTO_CBC=y 124 119 CONFIG_CRYPTO_ECB=y 125 120 CONFIG_CRYPTO_PCBC=y 126 - CONFIG_CRYPTO_MD5=y 127 - CONFIG_CRYPTO_DES=y 128 121 # CONFIG_CRYPTO_ANSI_CPRNG is not set 129 122 # CONFIG_CRYPTO_HW is not set 130 123 CONFIG_VIRTUALIZATION=y
+1
arch/powerpc/kernel/cpu_setup_44x.S
··· 35 35 _GLOBAL(__setup_cpu_460ex) 36 36 _GLOBAL(__setup_cpu_460gt) 37 37 _GLOBAL(__setup_cpu_460sx) 38 + _GLOBAL(__setup_cpu_apm821xx) 38 39 mflr r4 39 40 bl __init_fpu_44x 40 41 bl __fixup_440A_mcheck
+15
arch/powerpc/kernel/cputable.c
··· 48 48 extern void __setup_cpu_460ex(unsigned long offset, struct cpu_spec* spec); 49 49 extern void __setup_cpu_460gt(unsigned long offset, struct cpu_spec* spec); 50 50 extern void __setup_cpu_460sx(unsigned long offset, struct cpu_spec *spec); 51 + extern void __setup_cpu_apm821xx(unsigned long offset, struct cpu_spec *spec); 51 52 extern void __setup_cpu_603(unsigned long offset, struct cpu_spec* spec); 52 53 extern void __setup_cpu_604(unsigned long offset, struct cpu_spec* spec); 53 54 extern void __setup_cpu_750(unsigned long offset, struct cpu_spec* spec); ··· 1807 1806 .icache_bsize = 32, 1808 1807 .dcache_bsize = 32, 1809 1808 .cpu_setup = __setup_cpu_460sx, 1809 + .machine_check = machine_check_440A, 1810 + .platform = "ppc440", 1811 + }, 1812 + { /* 464 in APM821xx */ 1813 + .pvr_mask = 0xffffff00, 1814 + .pvr_value = 0x12C41C80, 1815 + .cpu_name = "APM821XX", 1816 + .cpu_features = CPU_FTRS_44X, 1817 + .cpu_user_features = COMMON_USER_BOOKE | 1818 + PPC_FEATURE_HAS_FPU, 1819 + .mmu_features = MMU_FTR_TYPE_44x, 1820 + .icache_bsize = 32, 1821 + .dcache_bsize = 32, 1822 + .cpu_setup = __setup_cpu_apm821xx, 1810 1823 .machine_check = machine_check_440A, 1811 1824 .platform = "ppc440", 1812 1825 },
+16
arch/powerpc/platforms/44x/Kconfig
··· 17 17 help 18 18 This option enables support for the IBM PPC440EP evaluation board. 19 19 20 + config BLUESTONE 21 + bool "Bluestone" 22 + depends on 44x 23 + default n 24 + select PPC44x_SIMPLE 25 + select APM821xx 26 + select IBM_NEW_EMAC_RGMII 27 + help 28 + This option enables support for the APM APM821xx Evaluation board. 29 + 20 30 config EBONY 21 31 bool "Ebony" 22 32 depends on 44x ··· 301 291 select IBM_NEW_EMAC_EMAC4 302 292 select IBM_NEW_EMAC_RGMII 303 293 select IBM_NEW_EMAC_ZMII 294 + select IBM_NEW_EMAC_TAH 295 + 296 + config APM821xx 297 + bool 298 + select PPC_FPU 299 + select IBM_NEW_EMAC_EMAC4 304 300 select IBM_NEW_EMAC_TAH 305 301 306 302 # 44x errata/workaround config symbols, selected by the CPU models above
+1
arch/powerpc/platforms/44x/ppc44x_simple.c
··· 52 52 static char *board[] __initdata = { 53 53 "amcc,arches", 54 54 "amcc,bamboo", 55 + "amcc,bluestone", 55 56 "amcc,canyonlands", 56 57 "amcc,glacier", 57 58 "ibm,ebony",