# Copyright (C) 2006-2014 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. # config KERNEL_BUILD_USER string "Custom Kernel Build User Name" default "" help Sets the Kernel build user string, which for example will be returned by 'uname -a' on running systems. If not set, uses system user at build time. config KERNEL_BUILD_DOMAIN string "Custom Kernel Build Domain Name" default "" help Sets the Kernel build domain string, which for example will be returned by 'uname -a' on running systems. If not set, uses system hostname at build time. config KERNEL_PRINTK bool "Enable support for printk" default y config KERNEL_CRASHLOG bool "Crash logging" depends on !(arm || powerpc || sparc || TARGET_uml || i386 || x86_64) default y config KERNEL_SWAP bool "Support for paging of anonymous memory (swap)" default y if !SMALL_FLASH config KERNEL_DEBUG_FS bool "Compile the kernel with debug filesystem enabled" default y help debugfs is a virtual file system that kernel developers use to put debugging files into. Enable this option to be able to read and write to these files. Many common debugging facilities, such as ftrace, require the existence of debugfs. config KERNEL_MIPS_FPU_EMULATOR bool "Compile the kernel with MIPS FPU Emulator" default y if TARGET_pistachio depends on (mips || mipsel || mips64 || mips64el) config KERNEL_ARM_PMU bool default n depends on (arm || aarch64) config KERNEL_PERF_EVENTS bool "Compile the kernel with performance events and counters" default n select KERNEL_ARM_PMU if (arm || aarch64) config KERNEL_PROFILING bool "Compile the kernel with profiling enabled" default n select KERNEL_PERF_EVENTS help Enable the extended profiling support mechanisms used by profilers such as OProfile. config KERNEL_TASKSTATS bool "Compile the kernel with task resource/io statistics and accounting" default n help Enable the collection and publishing of task/io statistics and accounting. Enable this option to enable i/o monitoring in system monitors. if KERNEL_TASKSTATS config KERNEL_TASK_DELAY_ACCT def_bool y config KERNEL_TASK_IO_ACCOUNTING def_bool y config KERNEL_TASK_XACCT def_bool y endif config KERNEL_KALLSYMS bool "Compile the kernel with symbol table information" default y if !SMALL_FLASH help This will give you more information in stack traces from kernel oopses. config KERNEL_FTRACE bool "Compile the kernel with tracing support" depends on !TARGET_uml default n config KERNEL_FTRACE_SYSCALLS bool "Trace system calls" depends on KERNEL_FTRACE default n config KERNEL_ENABLE_DEFAULT_TRACERS bool "Trace process context switches and events" depends on KERNEL_FTRACE default n config KERNEL_FUNCTION_TRACER bool "Function tracer" depends on KERNEL_FTRACE default n config KERNEL_FUNCTION_GRAPH_TRACER bool "Function graph tracer" depends on KERNEL_FUNCTION_TRACER default n config KERNEL_DYNAMIC_FTRACE bool "Enable/disable function tracing dynamically" depends on KERNEL_FUNCTION_TRACER default n config KERNEL_FUNCTION_PROFILER bool "Function profiler" depends on KERNEL_FUNCTION_TRACER default n config KERNEL_DEBUG_KERNEL bool default n config KERNEL_DEBUG_INFO bool "Compile the kernel with debug information" default y if !SMALL_FLASH select KERNEL_DEBUG_KERNEL help This will compile your kernel and modules with debug information. config KERNEL_DEBUG_LL_UART_NONE bool default n depends on arm config KERNEL_DEBUG_LL bool default n depends on arm select KERNEL_DEBUG_LL_UART_NONE help ARM low level debugging. config KERNEL_DYNAMIC_DEBUG bool "Compile the kernel with dynamic printk" select KERNEL_DEBUG_FS default n help Compiles debug level messages into the kernel, which would not otherwise be available at runtime. These messages can then be enabled/disabled based on various levels of scope - per source file, function, module, format string, and line number. This mechanism implicitly compiles in all pr_debug() and dev_dbg() calls, which enlarges the kernel text size by about 2%. config KERNEL_EARLY_PRINTK bool "Compile the kernel with early printk" default y if TARGET_bcm53xx default n depends on arm select KERNEL_DEBUG_KERNEL select KERNEL_DEBUG_LL if arm help Compile the kernel with early printk support. This is only useful for debugging purposes to send messages over the serial console in early boot. Enable this to debug early boot problems. config KERNEL_KPROBES bool "Compile the kernel with kprobes support" default n select KERNEL_FTRACE select KERNEL_PERF_EVENTS help Compiles the kernel with KPROBES support, which allows you to trap at almost any kernel address and execute a callback function. register_kprobe() establishes a probepoint and specifies the callback. Kprobes is useful for kernel debugging, non-intrusive instrumentation and testing. If in doubt, say "N". config KERNEL_KPROBE_EVENT bool default y if KERNEL_KPROBES config KERNEL_AIO bool "Compile the kernel with asynchronous IO support" default n config KERNEL_FHANDLE bool "Compile the kernel with support for fhandle syscalls" default n config KERNEL_FANOTIFY bool "Compile the kernel with modern file notification support" default n config KERNEL_BLK_DEV_BSG bool "Compile the kernel with SCSI generic v4 support for any block device" default n config KERNEL_MAGIC_SYSRQ bool "Compile the kernel with SysRq support" default y config KERNEL_DEBUG_PINCTRL bool "Compile the kernel with pinctrl debugging" select KERNEL_DEBUG_KERNEL config KERNEL_DEBUG_GPIO bool "Compile the kernel with gpio debugging" select KERNEL_DEBUG_KERNEL config KERNEL_COREDUMP bool config KERNEL_ELF_CORE bool "Enable process core dump support" select KERNEL_COREDUMP default y if !SMALL_FLASH config KERNEL_PROVE_LOCKING bool "Enable kernel lock checking" select KERNEL_DEBUG_KERNEL default n config KERNEL_PRINTK_TIME bool "Enable printk timestamps" default y config KERNEL_SLUB_DEBUG bool config KERNEL_SLUB_DEBUG_ON bool config KERNEL_SLABINFO select KERNEL_SLUB_DEBUG select KERNEL_SLUB_DEBUG_ON bool "Enable /proc slab debug info" config KERNEL_PROC_PAGE_MONITOR bool "Enable /proc page monitoring" config KERNEL_RELAY bool config KERNEL_KEXEC bool "Enable kexec support" config KERNEL_PROC_VMCORE bool config KERNEL_CRASH_DUMP depends on i386 || x86_64 || arm || armeb select KERNEL_KEXEC select KERNEL_PROC_VMCORE bool "Enable support for kexec crashdump" default y config USE_RFKILL bool "Enable rfkill support" default RFKILL_SUPPORT config USE_SPARSE bool "Enable sparse check during kernel build" default n config KERNEL_DEVTMPFS bool "Compile the kernel with device tmpfs enabled" default n help devtmpfs is a simple, kernel-managed /dev filesystem. The kernel creates devices nodes for all registered devices to simplify boot, but leaves more complex tasks to userspace (e.g. udev). if KERNEL_DEVTMPFS config KERNEL_DEVTMPFS_MOUNT bool "Automatically mount devtmpfs after root filesystem is mounted" default n endif config KERNEL_KEYS bool "Enable kernel access key retention support" default n config KERNEL_PERSISTENT_KEYRINGS bool "Enable kernel persistent keyrings" depends on KERNEL_KEYS default n config KERNEL_BIG_KEYS bool "Enable large payload keys on kernel keyrings" depends on KERNEL_KEYS default n config KERNEL_ENCRYPTED_KEYS tristate "Enable keys with encrypted payloads on kernel keyrings" depends on KERNEL_KEYS default n # # CGROUP support symbols # config KERNEL_CGROUPS bool "Enable kernel cgroups" default n if KERNEL_CGROUPS config KERNEL_CGROUP_DEBUG bool "Example debug cgroup subsystem" default n help This option enables a simple cgroup subsystem that exports useful debugging information about the cgroups framework. config KERNEL_FREEZER bool default y if KERNEL_CGROUP_FREEZER config KERNEL_CGROUP_FREEZER bool "Freezer cgroup subsystem" default y help Provides a way to freeze and unfreeze all tasks in a cgroup. config KERNEL_CGROUP_DEVICE bool "Device controller for cgroups" default y help Provides a cgroup implementing whitelists for devices which a process in the cgroup can mknod or open. config KERNEL_CGROUP_PIDS bool "PIDs cgroup subsystem" default y help Provides enforcement of process number limits in the scope of a cgroup. config KERNEL_CPUSETS bool "Cpuset support" default n help This option will let you create and manage CPUSETs which allow dynamically partitioning a system into sets of CPUs and Memory Nodes and assigning tasks to run only within those sets. This is primarily useful on large SMP or NUMA systems. config KERNEL_PROC_PID_CPUSET bool "Include legacy /proc//cpuset file" default n depends on KERNEL_CPUSETS config KERNEL_CGROUP_CPUACCT bool "Simple CPU accounting cgroup subsystem" default n help Provides a simple Resource Controller for monitoring the total CPU consumed by the tasks in a cgroup. config KERNEL_RESOURCE_COUNTERS bool "Resource counters" default n help This option enables controller independent resource accounting infrastructure that works with cgroups. config KERNEL_MM_OWNER bool default y if KERNEL_MEMCG config KERNEL_MEMCG bool "Memory Resource Controller for Control Groups" default n depends on KERNEL_RESOURCE_COUNTERS || !LINUX_3_18 help Provides a memory resource controller that manages both anonymous memory and page cache. (See Documentation/cgroups/memory.txt) Note that setting this option increases fixed memory overhead associated with each page of memory in the system. By this, 20(40)bytes/PAGE_SIZE on 32(64)bit system will be occupied by memory usage tracking struct at boot. Total amount of this is printed out at boot. Only enable when you're ok with these tradeoffs and really sure you need the memory resource controller. Even when you enable this, you can set "cgroup_disable=memory" at your boot option to disable memory resource controller and you can avoid overheads (but lose benefits of memory resource controller). This config option
/dts-v1/;

/include/ "danube.dtsi"

/ {
	model = "ARV4519PW - Vodafone Netfaster IAD 2, Pirelli P.RG A4201G";

	chosen {
		bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";

		leds {
			boot = &power_green;
			failsafe = &power_red;
			running = &power_green;

			dsl = &dsl;
			internet = &internet_green;
			usb = &usb;
			wifi = &wifi;
		};
	};

	memory@0 {
		reg = <0x0 0x2000000>;
	};

	sram@1F000000 {
		vmmc@107000 {
			status = "okay";
			gpios = <&gpio 31 0>;
		};
	};

	fpi@10000000 {
		localbus@0 {
			nor-boot@0 {
				compatible = "lantiq,nor";
				bank-width = <2>;
				reg = <0 0x0 0x2000000>;
				#address-cells = <1>;
				#size-cells = <1>;

				partitions {
					compatible = "fixed-partitions";
					#address-cells = <1>;
					#size-cells = <1>;

					partition@0 {
						label = "uboot";
						reg = <0x00000 0x10000>;
						read-only;
					};

					partition@10000 {
						label = "uboot_env";
						reg = <0x10000 0x10000>;
					};

					partition@20000 {
						label = "firmware";
						reg = <0x20000 0x3d0000>;
					};

					boardconfig: partition@3f0000 {
						label = "boardconfig";
						reg = <0x3f0000 0x10000>;
						read-only;
					};
				};
			};

			gpiomm: gpiomm@4000000 {
				compatible = "lantiq,gpio-mm";
				reg = <1 0x0 0x10 >;
				#address-cells = <1>;
				#size-cells = <1>;
				#gpio-cells = <2>;
				gpio-controller;
				lantiq,shadow = <0x400>;
			};
		};

		gpio: pinmux@E100B10 {
			pinctrl-names = "default";
			pinctrl-0 = <&state_default>;

			state_default: pinmux {
				ebu {
					lantiq,groups = "ebu cs1";
					lantiq,function = "ebu";
				};
			};
		};

		etop@E180000 {
			phy-mode = "mii";
			mtd-mac-address = <&boardconfig 0x16>;
		};

		ifxhcd@E101000 {
			status = "okay";
			gpios = <&gpio 14 0>;
		};

		pci@E105400 {
			status = "okay";
			lantiq,external-clock;
			gpio-reset = <&gpio 21 0>;
			req-mask = <0xf>;
		};
	};

	gpio-keys-polled {
		compatible = "gpio-keys-polled";
		#address-cells = <1>;
		#size-cells = <0>;
		poll-interval = <100>;

		rfkill {
			label = "rfkill";
			gpios = <&gpio 28 1>;
			linux,code = <0xf7>;
		};
		reset {
			label = "reset";
			gpios = <&gpio 30 1>;
			linux,code = <0x198>;
		};
	};

	gpio-leds {
		compatible = "gpio-leds";

		power_green: power {
			label = "arv4519pw:green:power";
			gpios = <&gpio 2 1>;
			default-state = "keep";
		};
		power_red: power2 {
			label = "arv4519pw:red:power";
			gpios = <&gpio 7 1>;
		};
		wifi: wifi {
			label = "arv4519pw:green:wlan";
			gpios = <&gpio 6 1>;
		};
		dsl: dsl {
			label = "arv4519pw:green:dsl";
			gpios = <&gpio 4 1>;
		};
		internet_green: online {
			label = "arv4519pw:green:internet";
			gpios = <&gpio 5 1>;
		};
		online2 {
			label = "arv4519pw:red:internet";
			gpios = <&gpio 8 1>;
		};
		usb: usb {
			label = "arv4519pw:green:usb";
			gpios = <&gpio 19 1>;
		};
		voip {
			label = "arv4519pw:green:voip";
			gpios = <&gpiomm 0 1>;
		};
		fxs1 {
			label = "arv4519pw:green:phone1";
			gpios = <&gpiomm 1 1>;
		};
		fxs2 {
			label = "arv4519pw:green:phone2";
			gpios = <&gpiomm 2 1>;
		};
		fxo {
			label = "arv4519pw:green:line";
			gpios = <&gpiomm 3 1>;
		};
		wps2 {
			label = "arv4519pw:green:wps";
			gpios = <&gpiomm 4 1>;
		};
		wps {
			label = "arv4519pw:orange:wps";
			gpios = <&gpiomm 5 1>;
		};
		wps3 {
			label = "arv4519pw:red:wps";
			gpios = <&gpiomm 6 1>;
		};
	};
};