* [PATCH 0/2] tny-a9263: add spi + bootstrap support @ 2013-01-23 20:49 Jean-Christophe PLAGNIOL-VILLARD 2013-01-23 20:52 ` [PATCH 1/2] tny-a9263: add dataflash support Jean-Christophe PLAGNIOL-VILLARD 2013-01-25 17:36 ` [PATCH 0/2] tny-a9263: add spi + " Sascha Hauer 0 siblings, 2 replies; 4+ messages in thread From: Jean-Christophe PLAGNIOL-VILLARD @ 2013-01-23 20:49 UTC (permalink / raw) To: barebox HI, depends on console none The following changes since commit e75f727c6e048c9978cb47cb8af92488a8251569: introduce console none support (2013-01-19 11:51:53 +0800) are available in the git repository at: git://git.jcrosoft.org/barebox.git delivery/tny_a9263 for you to fetch changes up to 5b41b075420e3547a9dfa7ef1bc0ba015af9db98: tny_a9263: add bootstrop support (2013-01-19 14:41:24 +0800) ---------------------------------------------------------------- Jean-Christophe PLAGNIOL-VILLARD (2): tny-a9263: add dataflash support tny_a9263: add bootstrop support arch/arm/boards/tny-a926x/Makefile | 9 +++++++++ arch/arm/boards/tny-a926x/init.c | 43 ++++++++++++++++++++++++++++++------------- arch/arm/boards/tny-a926x/tny_a9263_bootstrap.c | 16 ++++++++++++++++ arch/arm/boards/tny-a926x/tny_a9263_lowlevel_init.c | 107 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ arch/arm/configs/tny_a9263_bootstrap_defconfig | 26 ++++++++++++++++++++++++++ arch/arm/configs/tny_a9263_defconfig | 1 + arch/arm/mach-at91/Kconfig | 1 + 7 files changed, 190 insertions(+), 13 deletions(-) create mode 100644 arch/arm/boards/tny-a926x/tny_a9263_bootstrap.c create mode 100644 arch/arm/boards/tny-a926x/tny_a9263_lowlevel_init.c create mode 100644 arch/arm/configs/tny_a9263_bootstrap_defconfig Best Regards, J. _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 1/2] tny-a9263: add dataflash support 2013-01-23 20:49 [PATCH 0/2] tny-a9263: add spi + bootstrap support Jean-Christophe PLAGNIOL-VILLARD @ 2013-01-23 20:52 ` Jean-Christophe PLAGNIOL-VILLARD 2013-01-23 20:52 ` [PATCH 2/2] tny_a9263: add bootstrap support Jean-Christophe PLAGNIOL-VILLARD 2013-01-25 17:36 ` [PATCH 0/2] tny-a9263: add spi + " Sascha Hauer 1 sibling, 1 reply; 4+ messages in thread From: Jean-Christophe PLAGNIOL-VILLARD @ 2013-01-23 20:52 UTC (permalink / raw) To: barebox Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> --- arch/arm/boards/tny-a926x/init.c | 43 ++++++++++++++++++++++++---------- arch/arm/configs/tny_a9263_defconfig | 1 + 2 files changed, 31 insertions(+), 13 deletions(-) diff --git a/arch/arm/boards/tny-a926x/init.c b/arch/arm/boards/tny-a926x/init.c index 5fe6531..027186a 100644 --- a/arch/arm/boards/tny-a926x/init.c +++ b/arch/arm/boards/tny-a926x/init.c @@ -160,16 +160,31 @@ static struct spi_board_info tny_a9g20_lpw_spi_devices[] = { }, }; -static int spi0_standard_cs[] = { AT91_PIN_PC11 }; -struct at91_spi_platform_data spi0_pdata = { - .chipselect = spi0_standard_cs, - .num_chipselect = ARRAY_SIZE(spi0_standard_cs), +static struct spi_board_info tny_a9263_spi_devices[] = { + { + .name = "mtd_dataflash", + .max_speed_hz = 15 * 1000 * 1000, + .bus_num = 0, + .chip_select = 0, + }, }; -static int spi1_standard_cs[] = { AT91_PIN_PC3 }; -struct at91_spi_platform_data spi1_pdata = { - .chipselect = spi1_standard_cs, - .num_chipselect = ARRAY_SIZE(spi1_standard_cs), +static int tny_a9263_spi0_standard_cs[] = { AT91_PIN_PA5 }; +struct at91_spi_platform_data tny_a9263_spi0_pdata = { + .chipselect = tny_a9263_spi0_standard_cs, + .num_chipselect = ARRAY_SIZE(tny_a9263_spi0_standard_cs), +}; + +static int tny_a9g20_spi0_standard_cs[] = { AT91_PIN_PC11 }; +struct at91_spi_platform_data tny_a9g20_spi0_pdata = { + .chipselect = tny_a9g20_spi0_standard_cs, + .num_chipselect = ARRAY_SIZE(tny_a9g20_spi0_standard_cs), +}; + +static int tny_a9g20_spi1_standard_cs[] = { AT91_PIN_PC3 }; +struct at91_spi_platform_data tny_a9g20_spi1_pdata = { + .chipselect = tny_a9g20_spi1_standard_cs, + .num_chipselect = ARRAY_SIZE(tny_a9g20_spi1_standard_cs), }; static void __init ek_add_device_udc(void) @@ -182,17 +197,19 @@ static void __init ek_add_device_udc(void) static void __init ek_add_device_spi(void) { - if (machine_is_tny_a9263()) - return; + if (machine_is_tny_a9263()) { + spi_register_board_info(tny_a9263_spi_devices, + ARRAY_SIZE(tny_a9263_spi_devices)); + at91_add_device_spi(0, &tny_a9263_spi0_pdata); - if (machine_is_tny_a9g20() && at91_is_low_power_sdram()) { + } else if (machine_is_tny_a9g20() && at91_is_low_power_sdram()) { spi_register_board_info(tny_a9g20_lpw_spi_devices, ARRAY_SIZE(tny_a9g20_lpw_spi_devices)); - at91_add_device_spi(1, &spi1_pdata); + at91_add_device_spi(1, &tny_a9g20_spi1_pdata); } else { spi_register_board_info(tny_a9g20_spi_devices, ARRAY_SIZE(tny_a9g20_spi_devices)); - at91_add_device_spi(0, &spi0_pdata); + at91_add_device_spi(0, &tny_a9g20_spi0_pdata); } } diff --git a/arch/arm/configs/tny_a9263_defconfig b/arch/arm/configs/tny_a9263_defconfig index c199cca..652fd3d 100644 --- a/arch/arm/configs/tny_a9263_defconfig +++ b/arch/arm/configs/tny_a9263_defconfig @@ -62,6 +62,7 @@ CONFIG_DRIVER_NET_MACB=y CONFIG_DRIVER_SPI_ATMEL=y CONFIG_MTD=y # CONFIG_MTD_OOB_DEVICE is not set +CONFIG_MTD_DATAFLASH=y CONFIG_NAND=y # CONFIG_NAND_ECC_HW is not set # CONFIG_NAND_ECC_HW_SYNDROME is not set -- 1.7.10.4 _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 2/2] tny_a9263: add bootstrap support 2013-01-23 20:52 ` [PATCH 1/2] tny-a9263: add dataflash support Jean-Christophe PLAGNIOL-VILLARD @ 2013-01-23 20:52 ` Jean-Christophe PLAGNIOL-VILLARD 0 siblings, 0 replies; 4+ messages in thread From: Jean-Christophe PLAGNIOL-VILLARD @ 2013-01-23 20:52 UTC (permalink / raw) To: barebox the lowlevel init is the same as the usb-a9263 except that can not have the 128MiB option Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> --- arch/arm/boards/tny-a926x/Makefile | 9 ++ arch/arm/boards/tny-a926x/tny_a9263_bootstrap.c | 16 +++ .../arm/boards/tny-a926x/tny_a9263_lowlevel_init.c | 107 ++++++++++++++++++++ arch/arm/configs/tny_a9263_bootstrap_defconfig | 26 +++++ arch/arm/mach-at91/Kconfig | 1 + 5 files changed, 159 insertions(+) create mode 100644 arch/arm/boards/tny-a926x/tny_a9263_bootstrap.c create mode 100644 arch/arm/boards/tny-a926x/tny_a9263_lowlevel_init.c create mode 100644 arch/arm/configs/tny_a9263_bootstrap_defconfig diff --git a/arch/arm/boards/tny-a926x/Makefile b/arch/arm/boards/tny-a926x/Makefile index eb072c0..36ea09f 100644 --- a/arch/arm/boards/tny-a926x/Makefile +++ b/arch/arm/boards/tny-a926x/Makefile @@ -1 +1,10 @@ obj-y += init.o + +bootstrap-$(CONFIG_MACH_TNY_A9263) = tny_a9263_bootstrap.o +obj-$(CONFIG_AT91_BOOTSTRAP) += $(bootstrap-y) + +lowlevel_init-$(CONFIG_MACH_TNY_A9263) = tny_a9263_lowlevel_init.o + +obj-$(CONFIG_MACH_DO_LOWLEVEL_INIT) += $(lowlevel_init-y) + +pbl-$(CONFIG_MACH_DO_LOWLEVEL_INIT) += $(lowlevel_init-y) diff --git a/arch/arm/boards/tny-a926x/tny_a9263_bootstrap.c b/arch/arm/boards/tny-a926x/tny_a9263_bootstrap.c new file mode 100644 index 0000000..368c677 --- /dev/null +++ b/arch/arm/boards/tny-a926x/tny_a9263_bootstrap.c @@ -0,0 +1,16 @@ +/* + * Copyright (C) 2012 Jean-Christophe PLAGNIOL-VILLARD <plagnio@jcrosoft.com> + * + * Under GPLv2 + */ + +#include <common.h> +#include <bootstrap.h> +#include <mach/bootstrap.h> + +#ifdef CONFIG_MTD_DATAFLASH +void * bootstrap_board_read_dataflash(void) +{ + return bootstrap_read_devfs("dataflash0", false, 0xffc0, 204864, 204864); +} +#endif diff --git a/arch/arm/boards/tny-a926x/tny_a9263_lowlevel_init.c b/arch/arm/boards/tny-a926x/tny_a9263_lowlevel_init.c new file mode 100644 index 0000000..1b146da --- /dev/null +++ b/arch/arm/boards/tny-a926x/tny_a9263_lowlevel_init.c @@ -0,0 +1,107 @@ +/* + * Copyright (C) 2009-2011 Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> + * + * Under GPLv2 + */ + +#include <common.h> +#include <init.h> +#include <mach/hardware.h> +#include <mach/at91_rstc.h> +#include <mach/at91_wdt.h> +#include <mach/at91_pmc.h> +#include <mach/at91sam9_smc.h> +#include <mach/at91sam9_sdramc.h> +#include <mach/at91sam9_matrix.h> +#include <mach/at91_lowlevel_init.h> + +#define MASTER_CLOCK 180 + +#if MASTER_CLOCK == 200 +#define MASTER_PLL_MUL 100 +#else +#define MASTER_PLL_MUL 90 +#endif +#define MASTER_PLL_DIV 6 + +void __bare_init at91sam926x_lowlevel_board_config(struct at91sam926x_lowlevel_cfg *cfg) +{ + /* Disable Watchdog */ + cfg->wdt_mr = + AT91_WDT_WDIDLEHLT | AT91_WDT_WDDBGHLT | + AT91_WDT_WDV | + AT91_WDT_WDDIS | + AT91_WDT_WDD; + + /* define PDC[31:16] as DATA[31:16] */ + cfg->ebi_pio_pdr = 0xFFFF0000; + /* no pull-up for D[31:16] */ + cfg->ebi_pio_ppudr = 0xFFFF0000; + /* EBI0_CSA, CS1 SDRAM, CS3 NAND Flash, 3.3V memories */ + cfg->ebi_csa = + AT91_MATRIX_EBI0_DBPUC | AT91_MATRIX_EBI0_VDDIOMSEL_3_3V | + AT91_MATRIX_EBI0_CS1A_SDRAMC; + + cfg->smc_cs = 3; + cfg->smc_mode = + AT91_SMC_READMODE | AT91_SMC_WRITEMODE | + AT91_SMC_DBW_8 | + AT91_SMC_EXNWMODE_DISABLE | + AT91_SMC_TDF_(2); + cfg->smc_cycle = + AT91_SMC_NWECYCLE_(5) | AT91_SMC_NRDCYCLE_(5); + cfg->smc_pulse = + AT91_SMC_NWEPULSE_(3) | AT91_SMC_NCS_WRPULSE_(3) | + AT91_SMC_NRDPULSE_(3) | AT91_SMC_NCS_RDPULSE_(3); + cfg->smc_setup = + AT91_SMC_NWESETUP_(1) | AT91_SMC_NCS_WRSETUP_(0) | + AT91_SMC_NRDSETUP_(1) | AT91_SMC_NCS_RDSETUP_(0); + + cfg->pmc_mor = AT91_PMC_OSCBYPASS; + cfg->pmc_pllar = + AT91_PMC_PLLA_WR_ERRATA | /* Bit 29 must be 1 when prog */ + AT91_PMC_PLLCOUNT | /* PLL Counter */ + (0 << 28) | /* PLL Clock Frequency Range */ + ((MASTER_PLL_MUL - 1) << 16) | (MASTER_PLL_DIV); + /* PCK/2 = MCK Master Clock from PLLA */ + cfg->pmc_mckr1 = + AT91_PMC_CSS_SLOW | + AT91_PMC_PRES_1 | + AT91SAM9_PMC_MDIV_2 | + AT91_PMC_PDIV_1; + /* PCK/2 = MCK Master Clock from PLLA */ + cfg->pmc_mckr2 = + AT91_PMC_CSS_PLLA | + AT91_PMC_PRES_1 | + AT91SAM9_PMC_MDIV_2 | + AT91_PMC_PDIV_1; + + /* SDRAM */ + /* SDRAMC_TR - Refresh Timer register */ + cfg->sdrc_tr1 = 0x13C; + /* SDRAMC_CR - Configuration register*/ + cfg->sdrc_cr = + AT91_SDRAMC_NR_13 | + AT91_SDRAMC_NC_9 | + AT91_SDRAMC_NB_4 | + AT91_SDRAMC_CAS_2 | + AT91_SDRAMC_DBW_32 | + (2 << 8) | /* Write Recovery Delay */ + (7 << 12) | /* Row Cycle Delay */ + (2 << 16) | /* Row Precharge Delay */ + (2 << 20) | /* Row to Column Delay */ + (5 << 24) | /* Active to Precharge Delay */ + (8 << 28); /* Exit Self Refresh to Active Delay */ + + /* Memory Device Register -> SDRAM */ + cfg->sdrc_mdr = AT91_SDRAMC_MD_SDRAM; + /* SDRAM_TR */ + cfg->sdrc_tr2 = (MASTER_CLOCK * 7); + + /* user reset enable */ + cfg->rstc_rmr = + AT91_RSTC_KEY | + AT91_RSTC_PROCRST | + AT91_RSTC_RSTTYP_WAKEUP | + AT91_RSTC_RSTTYP_WATCHDOG; +} diff --git a/arch/arm/configs/tny_a9263_bootstrap_defconfig b/arch/arm/configs/tny_a9263_bootstrap_defconfig new file mode 100644 index 0000000..d968b6f --- /dev/null +++ b/arch/arm/configs/tny_a9263_bootstrap_defconfig @@ -0,0 +1,26 @@ +CONFIG_ARCH_AT91SAM9263=y +CONFIG_MACH_TNY_A9263=y +CONFIG_AT91_BOOTSTRAP=y +CONFIG_BAREBOX_MAX_IMAGE_SIZE=0x12000 +CONFIG_AEABI=y +# CONFIG_CMD_ARM_CPUINFO is not set +CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS=y +CONFIG_ENVIRONMENT_VARIABLES=y +CONFIG_PBL_IMAGE=y +CONFIG_MMU=y +CONFIG_MALLOC_DUMMY=y +CONFIG_PROMPT="USB-9263:" +CONFIG_SHELL_NONE=y +CONFIG_CONSOLE_SIMPLE=y +# CONFIG_DEFAULT_ENVIRONMENT is not set +# CONFIG_SPI is not set +CONFIG_MTD=y +# CONFIG_MTD_WRITE is not set +# CONFIG_MTD_OOB_DEVICE is not set +CONFIG_NAND=y +# CONFIG_NAND_ECC_HW is not set +# CONFIG_NAND_ECC_HW_SYNDROME is not set +# CONFIG_NAND_ECC_HW_NONE is not set +CONFIG_NAND_ATMEL=y +# CONFIG_FS_RAMFS is not set +CONFIG_BOOTSTRAP_DEVFS=y diff --git a/arch/arm/mach-at91/Kconfig b/arch/arm/mach-at91/Kconfig index 4323d7c..dfa062d 100644 --- a/arch/arm/mach-at91/Kconfig +++ b/arch/arm/mach-at91/Kconfig @@ -351,6 +351,7 @@ config MACH_PM9263 config MACH_TNY_A9263 bool "CALAO TNY-A9263" select SUPPORT_CALAO_MOB_TNY_MD2 + select MACH_HAS_LOWLEVEL_INIT help Select this if you are using a Calao Systems TNY-A9263. <http://www.calao-systems.com> -- 1.7.10.4 _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 0/2] tny-a9263: add spi + bootstrap support 2013-01-23 20:49 [PATCH 0/2] tny-a9263: add spi + bootstrap support Jean-Christophe PLAGNIOL-VILLARD 2013-01-23 20:52 ` [PATCH 1/2] tny-a9263: add dataflash support Jean-Christophe PLAGNIOL-VILLARD @ 2013-01-25 17:36 ` Sascha Hauer 1 sibling, 0 replies; 4+ messages in thread From: Sascha Hauer @ 2013-01-25 17:36 UTC (permalink / raw) To: Jean-Christophe PLAGNIOL-VILLARD; +Cc: barebox On Wed, Jan 23, 2013 at 09:49:16PM +0100, Jean-Christophe PLAGNIOL-VILLARD wrote: > HI, > > depends on console none > > The following changes since commit e75f727c6e048c9978cb47cb8af92488a8251569: > > introduce console none support (2013-01-19 11:51:53 +0800) > > are available in the git repository at: > > git://git.jcrosoft.org/barebox.git delivery/tny_a9263 Applied, thanks Sascha > > for you to fetch changes up to 5b41b075420e3547a9dfa7ef1bc0ba015af9db98: > > tny_a9263: add bootstrop support (2013-01-19 14:41:24 +0800) > > ---------------------------------------------------------------- > Jean-Christophe PLAGNIOL-VILLARD (2): > tny-a9263: add dataflash support > tny_a9263: add bootstrop support > > arch/arm/boards/tny-a926x/Makefile | 9 +++++++++ > arch/arm/boards/tny-a926x/init.c | 43 ++++++++++++++++++++++++++++++------------- > arch/arm/boards/tny-a926x/tny_a9263_bootstrap.c | 16 ++++++++++++++++ > arch/arm/boards/tny-a926x/tny_a9263_lowlevel_init.c | 107 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > arch/arm/configs/tny_a9263_bootstrap_defconfig | 26 ++++++++++++++++++++++++++ > arch/arm/configs/tny_a9263_defconfig | 1 + > arch/arm/mach-at91/Kconfig | 1 + > 7 files changed, 190 insertions(+), 13 deletions(-) > create mode 100644 arch/arm/boards/tny-a926x/tny_a9263_bootstrap.c > create mode 100644 arch/arm/boards/tny-a926x/tny_a9263_lowlevel_init.c > create mode 100644 arch/arm/configs/tny_a9263_bootstrap_defconfig > > Best Regards, > J. > > _______________________________________________ > barebox mailing list > barebox@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/barebox > -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2013-01-25 17:36 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2013-01-23 20:49 [PATCH 0/2] tny-a9263: add spi + bootstrap support Jean-Christophe PLAGNIOL-VILLARD 2013-01-23 20:52 ` [PATCH 1/2] tny-a9263: add dataflash support Jean-Christophe PLAGNIOL-VILLARD 2013-01-23 20:52 ` [PATCH 2/2] tny_a9263: add bootstrap support Jean-Christophe PLAGNIOL-VILLARD 2013-01-25 17:36 ` [PATCH 0/2] tny-a9263: add spi + " Sascha Hauer
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox