[POWERPC] Add mpc866ads board-specific bits to arch/powerpc
This add support of the Freescale mpc86xads reference board to arch/powerpc. Supported SMC1 and SMC2 (UART and serial console), FEC 100Mbps Ethernet, SCC1 Ethernet (10Mbps hdx) Signed-off-by: Vitaly Bordug <vbordug@ru.mvista.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
		
							parent
							
								
									df34403dca
								
							
						
					
					
						commit
						29f1530f19
					
				
							
								
								
									
										162
									
								
								arch/powerpc/boot/dts/mpc866ads.dts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										162
									
								
								arch/powerpc/boot/dts/mpc866ads.dts
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,162 @@ | ||||
| /* | ||||
|  * MPC866 ADS Device Tree Source | ||||
|  * | ||||
|  * Copyright 2006 MontaVista Software, Inc. | ||||
|  * | ||||
|  * This program is free software; you can redistribute  it and/or modify it | ||||
|  * under  the terms of  the GNU General  Public License as published by the | ||||
|  * Free Software Foundation;  either version 2 of the  License, or (at your | ||||
|  * option) any later version. | ||||
|  */ | ||||
| 
 | ||||
| 
 | ||||
| / { | ||||
| 	model = "MPC866ADS"; | ||||
| 	compatible = "mpc8xx"; | ||||
| 	#address-cells = <1>; | ||||
| 	#size-cells = <1>; | ||||
| 	linux,phandle = <100>; | ||||
| 
 | ||||
| 	cpus { | ||||
| 		#cpus = <1>; | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <0>; | ||||
| 		linux,phandle = <200>; | ||||
| 
 | ||||
| 		PowerPC,866@0 { | ||||
| 			device_type = "cpu"; | ||||
| 			reg = <0>; | ||||
| 			d-cache-line-size = <20>;	// 32 bytes | ||||
| 			i-cache-line-size = <20>;	// 32 bytes | ||||
| 			d-cache-size = <2000>;		// L1, 8K | ||||
| 			i-cache-size = <4000>;		// L1, 16K | ||||
| 			timebase-frequency = <0>; | ||||
| 			bus-frequency = <0>; | ||||
| 			clock-frequency = <0>; | ||||
| 			32-bit; | ||||
| 			interrupts = <f 2>;	// decrementer interrupt | ||||
| 			interrupt-parent = <ff000000>; | ||||
| 			linux,phandle = <201>; | ||||
| 			linux,boot-cpu; | ||||
| 		}; | ||||
| 	}; | ||||
| 
 | ||||
| 	memory { | ||||
| 		device_type = "memory"; | ||||
| 		linux,phandle = <300>; | ||||
| 		reg = <00000000 800000>; | ||||
| 	}; | ||||
| 
 | ||||
| 	soc866@ff000000 { | ||||
| 		#address-cells = <1>; | ||||
| 		#size-cells = <1>; | ||||
| 		#interrupt-cells = <2>; | ||||
| 		device_type = "soc"; | ||||
| 		ranges = <0 ff000000 00100000>; | ||||
| 		reg = <ff000000 00000200>; | ||||
| 		bus-frequency = <0>; | ||||
| 		mdio@e80 { | ||||
| 			device_type = "mdio"; | ||||
| 			compatible = "fs_enet"; | ||||
| 			reg = <e80 8>; | ||||
| 			linux,phandle = <e80>; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <0>; | ||||
| 			ethernet-phy@f { | ||||
| 				linux,phandle = <e800f>; | ||||
| 				reg = <f>; | ||||
| 				device_type = "ethernet-phy"; | ||||
| 			}; | ||||
| 		}; | ||||
| 
 | ||||
| 		fec@e00 { | ||||
| 			device_type = "network"; | ||||
| 			compatible = "fs_enet"; | ||||
| 			model = "FEC"; | ||||
| 			device-id = <1>; | ||||
| 			reg = <e00 188>; | ||||
| 			mac-address = [ 00 00 0C 00 01 FD ]; | ||||
| 			interrupts = <3 1>; | ||||
| 			interrupt-parent = <ff000000>; | ||||
| 			phy-handle = <e800f>; | ||||
| 		}; | ||||
| 
 | ||||
| 		pic@ff000000 { | ||||
| 			linux,phandle = <ff000000>; | ||||
| 			interrupt-controller; | ||||
| 			#address-cells = <0>; | ||||
| 			#interrupt-cells = <2>; | ||||
| 			reg = <0 24>; | ||||
| 			built-in; | ||||
| 			device_type = "mpc8xx-pic"; | ||||
| 			compatible = "CPM"; | ||||
| 		}; | ||||
| 
 | ||||
| 		cpm@ff000000 { | ||||
| 			linux,phandle = <ff000000>; | ||||
| 			#address-cells = <1>; | ||||
| 			#size-cells = <1>; | ||||
| 			#interrupt-cells = <2>; | ||||
| 			device_type = "cpm"; | ||||
| 			model = "CPM"; | ||||
| 			ranges = <0 0 4000>; | ||||
| 			reg = <860 f0>; | ||||
| 			command-proc = <9c0>; | ||||
| 			brg-frequency = <0>; | ||||
| 			interrupts = <0 2>;	// cpm error interrupt | ||||
| 			interrupt-parent = <930>; | ||||
| 
 | ||||
| 			pic@930 { | ||||
| 				linux,phandle = <930>; | ||||
| 				interrupt-controller; | ||||
| 				#address-cells = <0>; | ||||
| 				#interrupt-cells = <2>; | ||||
| 				interrupts = <5 2 0 2>; | ||||
| 				interrupt-parent = <ff000000>; | ||||
| 				reg = <930 20>; | ||||
| 				built-in; | ||||
| 				device_type = "cpm-pic"; | ||||
| 				compatible = "CPM"; | ||||
| 			}; | ||||
| 
 | ||||
| 			smc@a80 { | ||||
| 				device_type = "serial"; | ||||
| 				compatible = "cpm_uart"; | ||||
| 				model = "SMC"; | ||||
| 				device-id = <1>; | ||||
| 				reg = <a80 10 3e80 40>; | ||||
| 				clock-setup = <00ffffff 0>; | ||||
| 				rx-clock = <1>; | ||||
| 				tx-clock = <1>; | ||||
| 				current-speed = <0>; | ||||
| 				interrupts = <4 3>; | ||||
| 				interrupt-parent = <930>; | ||||
| 			}; | ||||
| 
 | ||||
| 			smc@a90 { | ||||
| 				device_type = "serial"; | ||||
| 				compatible = "cpm_uart"; | ||||
| 				model = "SMC"; | ||||
| 				device-id = <2>; | ||||
| 				reg = <a90 20 3f80 40>; | ||||
| 				clock-setup = <ff00ffff 90000>; | ||||
| 				rx-clock = <2>; | ||||
| 				tx-clock = <2>; | ||||
| 				current-speed = <0>; | ||||
| 				interrupts = <3 3>; | ||||
| 				interrupt-parent = <930>; | ||||
| 			}; | ||||
| 
 | ||||
| 			scc@a00 { | ||||
| 				device_type = "network"; | ||||
| 				compatible = "fs_enet"; | ||||
| 				model = "SCC"; | ||||
| 				device-id = <1>; | ||||
| 				reg = <a00 18 3c00 80>; | ||||
| 				mac-address = [ 00 00 0C 00 03 FD ]; | ||||
| 				interrupts = <1e 3>; | ||||
| 				interrupt-parent = <930>; | ||||
| 			}; | ||||
| 		}; | ||||
| 	}; | ||||
| }; | ||||
							
								
								
									
										829
									
								
								arch/powerpc/configs/mpc866_ads_defconfig
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										829
									
								
								arch/powerpc/configs/mpc866_ads_defconfig
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,829 @@ | ||||
| # | ||||
| # Automatically generated make config: don't edit | ||||
| # Linux kernel version: 2.6.19-rc6 | ||||
| # Fri Nov 24 21:13:55 2006 | ||||
| # | ||||
| # CONFIG_PPC64 is not set | ||||
| CONFIG_PPC32=y | ||||
| CONFIG_PPC_MERGE=y | ||||
| CONFIG_MMU=y | ||||
| CONFIG_GENERIC_HARDIRQS=y | ||||
| CONFIG_IRQ_PER_CPU=y | ||||
| CONFIG_RWSEM_XCHGADD_ALGORITHM=y | ||||
| CONFIG_GENERIC_HWEIGHT=y | ||||
| CONFIG_GENERIC_CALIBRATE_DELAY=y | ||||
| CONFIG_GENERIC_FIND_NEXT_BIT=y | ||||
| CONFIG_PPC=y | ||||
| CONFIG_EARLY_PRINTK=y | ||||
| CONFIG_GENERIC_NVRAM=y | ||||
| CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y | ||||
| CONFIG_ARCH_MAY_HAVE_PC_FDC=y | ||||
| CONFIG_PPC_OF=y | ||||
| # CONFIG_PPC_UDBG_16550 is not set | ||||
| # CONFIG_GENERIC_TBSYNC is not set | ||||
| CONFIG_AUDIT_ARCH=y | ||||
| # CONFIG_DEFAULT_UIMAGE is not set | ||||
| 
 | ||||
