From: xxx Date: Tue, 4 Jun 2013 06:50:36 +0000 (+0800) Subject: rk3188: add ft board X-Git-Tag: firefly_0821_release~7009 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=5774549fa9c608a3d18f43fdb284c10419776f32;p=firefly-linux-kernel-4.4.55.git rk3188: add ft board --- diff --git a/arch/arm/configs/rk3188_ft_defconfig b/arch/arm/configs/rk3188_ft_defconfig new file mode 100644 index 000000000000..6f2b813cf795 --- /dev/null +++ b/arch/arm/configs/rk3188_ft_defconfig @@ -0,0 +1,85 @@ +CONFIG_EXPERIMENTAL=y +# CONFIG_LOCALVERSION_AUTO is not set +CONFIG_KERNEL_LZO=y +CONFIG_LOG_BUF_SHIFT=12 +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +# CONFIG_UID16 is not set +# CONFIG_HOTPLUG is not set +# CONFIG_ELF_CORE is not set +# CONFIG_BASE_FULL is not set +# CONFIG_FUTEX is not set +# CONFIG_EPOLL is not set +# CONFIG_SIGNALFD is not set +# CONFIG_TIMERFD is not set +# CONFIG_EVENTFD is not set +# CONFIG_SHMEM is not set +# CONFIG_AIO is not set +CONFIG_EMBEDDED=y +# CONFIG_VM_EVENT_COUNTERS is not set +# CONFIG_SLUB_DEBUG is not set +# CONFIG_BLOCK is not set +CONFIG_ARCH_RK3188=y +CONFIG_DDR_INIT_CHANGE_FREQ=y +CONFIG_DDR_SDRAM_FREQ=336 +# CONFIG_DDR_FREQ is not set +# CONFIG_DDR_TEST is not set +CONFIG_RK_PM_TESTS=y +# CONFIG_PM_TEST_CLK_RATE is not set +# CONFIG_PM_TEST_CLK_VOLT is not set +# CONFIG_PM_TEST_MAXFREQ is not set +CONFIG_PM_TEST_FT=y +# CONFIG_RK29_LAST_LOG is not set +# CONFIG_RK_EARLY_PRINTK is not set +# CONFIG_RK_CONSOLE_THREAD is not set +CONFIG_MACH_RK3188_FT=y +CONFIG_FIQ_DEBUGGER=y +CONFIG_FIQ_DEBUGGER_NO_SLEEP=y +CONFIG_FIQ_DEBUGGER_CONSOLE=y +CONFIG_FIQ_DEBUGGER_CONSOLE_DEFAULT_ENABLE=y +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_SMP=y +# CONFIG_SMP_ON_UP is not set +CONFIG_PREEMPT=y +CONFIG_AEABI=y +# CONFIG_OABI_COMPAT is not set +CONFIG_HIGHMEM=y +CONFIG_DEFAULT_MMAP_MIN_ADDR=32768 +CONFIG_ZBOOT_ROM_TEXT=0x0 +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_CMDLINE="console=ttyFIQ0" +CONFIG_CMDLINE_FORCE=y +CONFIG_CPU_IDLE=y +CONFIG_VFP=y +CONFIG_NEON=y +# CONFIG_BINFMT_ELF is not set +# CONFIG_SUSPEND is not set +# CONFIG_FW_LOADER is not set +# CONFIG_INPUT is not set +# CONFIG_SERIO is not set +# CONFIG_VT is not set +# CONFIG_UNIX98_PTYS is not set +# CONFIG_LEGACY_PTYS is not set +# CONFIG_DEVMEM is not set +# CONFIG_DEVKMEM is not set +# CONFIG_HW_RANDOM is not set +# CONFIG_ADC is not set +CONFIG_EXPANDED_GPIO_NUM=0 +CONFIG_EXPANDED_GPIO_IRQ_NUM=0 +CONFIG_SPI_FPGA_GPIO_NUM=0 +CONFIG_SPI_FPGA_GPIO_IRQ_NUM=0 +# CONFIG_HWMON is not set +# CONFIG_MFD_SUPPORT is not set +# CONFIG_USB_SUPPORT is not set +# CONFIG_CMMB is not set +# CONFIG_FILE_LOCKING is not set +# CONFIG_DNOTIFY is not set +# CONFIG_INOTIFY_USER is not set +# CONFIG_PROC_FS is not set +# CONFIG_MISC_FILESYSTEMS is not set +CONFIG_PRINTK_TIME=y +CONFIG_MAGIC_SYSRQ=y +CONFIG_DEBUG_KERNEL=y +# CONFIG_FTRACE is not set +CONFIG_OC_ETM=y +# CONFIG_CRC32 is not set diff --git a/arch/arm/mach-rk3188/Kconfig b/arch/arm/mach-rk3188/Kconfig index 42844dd842f7..7cb69a317106 100755 --- a/arch/arm/mach-rk3188/Kconfig +++ b/arch/arm/mach-rk3188/Kconfig @@ -36,4 +36,7 @@ config MACH_RK3188_JETTAB config MACH_RK3188M_TB bool "RK3188m Top Board" +config MACH_RK3188_FT + bool "RK3188 FT Board" + endchoice diff --git a/arch/arm/mach-rk3188/Makefile b/arch/arm/mach-rk3188/Makefile index 141483d89965..78e2587fa93b 100755 --- a/arch/arm/mach-rk3188/Makefile +++ b/arch/arm/mach-rk3188/Makefile @@ -22,6 +22,7 @@ obj-y += delayline.o board-$(CONFIG_MACH_RK3188_FPGA) += board-rk3188-fpga.o board-$(CONFIG_MACH_RK3188_TB) += ../mach-rk30/board-rk3168-tb.o +board-$(CONFIG_MACH_RK3188_FT) += board-rk3188-ft.o board-$(CONFIG_MACH_RK3188_SDK) += board-rk3188-sdk.o board-$(CONFIG_MACH_RK3188_LR097) += ../mach-rk30/board-rk3168-LR097.o board-$(CONFIG_MACH_RK3188_DS1006H) += board-rk3188-ds1006h.o diff --git a/arch/arm/mach-rk3188/board-rk3188-ft.c b/arch/arm/mach-rk3188/board-rk3188-ft.c new file mode 100755 index 000000000000..3e90a5bf0268 --- /dev/null +++ b/arch/arm/mach-rk3188/board-rk3188-ft.c @@ -0,0 +1,69 @@ +/* + * + * Copyright (C) 2013 ROCKCHIP, Inc. + * + * This software is licensed under the terms of the GNU General Public + * License version 2, as published by the Free Software Foundation, and + * may be copied, distributed, and modified under those terms. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + */ + +#include +#include +#include +#include +#include + +#include +#include + +#include +#include + +#define FT + +#ifdef FT +#define CONSOLE_LOGLEVEL 2 +#define ARM_PLL_MHZ (816) +#else +#define CONSOLE_LOGLEVEL 9 +#define ARM_PLL_MHZ (816) +#endif + +static void __init machine_rk30_board_init(void) +{ + console_loglevel = CONSOLE_LOGLEVEL; +} + +#define ft_printk(fmt, arg...) \ + printk(KERN_EMERG fmt, ##arg) + +void __init board_clock_init(void) +{ + rk30_clock_data_init(periph_pll_default, codec_pll_default, RK30_CLOCKS_DEFAULT_FLAGS); + clk_set_rate(clk_get(NULL, "cpu"), ARM_PLL_MHZ * 1000 * 1000); + preset_lpj = loops_per_jiffy; +} + +static void __init ft_fixup(struct machine_desc *desc, struct tag *tags, + char **cmdline, struct meminfo *mi) +{ + mi->nr_banks = 1; + mi->bank[0].start = PLAT_PHYS_OFFSET; + mi->bank[0].size = SZ_1G; +} + +MACHINE_START(RK30, "RK30board") + .boot_params = PLAT_PHYS_OFFSET + 0x800, + .fixup = ft_fixup, + .map_io = rk30_map_io, + .init_irq = rk30_init_irq, + .timer = &rk30_timer, + .init_machine = machine_rk30_board_init, +MACHINE_END +