diff options
author | Tom Rini <trini@konsulko.com> | 2023-01-06 19:53:26 +0300 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2023-01-06 19:53:26 +0300 |
commit | b82f12b6426e7a5f8504759b3bcf3906897d7f6c (patch) | |
tree | 1cd6a8de2f9d107ead8193262c6eba71c3a540d2 /board | |
parent | b63905cfc610542ebb712e841ae474b06e056146 (diff) | |
parent | 61040097a9d1c8022bae7936c52b729ff1adb163 (diff) | |
download | u-boot-b82f12b6426e7a5f8504759b3bcf3906897d7f6c.tar.xz |
Merge tag 'u-boot-at91-2023.04-a' of https://source.denx.de/u-boot/custodians/u-boot-at91 into next
First set of u-boot-at91 features for the 2023.04 cycle:
This feature set includes the new DM-based NAND flash driver (old non-DM
driver is still kept for backwards compatibility), and the move to DM
NAND flash driver for sam9x60ek board. Feature set also includes
devicetree alignment for sama7g5 with Linux, devicetree alignment on USB
with Linux for all boards (sama5, sam9x60), chip id for sama7g5, minor
configs and tweaks.
Diffstat (limited to 'board')
-rw-r--r-- | board/atmel/sam9x60_curiosity/MAINTAINERS | 1 | ||||
-rw-r--r-- | board/atmel/sam9x60_curiosity/sam9x60_curiosity.c | 10 | ||||
-rw-r--r-- | board/atmel/sam9x60ek/sam9x60ek.c | 62 |
3 files changed, 17 insertions, 56 deletions
diff --git a/board/atmel/sam9x60_curiosity/MAINTAINERS b/board/atmel/sam9x60_curiosity/MAINTAINERS index 3e1dce2980..0d9369e027 100644 --- a/board/atmel/sam9x60_curiosity/MAINTAINERS +++ b/board/atmel/sam9x60_curiosity/MAINTAINERS @@ -5,3 +5,4 @@ S: Maintained F: board/atmel/sam9x60_curiosity/ F: include/configs/sam9x60_curiosity.h F: configs/sam9x60_curiosity_mmc_defconfig +F: configs/sam9x60_curiosity_mmc1_defconfig diff --git a/board/atmel/sam9x60_curiosity/sam9x60_curiosity.c b/board/atmel/sam9x60_curiosity/sam9x60_curiosity.c index 8cf67d148d..0fe0de9fde 100644 --- a/board/atmel/sam9x60_curiosity/sam9x60_curiosity.c +++ b/board/atmel/sam9x60_curiosity/sam9x60_curiosity.c @@ -25,6 +25,13 @@ DECLARE_GLOBAL_DATA_PTR; void at91_prepare_cpu_var(void); +static void board_leds_init(void) +{ + at91_set_pio_output(AT91_PIO_PORTD, 17, 0); /* LED RED */ + at91_set_pio_output(AT91_PIO_PORTD, 19, 0); /* LED GREEN */ + at91_set_pio_output(AT91_PIO_PORTD, 21, 1); /* LED BLUE */ +} + int board_late_init(void) { at91_prepare_cpu_var(); @@ -62,6 +69,9 @@ int board_init(void) { /* address of boot parameters */ gd->bd->bi_boot_params = gd->bd->bi_dram[0].start + 0x100; + + board_leds_init(); + return 0; } diff --git a/board/atmel/sam9x60ek/sam9x60ek.c b/board/atmel/sam9x60ek/sam9x60ek.c index a3e35f3066..3fbfca4acc 100644 --- a/board/atmel/sam9x60ek/sam9x60ek.c +++ b/board/atmel/sam9x60ek/sam9x60ek.c @@ -24,61 +24,12 @@ DECLARE_GLOBAL_DATA_PTR; void at91_prepare_cpu_var(void); -#ifdef CONFIG_CMD_NAND -static void sam9x60ek_nand_hw_init(void) +static void board_leds_init(void) { - struct at91_smc *smc = (struct at91_smc *)ATMEL_BASE_SMC; - struct atmel_sfr *sfr = (struct atmel_sfr *)ATMEL_BASE_SFR; - unsigned int csa; - - at91_pio3_set_a_periph(AT91_PIO_PORTD, 0, 1); /* NAND OE */ - at91_pio3_set_a_periph(AT91_PIO_PORTD, 1, 1); /* NAND WE */ - at91_pio3_set_a_periph(AT91_PIO_PORTD, 2, 0); /* NAND ALE */ - at91_pio3_set_a_periph(AT91_PIO_PORTD, 3, 0); /* NAND CLE */ - /* Enable NandFlash */ - at91_set_gpio_output(CFG_SYS_NAND_ENABLE_PIN, 1); - /* Configure RDY/BSY */ - at91_set_gpio_input(CFG_SYS_NAND_READY_PIN, 1); - at91_pio3_set_a_periph(AT91_PIO_PORTD, 6, 1); - at91_pio3_set_a_periph(AT91_PIO_PORTD, 7, 1); - at91_pio3_set_a_periph(AT91_PIO_PORTD, 8, 1); - at91_pio3_set_a_periph(AT91_PIO_PORTD, 9, 1); - at91_pio3_set_a_periph(AT91_PIO_PORTD, 10, 1); - at91_pio3_set_a_periph(AT91_PIO_PORTD, 11, 1); - at91_pio3_set_a_periph(AT91_PIO_PORTD, 12, 1); - at91_pio3_set_a_periph(AT91_PIO_PORTD, 13, 1); - - at91_periph_clk_enable(ATMEL_ID_PIOD); - - /* Enable CS3 */ - csa = readl(&sfr->ebicsa); - csa |= AT91_SFR_CCFG_EBI_CSA(3, 1) | AT91_SFR_CCFG_NFD0_ON_D16; - - /* Configure IO drive */ - csa &= ~AT91_SFR_CCFG_EBI_DRIVE_SAM9X60; - - writel(csa, &sfr->ebicsa); - - /* Configure SMC CS3 for NAND/SmartMedia */ - writel(AT91_SMC_SETUP_NWE(4), &smc->cs[3].setup); - - writel(AT91_SMC_PULSE_NWE(10) | AT91_SMC_PULSE_NCS_WR(20) | - AT91_SMC_PULSE_NRD(10) | AT91_SMC_PULSE_NCS_RD(20), - &smc->cs[3].pulse); - - writel(AT91_SMC_CYCLE_NWE(20) | AT91_SMC_CYCLE_NRD(20), - &smc->cs[3].cycle); - - writel(AT91_SMC_MODE_RM_NRD | AT91_SMC_MODE_WM_NWE | -#ifdef CONFIG_SYS_NAND_DBW_16 - AT91_SMC_MODE_DBW_16 | -#else /* CONFIG_SYS_NAND_DBW_8 */ - AT91_SMC_MODE_DBW_8 | -#endif - AT91_SMC_MODE_TDF | AT91_SMC_MODE_TDF_CYCLE(15), - &smc->cs[3].mode); + at91_set_pio_output(AT91_PIO_PORTB, 11, 0); /* LED RED */ + at91_set_pio_output(AT91_PIO_PORTB, 12, 0); /* LED GREEN */ + at91_set_pio_output(AT91_PIO_PORTB, 13, 1); /* LED BLUE */ } -#endif #ifdef CONFIG_BOARD_LATE_INIT int board_late_init(void) @@ -122,9 +73,8 @@ int board_init(void) /* address of boot parameters */ gd->bd->bi_boot_params = CFG_SYS_SDRAM_BASE + 0x100; -#ifdef CONFIG_CMD_NAND - sam9x60ek_nand_hw_init(); -#endif + board_leds_init(); + return 0; } |