| # | ||||
| # Processor support | ||||
| # | ||||
| # CONFIG_CLASSIC32 is not set | ||||
| # CONFIG_PPC_52xx is not set | ||||
| # CONFIG_PPC_82xx is not set | ||||
| # CONFIG_PPC_83xx is not set | ||||
| # CONFIG_PPC_85xx is not set | ||||
| # CONFIG_PPC_86xx is not set | ||||
| CONFIG_PPC_8xx=y | ||||
| # CONFIG_40x is not set | ||||
| # CONFIG_44x is not set | ||||
| # CONFIG_E200 is not set | ||||
| CONFIG_8xx=y | ||||
| # CONFIG_PPC_DCR_NATIVE is not set | ||||
| # CONFIG_PPC_DCR_MMIO is not set | ||||
| CONFIG_NOT_COHERENT_CACHE=y | ||||
| CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" | ||||
| 
 | ||||
| # | ||||
| # Code maturity level options | ||||
| # | ||||
| CONFIG_EXPERIMENTAL=y | ||||
| CONFIG_BROKEN_ON_SMP=y | ||||
| CONFIG_INIT_ENV_ARG_LIMIT=32 | ||||
| 
 | ||||
| # | ||||
| # General setup | ||||
| # | ||||
| CONFIG_LOCALVERSION="" | ||||
| CONFIG_LOCALVERSION_AUTO=y | ||||
| # CONFIG_SWAP is not set | ||||
| CONFIG_SYSVIPC=y | ||||
| # CONFIG_IPC_NS is not set | ||||
| # CONFIG_POSIX_MQUEUE is not set | ||||
| # CONFIG_BSD_PROCESS_ACCT is not set | ||||
| # CONFIG_TASKSTATS is not set | ||||
| # CONFIG_UTS_NS is not set | ||||
| # CONFIG_AUDIT is not set | ||||
| # CONFIG_IKCONFIG is not set | ||||
| # CONFIG_RELAY is not set | ||||
| CONFIG_INITRAMFS_SOURCE="" | ||||
| # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | ||||
| CONFIG_SYSCTL=y | ||||
| CONFIG_EMBEDDED=y | ||||
| # CONFIG_SYSCTL_SYSCALL is not set | ||||
| CONFIG_KALLSYMS=y | ||||
| # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||||
| # CONFIG_HOTPLUG is not set | ||||
| CONFIG_PRINTK=y | ||||
| # CONFIG_BUG is not set | ||||
| CONFIG_ELF_CORE=y | ||||
| # CONFIG_BASE_FULL is not set | ||||
| CONFIG_FUTEX=y | ||||
| # CONFIG_EPOLL is not set | ||||
| CONFIG_SHMEM=y | ||||
| CONFIG_SLAB=y | ||||
| # CONFIG_VM_EVENT_COUNTERS is not set | ||||
| CONFIG_RT_MUTEXES=y | ||||
| # CONFIG_TINY_SHMEM is not set | ||||
| CONFIG_BASE_SMALL=1 | ||||
| # CONFIG_SLOB is not set | ||||
| 
 | ||||
| # | ||||
| # Loadable module support | ||||
| # | ||||
| # CONFIG_MODULES is not set | ||||
| 
 | ||||
| # | ||||
| # Block layer | ||||
| # | ||||
| CONFIG_BLOCK=y | ||||
| # CONFIG_LBD is not set | ||||
| # CONFIG_BLK_DEV_IO_TRACE is not set | ||||
| # CONFIG_LSF is not set | ||||
| 
 | ||||
| # | ||||
| # IO Schedulers | ||||
| # | ||||
| CONFIG_IOSCHED_NOOP=y | ||||
| CONFIG_IOSCHED_AS=y | ||||
| CONFIG_IOSCHED_DEADLINE=y | ||||
| CONFIG_IOSCHED_CFQ=y | ||||
| CONFIG_DEFAULT_AS=y | ||||
| # CONFIG_DEFAULT_DEADLINE is not set | ||||
| # CONFIG_DEFAULT_CFQ is not set | ||||
| # CONFIG_DEFAULT_NOOP is not set | ||||
| CONFIG_DEFAULT_IOSCHED="anticipatory" | ||||
| # CONFIG_WANT_EARLY_SERIAL is not set | ||||
| CONFIG_EMBEDDEDBOOT=y | ||||
| # CONFIG_MPIC is not set | ||||
| 
 | ||||
| # | ||||
| # Platform support | ||||
| # | ||||
| CONFIG_CPM1=y | ||||
| # CONFIG_MPC8XXFADS is not set | ||||
| CONFIG_MPC86XADS=y | ||||
| # CONFIG_MPC885ADS is not set | ||||
| 
 | ||||
| # | ||||
| # MPC8xx CPM Options | ||||
| # | ||||
| 
 | ||||
| # | ||||
| # Generic MPC8xx Options | ||||
| # | ||||
| CONFIG_8xx_COPYBACK=y | ||||
| CONFIG_8xx_CPU6=y | ||||
| CONFIG_NO_UCODE_PATCH=y | ||||
| # CONFIG_USB_SOF_UCODE_PATCH is not set | ||||
| # CONFIG_I2C_SPI_UCODE_PATCH is not set | ||||
| # CONFIG_I2C_SPI_SMC1_UCODE_PATCH is not set | ||||
| 
 | ||||
| # | ||||
| # Kernel options | ||||
| # | ||||
| # CONFIG_HIGHMEM is not set | ||||
| # CONFIG_HZ_100 is not set | ||||
| # CONFIG_HZ_250 is not set | ||||
| CONFIG_HZ_1000=y | ||||
| CONFIG_HZ=1000 | ||||
| CONFIG_PREEMPT_NONE=y | ||||
| # CONFIG_PREEMPT_VOLUNTARY is not set | ||||
| # CONFIG_PREEMPT is not set | ||||
| CONFIG_BINFMT_ELF=y | ||||
| # CONFIG_BINFMT_MISC is not set | ||||
| CONFIG_MATH_EMULATION=y | ||||
| CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y | ||||
| CONFIG_ARCH_FLATMEM_ENABLE=y | ||||
| CONFIG_ARCH_POPULATES_NODE_MAP=y | ||||
| CONFIG_SELECT_MEMORY_MODEL=y | ||||
| CONFIG_FLATMEM_MANUAL=y | ||||
| # CONFIG_DISCONTIGMEM_MANUAL is not set | ||||
| # CONFIG_SPARSEMEM_MANUAL is not set | ||||
| CONFIG_FLATMEM=y | ||||
| CONFIG_FLAT_NODE_MEM_MAP=y | ||||
| # CONFIG_SPARSEMEM_STATIC is not set | ||||
| CONFIG_SPLIT_PTLOCK_CPUS=4 | ||||
| # CONFIG_RESOURCES_64BIT is not set | ||||
| # CONFIG_PROC_DEVICETREE is not set | ||||
| # CONFIG_CMDLINE_BOOL is not set | ||||
| # CONFIG_PM is not set | ||||
| # CONFIG_SECCOMP is not set | ||||
| CONFIG_ISA_DMA_API=y | ||||
| 
 | ||||
| # | ||||
| # Bus options | ||||
| # | ||||
| # CONFIG_MPIC_WEIRD is not set | ||||
| # CONFIG_PPC_I8259 is not set | ||||
| CONFIG_FSL_SOC=y | ||||
| # CONFIG_PCI is not set | ||||
| # CONFIG_PCI_DOMAINS is not set | ||||
| # CONFIG_PCI_QSPAN is not set | ||||
| 
 | ||||
| # | ||||
| # PCCARD (PCMCIA/CardBus) support | ||||
| # | ||||
| 
 | ||||
| # | ||||
| # PCI Hotplug Support | ||||
| # | ||||
| 
 | ||||
| # | ||||
| # Advanced setup | ||||
| # | ||||
| # CONFIG_ADVANCED_OPTIONS is not set | ||||
| 
 | ||||
| # | ||||
| # Default settings for advanced configuration options are used | ||||
| # | ||||
| CONFIG_HIGHMEM_START=0xfe000000 | ||||
| CONFIG_LOWMEM_SIZE=0x30000000 | ||||
| CONFIG_KERNEL_START=0xc0000000 | ||||
| CONFIG_TASK_SIZE=0x80000000 | ||||
| CONFIG_CONSISTENT_START=0xff100000 | ||||
| CONFIG_CONSISTENT_SIZE=0x00200000 | ||||
| CONFIG_BOOT_LOAD=0x00400000 | ||||
| 
 | ||||
| # | ||||
| # Networking | ||||
| # | ||||
| CONFIG_NET=y | ||||
| 
 | ||||
| # | ||||
| # Networking options | ||||
| # | ||||
| # CONFIG_NETDEBUG is not set | ||||
| CONFIG_PACKET=y | ||||
| # CONFIG_PACKET_MMAP is not set | ||||
| CONFIG_UNIX=y | ||||
| CONFIG_XFRM=y | ||||
| # CONFIG_XFRM_USER is not set | ||||
| # CONFIG_XFRM_SUB_POLICY is not set | ||||
| # CONFIG_NET_KEY is not set | ||||
| CONFIG_INET=y | ||||
| CONFIG_IP_MULTICAST=y | ||||
| # CONFIG_IP_ADVANCED_ROUTER is not set | ||||
| CONFIG_IP_FIB_HASH=y | ||||
| CONFIG_IP_PNP=y | ||||
| # CONFIG_IP_PNP_DHCP is not set | ||||
| # CONFIG_IP_PNP_BOOTP is not set | ||||
| # CONFIG_IP_PNP_RARP is not set | ||||
| # CONFIG_NET_IPIP is not set | ||||
| # CONFIG_NET_IPGRE is not set | ||||
| # CONFIG_IP_MROUTE is not set | ||||
| # CONFIG_ARPD is not set | ||||
| CONFIG_SYN_COOKIES=y | ||||
| # CONFIG_INET_AH is not set | ||||
| # CONFIG_INET_ESP is not set | ||||
| # CONFIG_INET_IPCOMP is not set | ||||
| # CONFIG_INET_XFRM_TUNNEL is not set | ||||
| # CONFIG_INET_TUNNEL is not set | ||||
| CONFIG_INET_XFRM_MODE_TRANSPORT=y | ||||
| CONFIG_INET_XFRM_MODE_TUNNEL=y | ||||
| CONFIG_INET_XFRM_MODE_BEET=y | ||||
| CONFIG_INET_DIAG=y | ||||
| CONFIG_INET_TCP_DIAG=y | ||||
| # CONFIG_TCP_CONG_ADVANCED is not set | ||||
| CONFIG_TCP_CONG_CUBIC=y | ||||
| CONFIG_DEFAULT_TCP_CONG="cubic" | ||||
| # CONFIG_IPV6 is not set | ||||
| # CONFIG_INET6_XFRM_TUNNEL is not set | ||||
| # CONFIG_INET6_TUNNEL is not set | ||||
| # CONFIG_NETWORK_SECMARK is not set | ||||
| # CONFIG_NETFILTER is not set | ||||
| 
 | ||||
| # | ||||
| # DCCP Configuration (EXPERIMENTAL) | ||||
| # | ||||
| # CONFIG_IP_DCCP is not set | ||||
| 
 | ||||
| # | ||||
| # SCTP Configuration (EXPERIMENTAL) | ||||
| # | ||||
| # CONFIG_IP_SCTP is not set | ||||
| 
 | ||||
| # | ||||
| # TIPC Configuration (EXPERIMENTAL) | ||||
| # | ||||
| # CONFIG_TIPC is not set | ||||
| # CONFIG_ATM is not set | ||||
| # CONFIG_BRIDGE is not set | ||||
| # CONFIG_VLAN_8021Q is not set | ||||
| # CONFIG_DECNET is not set | ||||
| # CONFIG_LLC2 is not set | ||||
| # CONFIG_IPX is not set | ||||
| # CONFIG_ATALK is not set | ||||
| # CONFIG_X25 is not set | ||||
| # CONFIG_LAPB is not set | ||||
| # CONFIG_ECONET is not set | ||||
| # CONFIG_WAN_ROUTER is not set | ||||
| 
 | ||||
| # | ||||
| # QoS and/or fair queueing | ||||
| # | ||||
| # CONFIG_NET_SCHED is not set | ||||
| 
 | ||||
| # | ||||
| # Network testing | ||||
| # | ||||
| # CONFIG_NET_PKTGEN is not set | ||||
| # CONFIG_HAMRADIO is not set | ||||
| # CONFIG_IRDA is not set | ||||
| # CONFIG_BT is not set | ||||
| # CONFIG_IEEE80211 is not set | ||||
| 
 | ||||
| # | ||||
| # Device Drivers | ||||
| # | ||||
| 
 | ||||
| # | ||||
| # Generic Driver Options | ||||
| # | ||||
| CONFIG_STANDALONE=y | ||||
| CONFIG_PREVENT_FIRMWARE_BUILD=y | ||||
| # CONFIG_SYS_HYPERVISOR is not set | ||||
| 
 | ||||
| # | ||||
| # Connector - unified userspace <-> kernelspace linker | ||||
| # | ||||
| # CONFIG_CONNECTOR is not set | ||||
| 
 | ||||
| # | ||||
| # Memory Technology Devices (MTD) | ||||
| # | ||||
| # CONFIG_MTD is not set | ||||
| 
 | ||||
| # | ||||
| # Parallel port support | ||||
| # | ||||
| # CONFIG_PARPORT is not set | ||||
| 
 | ||||
| # | ||||
| # Plug and Play support | ||||
| # | ||||
| 
 | ||||
| # | ||||
| # Block devices | ||||
| # | ||||
| # CONFIG_BLK_DEV_FD is not set | ||||
| # CONFIG_BLK_DEV_COW_COMMON is not set | ||||
| CONFIG_BLK_DEV_LOOP=y | ||||
| # CONFIG_BLK_DEV_CRYPTOLOOP is not set | ||||
| # CONFIG_BLK_DEV_NBD is not set | ||||
| # CONFIG_BLK_DEV_RAM is not set | ||||
| # CONFIG_BLK_DEV_INITRD is not set | ||||
| # CONFIG_CDROM_PKTCDVD is not set | ||||
| # CONFIG_ATA_OVER_ETH is not set | ||||
| 
 | ||||
| # | ||||
| # Misc devices | ||||
| # | ||||
| # CONFIG_TIFM_CORE is not set | ||||
| 
 | ||||
| # | ||||
| # ATA/ATAPI/MFM/RLL support | ||||
| # | ||||
| # CONFIG_IDE is not set | ||||
| 
 | ||||
| # | ||||
| # SCSI device support | ||||
| # | ||||
| # CONFIG_RAID_ATTRS is not set | ||||
| # CONFIG_SCSI is not set | ||||
| # CONFIG_SCSI_NETLINK is not set | ||||
| 
 | ||||
| # | ||||
| # Serial ATA (prod) and Parallel ATA (experimental) drivers | ||||
| # | ||||
| # CONFIG_ATA is not set | ||||
| 
 | ||||
| # | ||||
| # Multi-device support (RAID and LVM) | ||||
| # | ||||
| # CONFIG_MD is not set | ||||
| 
 | ||||
| # | ||||
| # Fusion MPT device support | ||||
| # | ||||
| # CONFIG_FUSION is not set | ||||
| 
 | ||||
| # | ||||
| # IEEE 1394 (FireWire) support | ||||
| # | ||||
| 
 | ||||
| # | ||||
| # I2O device support | ||||
| # | ||||
| 
 | ||||
| # | ||||
| # Macintosh device drivers | ||||
| # | ||||
| # CONFIG_WINDFARM is not set | ||||
| 
 | ||||
| # | ||||
| # Network device support | ||||
| # | ||||
| CONFIG_NETDEVICES=y | ||||
| # CONFIG_DUMMY is not set | ||||
| # CONFIG_BONDING is not set | ||||
| # CONFIG_EQUALIZER is not set | ||||
| # CONFIG_TUN is not set | ||||
| 
 | ||||
| # | ||||
| # PHY device support | ||||
| # | ||||
| CONFIG_PHYLIB=y | ||||
| 
 | ||||
| # | ||||
| # MII PHY device drivers | ||||
| # | ||||
| # CONFIG_MARVELL_PHY is not set | ||||
| # CONFIG_DAVICOM_PHY is not set | ||||
| # CONFIG_QSEMI_PHY is not set | ||||
| # CONFIG_LXT_PHY is not set | ||||
| # CONFIG_CICADA_PHY is not set | ||||
| # CONFIG_VITESSE_PHY is not set | ||||
| # CONFIG_SMSC_PHY is not set | ||||
| CONFIG_FIXED_PHY=y | ||||
| CONFIG_FIXED_MII_10_FDX=y | ||||
| CONFIG_FIXED_MII_100_FDX=y | ||||
| 
 | ||||
| # | ||||
| # Ethernet (10 or 100Mbit) | ||||
| # | ||||
| CONFIG_NET_ETHERNET=y | ||||
| CONFIG_MII=y | ||||
| # CONFIG_FEC_8XX is not set | ||||
| CONFIG_FS_ENET=y | ||||
| CONFIG_FS_ENET_HAS_SCC=y | ||||
| CONFIG_FS_ENET_HAS_FEC=y | ||||
| 
 | ||||
| # | ||||
| # Ethernet (1000 Mbit) | ||||
| # | ||||
| 
 | ||||
| # | ||||
| # Ethernet (10000 Mbit) | ||||
| # | ||||
| 
 | ||||
| # | ||||
| # Token Ring devices | ||||
| # | ||||
| 
 | ||||
| # | ||||
| # Wireless LAN (non-hamradio) | ||||
| # | ||||
| # CONFIG_NET_RADIO is not set | ||||
| 
 | ||||
| # | ||||
| # Wan interfaces | ||||
| # | ||||
| # CONFIG_WAN is not set | ||||
| # CONFIG_PPP is not set | ||||
| # CONFIG_SLIP is not set | ||||
| # CONFIG_SHAPER is not set | ||||
| # CONFIG_NETCONSOLE is not set | ||||
| # CONFIG_NETPOLL is not set | ||||
| # CONFIG_NET_POLL_CONTROLLER is not set | ||||
| 
 | ||||
| # | ||||
| # ISDN subsystem | ||||
| # | ||||
| # CONFIG_ISDN is not set | ||||
| 
 | ||||
| # | ||||
| # Telephony Support | ||||
| # | ||||
| # CONFIG_PHONE is not set | ||||
| 
 | ||||
| # | ||||
| # Input device support | ||||
| # | ||||
| CONFIG_INPUT=y | ||||
| # CONFIG_INPUT_FF_MEMLESS is not set | ||||
| 
 | ||||
| # | ||||
| # Userland interfaces | ||||
| # | ||||
| CONFIG_INPUT_MOUSEDEV=y | ||||
| CONFIG_INPUT_MOUSEDEV_PSAUX=y | ||||
| CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 | ||||
| CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 | ||||
| # CONFIG_INPUT_JOYDEV is not set | ||||
| # CONFIG_INPUT_TSDEV is not set | ||||
| # CONFIG_INPUT_EVDEV is not set | ||||
| # CONFIG_INPUT_EVBUG is not set | ||||
| 
 | ||||
| # | ||||
| # Input Device Drivers | ||||
| # | ||||
| CONFIG_INPUT_KEYBOARD=y | ||||
| CONFIG_KEYBOARD_ATKBD=y | ||||
| # CONFIG_KEYBOARD_SUNKBD is not set | ||||
| # CONFIG_KEYBOARD_LKKBD is not set | ||||
| # CONFIG_KEYBOARD_XTKBD is not set | ||||
| # CONFIG_KEYBOARD_NEWTON is not set | ||||
| # CONFIG_KEYBOARD_STOWAWAY is not set | ||||
| CONFIG_INPUT_MOUSE=y | ||||
| CONFIG_MOUSE_PS2=y | ||||
| # CONFIG_MOUSE_SERIAL is not set | ||||
| # CONFIG_MOUSE_VSXXXAA is not set | ||||
| # CONFIG_INPUT_JOYSTICK is not set | ||||
| # CONFIG_INPUT_TOUCHSCREEN is not set | ||||
| # CONFIG_INPUT_MISC is not set | ||||
| 
 | ||||
| # | ||||
| # Hardware I/O ports | ||||
| # | ||||
| CONFIG_SERIO=y | ||||
| CONFIG_SERIO_I8042=y | ||||
| CONFIG_SERIO_SERPORT=y | ||||
| CONFIG_SERIO_LIBPS2=y | ||||
| # CONFIG_SERIO_RAW is not set | ||||
| # CONFIG_GAMEPORT is not set | ||||
| 
 | ||||
| # | ||||
| # Character devices | ||||
| # | ||||
| # CONFIG_VT is not set | ||||
| # CONFIG_SERIAL_NONSTANDARD is not set | ||||
| 
 | ||||
| # | ||||
| # Serial drivers | ||||
| # | ||||
| # CONFIG_SERIAL_8250 is not set | ||||
| 
 | ||||
| # | ||||
| # Non-8250 serial port support | ||||
| # | ||||
| CONFIG_SERIAL_CORE=y | ||||
| CONFIG_SERIAL_CORE_CONSOLE=y | ||||
| CONFIG_SERIAL_CPM=y | ||||
| CONFIG_SERIAL_CPM_CONSOLE=y | ||||
| # CONFIG_SERIAL_CPM_SCC1 is not set | ||||
| # CONFIG_SERIAL_CPM_SCC2 is not set | ||||
| # CONFIG_SERIAL_CPM_SCC3 is not set | ||||
| # CONFIG_SERIAL_CPM_SCC4 is not set | ||||
| CONFIG_SERIAL_CPM_SMC1=y | ||||
| CONFIG_SERIAL_CPM_SMC2=y | ||||
| CONFIG_UNIX98_PTYS=y | ||||
| # CONFIG_LEGACY_PTYS is not set | ||||
| 
 | ||||
| # | ||||
| # IPMI | ||||
| # | ||||
| # CONFIG_IPMI_HANDLER is not set | ||||
| 
 | ||||
| # | ||||
| # Watchdog Cards | ||||
| # | ||||
| # CONFIG_WATCHDOG is not set | ||||
| CONFIG_HW_RANDOM=y | ||||
| # CONFIG_NVRAM is not set | ||||
| CONFIG_GEN_RTC=y | ||||
| # CONFIG_GEN_RTC_X is not set | ||||
| # CONFIG_DTLK is not set | ||||
| # CONFIG_R3964 is not set | ||||
| 
 | ||||
| # | ||||
| # Ftape, the floppy tape device driver | ||||
| # | ||||
| # CONFIG_RAW_DRIVER is not set | ||||
| 
 | ||||
| # | ||||
| # TPM devices | ||||
| # | ||||
| # CONFIG_TCG_TPM is not set | ||||
| 
 | ||||
| # | ||||
| # I2C support | ||||
| # | ||||
| # CONFIG_I2C is not set | ||||
| 
 | ||||
| # | ||||
| # SPI support | ||||
| # | ||||
| # CONFIG_SPI is not set | ||||
| # CONFIG_SPI_MASTER is not set | ||||
| 
 | ||||
| # | ||||
| # Dallas's 1-wire bus | ||||
| # | ||||
| # CONFIG_W1 is not set | ||||
| 
 | ||||
| # | ||||
| # Hardware Monitoring support | ||||
| # | ||||
| CONFIG_HWMON=y | ||||
| # CONFIG_HWMON_VID is not set | ||||
| # CONFIG_SENSORS_ABITUGURU is not set | ||||
| # CONFIG_SENSORS_F71805F is not set | ||||
| # CONFIG_SENSORS_VT1211 is not set | ||||
| # CONFIG_HWMON_DEBUG_CHIP is not set | ||||
| 
 | ||||
| # | ||||
| # Multimedia devices | ||||
| # | ||||
| # CONFIG_VIDEO_DEV is not set | ||||
| 
 | ||||
| # | ||||
| # Digital Video Broadcasting Devices | ||||
| # | ||||
| # CONFIG_DVB is not set | ||||
| 
 | ||||
| # | ||||
| # Graphics support | ||||
| # | ||||
| CONFIG_FIRMWARE_EDID=y | ||||
| # CONFIG_FB is not set | ||||
| # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||||
| 
 | ||||
| # | ||||
| # Sound | ||||
| # | ||||
| # CONFIG_SOUND is not set | ||||
| 
 | ||||
| # | ||||
| # USB support | ||||
| # | ||||
| # CONFIG_USB_ARCH_HAS_HCD is not set | ||||
| # CONFIG_USB_ARCH_HAS_OHCI is not set | ||||
| # CONFIG_USB_ARCH_HAS_EHCI is not set | ||||
| 
 | ||||
| # | ||||
| # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||||
| # | ||||
| 
 | ||||
| # | ||||
| # USB Gadget Support | ||||
| # | ||||
| # CONFIG_USB_GADGET is not set | ||||
| 
 | ||||
| # | ||||
| # MMC/SD Card support | ||||
| # | ||||
| # CONFIG_MMC is not set | ||||
| 
 | ||||
| # | ||||
| # LED devices | ||||
| # | ||||
| # CONFIG_NEW_LEDS is not set | ||||
| 
 | ||||
| # | ||||
| # LED drivers | ||||
| # | ||||
| 
 | ||||
| # | ||||
| # LED Triggers | ||||
| # | ||||
| 
 | ||||
| # | ||||
| # InfiniBand support | ||||
| # | ||||
| 
 | ||||
| # | ||||
| # EDAC - error detection and reporting (RAS) (EXPERIMENTAL) | ||||
| # | ||||
| 
 | ||||
| # | ||||
| # Real Time Clock | ||||
| # | ||||
| # CONFIG_RTC_CLASS is not set | ||||
| 
 | ||||
| # | ||||
| # DMA Engine support | ||||
| # | ||||
| # CONFIG_DMA_ENGINE is not set | ||||
| 
 | ||||
| # | ||||
| # DMA Clients | ||||
| # | ||||
| 
 | ||||
| # | ||||
| # DMA Devices | ||||
| # | ||||
| 
 | ||||
| # | ||||
| # File systems | ||||
| # | ||||
| CONFIG_EXT2_FS=y | ||||
| CONFIG_EXT2_FS_XATTR=y | ||||
| # CONFIG_EXT2_FS_POSIX_ACL is not set | ||||
| # CONFIG_EXT2_FS_SECURITY is not set | ||||
| # CONFIG_EXT2_FS_XIP is not set | ||||
| CONFIG_EXT3_FS=y | ||||
| CONFIG_EXT3_FS_XATTR=y | ||||
| # CONFIG_EXT3_FS_POSIX_ACL is not set | ||||
| # CONFIG_EXT3_FS_SECURITY is not set | ||||
| # CONFIG_EXT4DEV_FS is not set | ||||
| CONFIG_JBD=y | ||||
| # CONFIG_JBD_DEBUG is not set | ||||
| CONFIG_FS_MBCACHE=y | ||||
| # CONFIG_REISERFS_FS is not set | ||||
| # CONFIG_JFS_FS is not set | ||||
| # CONFIG_FS_POSIX_ACL is not set | ||||
| # CONFIG_XFS_FS is not set | ||||
| # CONFIG_GFS2_FS is not set | ||||
| # CONFIG_OCFS2_FS is not set | ||||
| # CONFIG_MINIX_FS is not set | ||||
| # CONFIG_ROMFS_FS is not set | ||||
| CONFIG_INOTIFY=y | ||||
| CONFIG_INOTIFY_USER=y | ||||
| # CONFIG_QUOTA is not set | ||||
| CONFIG_DNOTIFY=y | ||||
| # CONFIG_AUTOFS_FS is not set | ||||
| # CONFIG_AUTOFS4_FS is not set | ||||
| # CONFIG_FUSE_FS is not set | ||||
| 
 | ||||
| # | ||||
| # CD-ROM/DVD Filesystems | ||||
| # | ||||
| # CONFIG_ISO9660_FS is not set | ||||
| # CONFIG_UDF_FS is not set | ||||
| 
 | ||||
| # | ||||
| # DOS/FAT/NT Filesystems | ||||
| # | ||||
| # CONFIG_MSDOS_FS is not set | ||||
| # CONFIG_VFAT_FS is not set | ||||
| # CONFIG_NTFS_FS is not set | ||||
| 
 | ||||
| # | ||||
| # Pseudo filesystems | ||||
| # | ||||
| CONFIG_PROC_FS=y | ||||
| # CONFIG_PROC_KCORE is not set | ||||
| CONFIG_PROC_SYSCTL=y | ||||
| CONFIG_SYSFS=y | ||||
| CONFIG_TMPFS=y | ||||
| # CONFIG_TMPFS_POSIX_ACL is not set | ||||
| # CONFIG_HUGETLB_PAGE is not set | ||||
| CONFIG_RAMFS=y | ||||
| # CONFIG_CONFIGFS_FS is not set | ||||
| 
 | ||||
| # | ||||
| # Miscellaneous filesystems | ||||
| # | ||||
| # CONFIG_ADFS_FS is not set | ||||
| # CONFIG_AFFS_FS is not set | ||||
| # CONFIG_HFS_FS is not set | ||||
| # CONFIG_HFSPLUS_FS is not set | ||||
| # CONFIG_BEFS_FS is not set | ||||
| # CONFIG_BFS_FS is not set | ||||
| # CONFIG_EFS_FS is not set | ||||
| CONFIG_CRAMFS=y | ||||
| # CONFIG_VXFS_FS is not set | ||||
| # CONFIG_HPFS_FS is not set | ||||
| # CONFIG_QNX4FS_FS is not set | ||||
| # CONFIG_SYSV_FS is not set | ||||
| # CONFIG_UFS_FS is not set | ||||
| 
 | ||||
| # | ||||
| # Network File Systems | ||||
| # | ||||
| CONFIG_NFS_FS=y | ||||
| CONFIG_NFS_V3=y | ||||
| # CONFIG_NFS_V3_ACL is not set | ||||
| # CONFIG_NFS_V4 is not set | ||||
| # CONFIG_NFS_DIRECTIO is not set | ||||
| # CONFIG_NFSD is not set | ||||
| CONFIG_ROOT_NFS=y | ||||
| CONFIG_LOCKD=y | ||||
| CONFIG_LOCKD_V4=y | ||||
| CONFIG_NFS_COMMON=y | ||||
| CONFIG_SUNRPC=y | ||||
| # CONFIG_RPCSEC_GSS_KRB5 is not set | ||||
| # CONFIG_RPCSEC_GSS_SPKM3 is not set | ||||
| # CONFIG_SMB_FS is not set | ||||
| # CONFIG_CIFS is not set | ||||
| # CONFIG_NCP_FS is not set | ||||
| # CONFIG_CODA_FS is not set | ||||
| # CONFIG_AFS_FS is not set | ||||
| # CONFIG_9P_FS is not set | ||||
| 
 | ||||
| # | ||||
| # Partition Types | ||||
| # | ||||
| CONFIG_PARTITION_ADVANCED=y | ||||
| # CONFIG_ACORN_PARTITION is not set | ||||
| # CONFIG_OSF_PARTITION is not set | ||||
| # CONFIG_AMIGA_PARTITION is not set | ||||
| # CONFIG_ATARI_PARTITION is not set | ||||
| # CONFIG_MAC_PARTITION is not set | ||||
| CONFIG_MSDOS_PARTITION=y | ||||
| # CONFIG_BSD_DISKLABEL is not set | ||||
| # CONFIG_MINIX_SUBPARTITION is not set | ||||
| # CONFIG_SOLARIS_X86_PARTITION is not set | ||||
| # CONFIG_UNIXWARE_DISKLABEL is not set | ||||
| # CONFIG_LDM_PARTITION is not set | ||||
| # CONFIG_SGI_PARTITION is not set | ||||
| # CONFIG_ULTRIX_PARTITION is not set | ||||
| # CONFIG_SUN_PARTITION is not set | ||||
| # CONFIG_KARMA_PARTITION is not set | ||||
| # CONFIG_EFI_PARTITION is not set | ||||
| 
 | ||||
| # | ||||
| # Native Language Support | ||||
| # | ||||
| # CONFIG_NLS is not set | ||||
| 
 | ||||
| # | ||||
| # Library routines | ||||
| # | ||||
| CONFIG_CRC_CCITT=y | ||||
| # CONFIG_CRC16 is not set | ||||
| CONFIG_CRC32=y | ||||
| # CONFIG_LIBCRC32C is not set | ||||
| CONFIG_ZLIB_INFLATE=y | ||||
| CONFIG_PLIST=y | ||||
| 
 | ||||
| # | ||||
| # Instrumentation Support | ||||
| # | ||||
| # CONFIG_PROFILING is not set | ||||
| 
 | ||||
| # | ||||
| # Kernel hacking | ||||
| # | ||||
| # CONFIG_PRINTK_TIME is not set | ||||
| CONFIG_ENABLE_MUST_CHECK=y | ||||
| # CONFIG_MAGIC_SYSRQ is not set | ||||
| # CONFIG_UNUSED_SYMBOLS is not set | ||||
| # CONFIG_DEBUG_KERNEL is not set | ||||
| CONFIG_LOG_BUF_SHIFT=14 | ||||
| # CONFIG_DEBUG_FS is not set | ||||
| # CONFIG_UNWIND_INFO is not set | ||||
| # CONFIG_HEADERS_CHECK is not set | ||||
| # CONFIG_BOOTX_TEXT is not set | ||||
| # CONFIG_PPC_EARLY_DEBUG is not set | ||||
| 
 | ||||
| # | ||||
| # Security options | ||||
| # | ||||
| # CONFIG_KEYS is not set | ||||
| # CONFIG_SECURITY is not set | ||||
| 
 | ||||
| # | ||||
| # Cryptographic options | ||||
| # | ||||
| # CONFIG_CRYPTO is not set | ||||
| @ -3,3 +3,4 @@ | ||||
| #
 | ||||
| obj-$(CONFIG_PPC_8xx)	  += m8xx_setup.o | ||||
| obj-$(CONFIG_MPC885ADS)   += mpc885ads_setup.o | ||||
| obj-$(CONFIG_MPC86XADS)   += mpc86xads_setup.o | ||||
|  | ||||
							
								
								
									
										95
									
								
								arch/powerpc/platforms/8xx/mpc86xads.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										95
									
								
								arch/powerpc/platforms/8xx/mpc86xads.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,95 @@ | ||||
| /*
 | ||||
|  * A collection of structures, addresses, and values associated with | ||||
|  * the Freescale MPC86xADS board. | ||||
|  * Copied from the FADS stuff. | ||||
|  * | ||||
|  * Author: MontaVista Software, Inc. | ||||
|  *         source@mvista.com | ||||
|  * | ||||
|  * 2005 (c) MontaVista Software, Inc.  This file is licensed under the | ||||
|  * terms of the GNU General Public License version 2.  This program is licensed | ||||
|  * "as is" without any warranty of any kind, whether express or implied. | ||||
|  */ | ||||
| 
 | ||||
| #ifdef __KERNEL__ | ||||
| #ifndef __ASM_MPC86XADS_H__ | ||||
| #define __ASM_MPC86XADS_H__ | ||||
| 
 | ||||
| #include <asm/ppcboot.h> | ||||
| #include <sysdev/fsl_soc.h> | ||||
| 
 | ||||
| /* U-Boot maps BCSR to 0xff080000 */ | ||||
| #define BCSR_ADDR		((uint)0xff080000) | ||||
| #define BCSR_SIZE		((uint)32) | ||||
| #define BCSR0			((uint)(BCSR_ADDR + 0x00)) | ||||
| #define BCSR1			((uint)(BCSR_ADDR + 0x04)) | ||||
| #define BCSR2			((uint)(BCSR_ADDR + 0x08)) | ||||
| #define BCSR3			((uint)(BCSR_ADDR + 0x0c)) | ||||
| #define BCSR4			((uint)(BCSR_ADDR + 0x10)) | ||||
| 
 | ||||
| #define CFG_PHYDEV_ADDR		((uint)0xff0a0000) | ||||
| #define BCSR5			((uint)(CFG_PHYDEV_ADDR + 0x300)) | ||||
| 
 | ||||
| #define IMAP_ADDR		(get_immrbase()) | ||||
| #define IMAP_SIZE		((uint)(64 * 1024)) | ||||
| 
 | ||||
| #define MPC8xx_CPM_OFFSET	(0x9c0) | ||||
| #define CPM_MAP_ADDR		(get_immrbase() + MPC8xx_CPM_OFFSET) | ||||
| #define CPM_IRQ_OFFSET		16     // for compability with cpm_uart driver
 | ||||
| 
 | ||||
| #define PCMCIA_MEM_ADDR		(uint)0xff020000) | ||||
| #define PCMCIA_MEM_SIZE		((uint)(64 * 1024)) | ||||
| 
 | ||||
| /* Bits of interest in the BCSRs.
 | ||||
|  */ | ||||
| #define BCSR1_ETHEN		((uint)0x20000000) | ||||
| #define BCSR1_IRDAEN		((uint)0x10000000) | ||||
| #define BCSR1_RS232EN_1		((uint)0x01000000) | ||||
| #define BCSR1_PCCEN		((uint)0x00800000) | ||||
| #define BCSR1_PCCVCC0		((uint)0x00400000) | ||||
| #define BCSR1_PCCVPP0		((uint)0x00200000) | ||||
| #define BCSR1_PCCVPP1		((uint)0x00100000) | ||||
| #define BCSR1_PCCVPP_MASK	(BCSR1_PCCVPP0 | BCSR1_PCCVPP1) | ||||
| #define BCSR1_RS232EN_2		((uint)0x00040000) | ||||
| #define BCSR1_PCCVCC1		((uint)0x00010000) | ||||
| #define BCSR1_PCCVCC_MASK	(BCSR1_PCCVCC0 | BCSR1_PCCVCC1) | ||||
| 
 | ||||
| #define BCSR4_ETH10_RST		((uint)0x80000000)	/* 10Base-T PHY reset*/ | ||||
| #define BCSR4_USB_LO_SPD	((uint)0x04000000) | ||||
| #define BCSR4_USB_VCC		((uint)0x02000000) | ||||
| #define BCSR4_USB_FULL_SPD	((uint)0x00040000) | ||||
| #define BCSR4_USB_EN		((uint)0x00020000) | ||||
| 
 | ||||
| #define BCSR5_MII2_EN		0x40 | ||||
| #define BCSR5_MII2_RST		0x20 | ||||
| #define BCSR5_T1_RST		0x10 | ||||
| #define BCSR5_ATM155_RST	0x08 | ||||
| #define BCSR5_ATM25_RST		0x04 | ||||
| #define BCSR5_MII1_EN		0x02 | ||||
| #define BCSR5_MII1_RST		0x01 | ||||
| 
 | ||||
| /* Interrupt level assignments */ | ||||
| #define PHY_INTERRUPT	SIU_IRQ7	/* PHY link change interrupt */ | ||||
| #define SIU_INT_FEC1	SIU_LEVEL1	/* FEC1 interrupt */ | ||||
| #define FEC_INTERRUPT	SIU_INT_FEC1	/* FEC interrupt */ | ||||
| 
 | ||||
| /* We don't use the 8259 */ | ||||
| #define NR_8259_INTS	0 | ||||
| 
 | ||||
| /* CPM Ethernet through SCC1 */ | ||||
| #define PA_ENET_RXD     ((ushort)0x0001) | ||||
| #define PA_ENET_TXD     ((ushort)0x0002) | ||||
| #define PA_ENET_TCLK    ((ushort)0x0100) | ||||
| #define PA_ENET_RCLK    ((ushort)0x0200) | ||||
| #define PB_ENET_TENA    ((uint)0x00001000) | ||||
| #define PC_ENET_CLSN    ((ushort)0x0010) | ||||
| #define PC_ENET_RENA    ((ushort)0x0020) | ||||
| 
 | ||||
| /* Control bits in the SICR to route TCLK (CLK1) and RCLK (CLK2) to
 | ||||
|  * SCC1.  Also, make sure GR1 (bit 24) and SC1 (bit 25) are zero. | ||||
|  */ | ||||
| #define SICR_ENET_MASK  ((uint)0x000000ff) | ||||
| #define SICR_ENET_CLKRT ((uint)0x0000002c) | ||||
| 
 | ||||
| #endif /* __ASM_MPC86XADS_H__ */ | ||||
| #endif /* __KERNEL__ */ | ||||
							
								
								
									
										301
									
								
								arch/powerpc/platforms/8xx/mpc86xads_setup.c
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										301
									
								
								arch/powerpc/platforms/8xx/mpc86xads_setup.c
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,301 @@ | ||||
| /*arch/ppc/platforms/mpc86xads-setup.c
 | ||||
|  * | ||||
|  * Platform setup for the Freescale mpc86xads board | ||||
|  * | ||||
|  * Vitaly Bordug <vbordug@ru.mvista.com> | ||||
|  * | ||||
|  * Copyright 2005 MontaVista Software Inc. | ||||
|  * | ||||
|  * This file is licensed under the terms of the GNU General Public License | ||||
|  * version 2. This program is licensed "as is" without any warranty of any | ||||
|  * kind, whether express or implied. | ||||
|  */ | ||||
| 
 | ||||
| #include <linux/init.h> | ||||
| #include <linux/module.h> | ||||
| #include <linux/param.h> | ||||
| #include <linux/string.h> | ||||
| #include <linux/ioport.h> | ||||
| #include <linux/device.h> | ||||
| #include <linux/delay.h> | ||||
| #include <linux/root_dev.h> | ||||
| 
 | ||||
| #include <linux/fs_enet_pd.h> | ||||
| #include <linux/fs_uart_pd.h> | ||||
| #include <linux/mii.h> | ||||
| 
 | ||||
| #include <asm/delay.h> | ||||
| #include <asm/io.h> | ||||
| #include <asm/machdep.h> | ||||
| #include <asm/page.h> | ||||
| #include <asm/processor.h> | ||||
| #include <asm/system.h> | ||||
| #include <asm/time.h> | ||||
| #include <asm/ppcboot.h> | ||||
| #include <asm/mpc8xx.h> | ||||
| #include <asm/8xx_immap.h> | ||||
| #include <asm/commproc.h> | ||||
| #include <asm/fs_pd.h> | ||||
| #include <asm/prom.h> | ||||
| 
 | ||||
| extern void cpm_reset(void); | ||||
| extern void mpc8xx_show_cpuinfo(struct seq_file*); | ||||
| extern void mpc8xx_restart(char *cmd); | ||||
| extern void mpc8xx_calibrate_decr(void); | ||||
| extern int mpc8xx_set_rtc_time(struct rtc_time *tm); | ||||
| extern void mpc8xx_get_rtc_time(struct rtc_time *tm); | ||||
| extern void m8xx_pic_init(void); | ||||
| extern unsigned int mpc8xx_get_irq(void); | ||||
| 
 | ||||
| static void init_smc1_uart_ioports(struct fs_uart_platform_info* fpi); | ||||
| static void init_smc2_uart_ioports(struct fs_uart_platform_info* fpi); | ||||
| static void init_scc1_ioports(struct fs_platform_info* ptr); | ||||
| 
 | ||||
| void __init mpc86xads_board_setup(void) | ||||
| { | ||||
| 	cpm8xx_t *cp; | ||||
|  	unsigned int *bcsr_io; | ||||
| 	u8 tmpval8; | ||||
| 
 | ||||
| 	bcsr_io = ioremap(BCSR1, sizeof(unsigned long)); | ||||
| 	cp = (cpm8xx_t *)immr_map(im_cpm); | ||||
| 
 | ||||
| 	if (bcsr_io == NULL) { | ||||
| 		printk(KERN_CRIT "Could not remap BCSR\n"); | ||||
| 		return; | ||||
| 	} | ||||
| #ifdef CONFIG_SERIAL_CPM_SMC1 | ||||
| 	clrbits32(bcsr_io, BCSR1_RS232EN_1); | ||||
| 	clrbits32(&cp->cp_simode, 0xe0000000 >> 17);	/* brg1 */ | ||||
| 	tmpval8 = in_8(&(cp->cp_smc[0].smc_smcm)) | (SMCM_RX | SMCM_TX); | ||||
| 	out_8(&(cp->cp_smc[0].smc_smcm), tmpval8); | ||||
| 	clrbits16(&cp->cp_smc[0].smc_smcmr, SMCMR_REN | SMCMR_TEN); | ||||
| #else | ||||
| 	setbits32(bcsr_io,BCSR1_RS232EN_1); | ||||
| 	out_be16(&cp->cp_smc[0].smc_smcmr, 0); | ||||
| 	out_8(&cp->cp_smc[0].smc_smce, 0); | ||||
| #endif | ||||
| 
 | ||||
| #ifdef CONFIG_SERIAL_CPM_SMC2 | ||||
| 	clrbits32(bcsr_io,BCSR1_RS232EN_2); | ||||
| 	clrbits32(&cp->cp_simode, 0xe0000000 >> 1); | ||||
| 	setbits32(&cp->cp_simode, 0x20000000 >> 1);	/* brg2 */ | ||||
| 	tmpval8 = in_8(&(cp->cp_smc[1].smc_smcm)) | (SMCM_RX | SMCM_TX); | ||||
| 	out_8(&(cp->cp_smc[1].smc_smcm), tmpval8); | ||||
| 	clrbits16(&cp->cp_smc[1].smc_smcmr, SMCMR_REN | SMCMR_TEN); | ||||
| 
 | ||||
| 	init_smc2_uart_ioports(0); | ||||
| #else | ||||
| 	setbits32(bcsr_io,BCSR1_RS232EN_2); | ||||
| 	out_be16(&cp->cp_smc[1].smc_smcmr, 0); | ||||
| 	out_8(&cp->cp_smc[1].smc_smce, 0); | ||||
| #endif | ||||
| 	immr_unmap(cp); | ||||
| 	iounmap(bcsr_io); | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| static void init_fec1_ioports(struct fs_platform_info* ptr) | ||||
| { | ||||
| 	iop8xx_t *io_port = (iop8xx_t *)immr_map(im_ioport); | ||||
| 
 | ||||
| 	/* configure FEC1 pins  */ | ||||
| 
 | ||||
| 	setbits16(&io_port->iop_pdpar, 0x1fff); | ||||
| 	setbits16(&io_port->iop_pddir, 0x1fff); | ||||
| 
 | ||||
| 	immr_unmap(io_port); | ||||
| } | ||||
| 
 | ||||
| void init_fec_ioports(struct fs_platform_info *fpi) | ||||
| { | ||||
| 	int fec_no = fs_get_fec_index(fpi->fs_no); | ||||
| 
 | ||||
| 	switch (fec_no) { | ||||
| 	case 0: | ||||
| 		init_fec1_ioports(fpi); | ||||
| 		break; | ||||
| 	default: | ||||
| 		printk(KERN_ERR "init_fec_ioports: invalid FEC number\n"); | ||||
| 		return; | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| static void init_scc1_ioports(struct fs_platform_info* fpi) | ||||
| { | ||||
| 	unsigned *bcsr_io; | ||||
| 	iop8xx_t *io_port; | ||||
| 	cpm8xx_t *cp; | ||||
| 
 | ||||
| 	bcsr_io = ioremap(BCSR_ADDR, BCSR_SIZE); | ||||
| 	io_port = (iop8xx_t *)immr_map(im_ioport); | ||||
| 	cp = (cpm8xx_t *)immr_map(im_cpm); | ||||
| 
 | ||||
| 	if (bcsr_io == NULL) { | ||||
| 		printk(KERN_CRIT "Could not remap BCSR\n"); | ||||
| 		return; | ||||
| 	} | ||||
| 
 | ||||
| 	/* Configure port A pins for Txd and Rxd.
 | ||||
| 	 */ | ||||
| 	setbits16(&io_port->iop_papar, PA_ENET_RXD | PA_ENET_TXD); | ||||
| 	clrbits16(&io_port->iop_padir, PA_ENET_RXD | PA_ENET_TXD); | ||||
| 	clrbits16(&io_port->iop_paodr, PA_ENET_TXD); | ||||
| 
 | ||||
| 	/* Configure port C pins to enable CLSN and RENA.
 | ||||
| 	 */ | ||||
| 	clrbits16(&io_port->iop_pcpar, PC_ENET_CLSN | PC_ENET_RENA); | ||||
| 	clrbits16(&io_port->iop_pcdir, PC_ENET_CLSN | PC_ENET_RENA); | ||||
| 	setbits16(&io_port->iop_pcso, PC_ENET_CLSN | PC_ENET_RENA); | ||||
| 
 | ||||
| 	/* Configure port A for TCLK and RCLK.
 | ||||
| 	 */ | ||||
| 	setbits16(&io_port->iop_papar, PA_ENET_TCLK | PA_ENET_RCLK); | ||||
|         clrbits16(&io_port->iop_padir, PA_ENET_TCLK | PA_ENET_RCLK); | ||||
|         clrbits32(&cp->cp_pbpar, PB_ENET_TENA); | ||||
|         clrbits32(&cp->cp_pbdir, PB_ENET_TENA); | ||||
| 
 | ||||
| 	/* Configure Serial Interface clock routing.
 | ||||
| 	 * First, clear all SCC bits to zero, then set the ones we want. | ||||
| 	 */ | ||||
| 	clrbits32(&cp->cp_sicr, SICR_ENET_MASK); | ||||
| 	setbits32(&cp->cp_sicr, SICR_ENET_CLKRT); | ||||
| 
 | ||||
| 	/* In the original SCC enet driver the following code is placed at
 | ||||
| 	   the end of the initialization */ | ||||
|         setbits32(&cp->cp_pbpar, PB_ENET_TENA); | ||||
|         setbits32(&cp->cp_pbdir, PB_ENET_TENA); | ||||
| 
 | ||||
| 	clrbits32(bcsr_io+1, BCSR1_ETHEN); | ||||
| 	iounmap(bcsr_io); | ||||
| 	immr_unmap(cp); | ||||
| 	immr_unmap(io_port); | ||||
| } | ||||
| 
 | ||||
| void init_scc_ioports(struct fs_platform_info *fpi) | ||||
| { | ||||
| 	int scc_no = fs_get_scc_index(fpi->fs_no); | ||||
| 
 | ||||
| 	switch (scc_no) { | ||||
| 	case 0: | ||||
| 		init_scc1_ioports(fpi); | ||||
| 		break; | ||||
| 	default: | ||||
| 		printk(KERN_ERR "init_scc_ioports: invalid SCC number\n"); | ||||
| 		return; | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| static void init_smc1_uart_ioports(struct fs_uart_platform_info* ptr) | ||||
| { | ||||
|         unsigned *bcsr_io; | ||||
| 	cpm8xx_t *cp = (cpm8xx_t *)immr_map(im_cpm); | ||||
| 
 | ||||
| 	setbits32(&cp->cp_pbpar, 0x000000c0); | ||||
| 	clrbits32(&cp->cp_pbdir, 0x000000c0); | ||||
| 	clrbits16(&cp->cp_pbodr, 0x00c0); | ||||
| 	immr_unmap(cp); | ||||
| 
 | ||||
|         bcsr_io = ioremap(BCSR1, sizeof(unsigned long)); | ||||
| 
 | ||||
|         if (bcsr_io == NULL) { | ||||
|                 printk(KERN_CRIT "Could not remap BCSR1\n"); | ||||
|                 return; | ||||
|         } | ||||
|         clrbits32(bcsr_io,BCSR1_RS232EN_1); | ||||
|         iounmap(bcsr_io); | ||||
| } | ||||
| 
 | ||||
| static void init_smc2_uart_ioports(struct fs_uart_platform_info* fpi) | ||||
| { | ||||
|         unsigned *bcsr_io; | ||||
| 	cpm8xx_t *cp = (cpm8xx_t *)immr_map(im_cpm); | ||||
| 
 | ||||
| 	setbits32(&cp->cp_pbpar, 0x00000c00); | ||||
| 	clrbits32(&cp->cp_pbdir, 0x00000c00); | ||||
| 	clrbits16(&cp->cp_pbodr, 0x0c00); | ||||
| 	immr_unmap(cp); | ||||
| 
 | ||||
|         bcsr_io = ioremap(BCSR1, sizeof(unsigned long)); | ||||
| 
 | ||||
|         if (bcsr_io == NULL) { | ||||
|                 printk(KERN_CRIT "Could not remap BCSR1\n"); | ||||
|                 return; | ||||
|         } | ||||
|         clrbits32(bcsr_io,BCSR1_RS232EN_2); | ||||
|         iounmap(bcsr_io); | ||||
| } | ||||
| 
 | ||||
| void init_smc_ioports(struct fs_uart_platform_info *data) | ||||
| { | ||||
| 	int smc_no = fs_uart_id_fsid2smc(data->fs_no); | ||||
| 
 | ||||
| 	switch (smc_no) { | ||||
| 	case 0: | ||||
| 		init_smc1_uart_ioports(data); | ||||
| 		data->brg = data->clk_rx; | ||||
| 		break; | ||||
| 	case 1: | ||||
| 		init_smc2_uart_ioports(data); | ||||
| 		data->brg = data->clk_rx; | ||||
| 		break; | ||||
| 	default: | ||||
| 		printk(KERN_ERR "init_scc_ioports: invalid SCC number\n"); | ||||
| 		return; | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| int platform_device_skip(char *model, int id) | ||||
| { | ||||
| 	return 0; | ||||
| } | ||||
| 
 | ||||
| static void __init mpc86xads_setup_arch(void) | ||||
| { | ||||
| 	struct device_node *cpu; | ||||
| 
 | ||||
| 	cpu = of_find_node_by_type(NULL, "cpu"); | ||||
| 	if (cpu != 0) { | ||||
| 		const unsigned int *fp; | ||||
| 
 | ||||
| 		fp = get_property(cpu, "clock-frequency", NULL); | ||||
| 		if (fp != 0) | ||||
| 			loops_per_jiffy = *fp / HZ; | ||||
| 		else | ||||
| 			loops_per_jiffy = 50000000 / HZ; | ||||
| 		of_node_put(cpu); | ||||
| 	} | ||||
| 
 | ||||
| 	cpm_reset(); | ||||
| 
 | ||||
| 	mpc86xads_board_setup(); | ||||
| 
 | ||||
| 	ROOT_DEV = Root_NFS; | ||||
| } | ||||
| 
 | ||||
| static int __init mpc86xads_probe(void) | ||||
| { | ||||
| 	char *model = of_get_flat_dt_prop(of_get_flat_dt_root(), | ||||
| 					  "model", NULL); | ||||
| 	if (model == NULL) | ||||
| 		return 0; | ||||
| 	if (strcmp(model, "MPC866ADS")) | ||||
| 		return 0; | ||||
| 
 | ||||
| 	return 1; | ||||
| } | ||||
| 
 | ||||
| define_machine(mpc86x_ads) { | ||||
| 	.name			= "MPC86x ADS", | ||||
| 	.probe			= mpc86xads_probe, | ||||
| 	.setup_arch		= mpc86xads_setup_arch, | ||||
| 	.init_IRQ		= m8xx_pic_init, | ||||
| 	.show_cpuinfo		= mpc8xx_show_cpuinfo, | ||||
| 	.get_irq		= mpc8xx_get_irq, | ||||
| 	.restart		= mpc8xx_restart, | ||||
| 	.calibrate_decr		= mpc8xx_calibrate_decr, | ||||
| 	.set_rtc_time		= mpc8xx_set_rtc_time, | ||||
| 	.get_rtc_time		= mpc8xx_get_rtc_time, | ||||
| }; | ||||
| @ -15,6 +15,10 @@ | ||||
| #include <platforms/fads.h> | ||||
| #endif | ||||
| 
 | ||||
| #if defined(CONFIG_MPC86XADS) | ||||
| #include <platforms/8xx/mpc86xads.h> | ||||
| #endif | ||||
| 
 | ||||
| #if defined(CONFIG_MPC885ADS) | ||||
| #include <platforms/8xx/mpc885ads.h> | ||||
| #endif | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user