Q about bootstrap support for at91sam92* boards and proposal for retirement
Subsystems (2)
Hi all.
This little detour started because Ahmad pointed out I had made a stupid mistake in pwm-atmel.
So I decided I wanted to give it a spin to verify if it actually works now.
The first challenge I encountered was that said driver had bit-rotted as it used the old pwm framework - so I updated it from the Linux kernel.
I have the code locally - but this time I will not have it posted before it is tested.
Then I cloned the latest at91bootstrap - but they no longer support old at91sam92xx CPUs.
So it was time to enable bootstrap support for at91sam9263.
In the past I had something working, but alas no luck this time.
Can anyone (Ahmad?) help me a little how to get the bootstrap functionality working on the at91sam9263?
I do not expect patches, but I hope for something that can point me in the right way to do it.
I have skov-arm9cpu boards (plenty - as they are mostly retired by SKOV) and one at91sam9263ek where I can test.
We see very little interest in at91sam92* boards and we could decide to retire all the boards that are not updated to multi-image. This could simplify things - and if there is interest the missing boards can be brought back to life provided they are updated to multi image. Any comments on this?
I am happy to type the patches - and verify that the boards I have works.
Sam
_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox
Hi,
Quoted 3 lines
Can anyone (Ahmad?) help me a little how to get the bootstrap functionality working on the at91sam9263?
To answer the obvious questions - what have I done so far.
- I have an at91bootstrap generated BOOT.BIN that works. This ruins out a lot of possible issues with the SD card as the board boots from the SD card with the at91bootstrap based BOOT.BIN.
- The toolchain used is generated from buildroot, and I do not have any proof that it works as I have not had any successes.
So far I have assumed that it works.
- The configuration used is pasted below.
- The board I use is the skov-arm9cpu which I know works as it boots barebox with the at91bootstrap BOOT.BIN
- I have only a limited set of patches - pasted below.
- Latest barebox from the master branch
- I have tried to power cycle and reset of the board - no change
- There is a ">RomBOOT" prompt - but nothing else
Sam
arch/arm/boards/skov-arm9cpu/lowlevel.c +20 -0
@@ -3,14 +3,20 @@#include <linux/sizes.h> +#include <debug_ll.h> +#include <asm/barebox-arm.h> #include <mach/at91sam926x_board_init.h> #include <mach/at91sam9263_matrix.h> +#include <mach/at91_dbgu.h> +#include <mach/iomux.h> #define MASTER_PLL_MUL 171#define MASTER_PLL_DIV 14 +#define MASTER_CLOCK (200000000/2) + static void __bare_init skovarm9cpu_board_config(struct at91sam926x_board_cfg *cfg) {/* Disable Watchdog */
@@ -96,6 +102,18 @@ static void __bare_init skovarm9cpu_board_config(struct at91sam926x_board_cfg *cAT91_RSTC_RSTTYP_WATCHDOG ; } +static void dbgu_init (void ) +{ +void __iomem *pio =IOMEM (AT91SAM9263_BASE_PIOC ); +// Setup DBGU uart +at91_mux_pio3_pin (pio,pin_to_mask (AT91_PIN_PC30 ),AT91_MUX_PERIPH_A ,GPIO_PULL_UP );// DRXD +at91_mux_pio3_pin (pio,pin_to_mask (AT91_PIN_PC31 ),AT91_MUX_PERIPH_A ,0 );// DTXD + +at91_dbgu_setup_ll (IOMEM (AT91_BASE_DBGU1 ),MASTER_CLOCK ,115200 ); +pbl_set_putc (at91_dbgu_putc,IOMEM (AT91_BASE_DBGU1 )); +putc_ll ('#' ); +} + static void __bare_init skov_arm9cpu_init(void *fdt) {struct at91sam926x_board_cfg cfg;
@@ -108,6 +126,8 @@ static void __bare_init skov_arm9cpu_init(void *fdt)skovarm9cpu_board_config (&cfg);at91sam9263_board_init (&cfg); +dbgu_init (); +barebox_arm_entry (AT91_CHIPSELECT_1 ,at91_get_sdram_size (cfg.sdramc), fdt); }
#
# Automatically generated file; DO NOT EDIT.
# Barebox/arm 2021.12.0 Configuration
#CONFIG_ARM=yCONFIG_HAVE_MACH_ARM_HEAD=yCONFIG_ARM_USE_COMPRESSED_DTB=yCONFIG_TEXT_BASE=0x0
#
# System Type
#CONFIG_ARCH_AT91=y
# CONFIG_ARCH_BCM283X is not set
# CONFIG_ARCH_CLPS711X is not set
# CONFIG_ARCH_DAVINCI is not set
# CONFIG_ARCH_DIGIC is not set
# CONFIG_ARCH_EP93XX is not set
# CONFIG_ARCH_IMX is not set
# CONFIG_ARCH_LAYERSCAPE is not set
# CONFIG_ARCH_MVEBU is not set
# CONFIG_ARCH_MXS is not set
# CONFIG_ARCH_NOMADIK is not set
# CONFIG_ARCH_OMAP is not set
# CONFIG_ARCH_PXA is not set
# CONFIG_ARCH_ROCKCHIP is not set
# CONFIG_ARCH_SOCFPGA is not set
# CONFIG_ARCH_S3C24xx is not set
# CONFIG_ARCH_S5PCxx is not set
# CONFIG_ARCH_S3C64xx is not set
# CONFIG_ARCH_STM32MP is not set
# CONFIG_ARCH_VERSATILE is not set
# CONFIG_ARCH_VEXPRESS is not set
# CONFIG_ARCH_TEGRA is not set
# CONFIG_ARCH_UEMD is not set
# CONFIG_ARCH_ZYNQ is not set
# CONFIG_ARCH_ZYNQMP is not set
# CONFIG_ARCH_ARM64_VIRT is not set
#
# Processor Type
#CONFIG_CPU_32=yCONFIG_CPU_ARM926T=y
CONFIG_CPU_32v5=y
#
# processor features # # CONFIG_BOOT_ENDIANNESS_SWITCH is not set CONFIG_HAVE_AT91_UTMI=y CONFIG_HAVE_AT91_USB_CLK=y CONFIG_COMMON_CLK_AT91=y CONFIG_HAVE_AT91_SMD=y CONFIG_HAVE_AT91_BOOTSTRAP=y CONFIG_AT91SAM926X_BOARD_INIT=y CONFIG_AT91SAM9_SMC=y CONFIG_HAVE_AT91SAM9_RST=y CONFIG_SOC_AT91SAM9=y CONFIG_ARCH_TEXT_BASE=0x23f00000 CONFIG_HAVE_AT91_LOAD_BAREBOX_SRAM=y
#
# Atmel AT91 System-on-Chip
#CONFIG_SOC_AT91SAM9263=yCONFIG_AT91_MULTI_BOARDS=yCONFIG_MACH_SKOV_ARM9CPU=y
# CONFIG_MACH_AT91SAM9263EK is not set
# CONFIG_MACH_AT91SAM9X5EK is not set
# CONFIG_MACH_MICROCHIP_KSZ9477_EVB is not set
# CONFIG_MACH_SAMA5D3_XPLAINED is not set
# CONFIG_MACH_SAMA5D27_SOM1 is not set
# CONFIG_MACH_SAMA5D27_GIANTBOARD is not set
#
# AT91 Board Options
#CONFIG_AT91_BOOTSTRAP=y
# CONFIG_AT91_LOAD_BAREBOX_SRAM is not setCONFIG_BAREBOX_MAX_IMAGE_SIZE=0x40000
# CONFIG_BOARD_ARM_GENERIC_DT is not set
# CONFIG_AEABI is not set
# end of System Type
#
# ARM specific settings
#
# CONFIG_ARM_OPTIMZED_STRING_FUNCTIONS is not setCONFIG_ARM_EXCEPTIONS=y
# CONFIG_ARM_SEMIHOSTING is not set
# end of ARM specific settings
CONFIG_GREGORIAN_CALENDER=yCONFIG_HAS_KALLSYMS=yCONFIG_HAS_MODULES=yCONFIG_HAS_CACHE=yCONFIG_HAS_DMA=yCONFIG_HAS_ARCH_SJLJ=yCONFIG_GENERIC_GPIO=yCONFIG_BLOCK=yCONFIG_BLOCK_WRITE=yCONFIG_USE_COMPRESSED_DTB=yCONFIG_FILETYPE=y
#
# General Settings
#CONFIG_LOCALVERSION=""CONFIG_LOCALVERSION_AUTO=yCONFIG_BANNER=yCONFIG_MEMINFO=y
# CONFIG_ENVIRONMENT_VARIABLES is not set
# CONFIG_GLOBALVAR is not set
#
# memory layout # CONFIG_HAVE_PBL_IMAGE=y CONFIG_HAVE_PBL_MULTI_IMAGES=y CONFIG_HAVE_IMAGE_COMPRESSION=y CONFIG_PBL_IMAGE=y CONFIG_PBL_MULTI_IMAGES=y CONFIG_PBL_RELOCATABLE=y CONFIG_IMAGE_COMPRESSION=y # CONFIG_IMAGE_COMPRESSION_LZ4 is not set CONFIG_IMAGE_COMPRESSION_LZO=y # CONFIG_IMAGE_COMPRESSION_GZIP is not set # CONFIG_IMAGE_COMPRESSION_XZKERN is not set # CONFIG_IMAGE_COMPRESSION_NONE is not set # CONFIG_MMU is not set CONFIG_BAREBOX_MAX_PBL_SIZE=0xffffffff CONFIG_BAREBOX_MAX_BARE_INIT_SIZE=0xffffffff CONFIG_STACK_SIZE=0x8000 CONFIG_MALLOC_SIZE=0x400000 # end of memory layout
# CONFIG_EXPERIMENTAL is not set
# CONFIG_MALLOC_DLMALLOC is not setCONFIG_MALLOC_TLSF=y
# CONFIG_MALLOC_DUMMY is not setCONFIG_HAVE_MOD_ARCH_SPECIFIC=y
# CONFIG_KALLSYMS is not setCONFIG_RELOCATABLE=y
# CONFIG_PANIC_HANG is not setCONFIG_PROMPT="barebox:"CONFIG_BAUDRATE=115200CONFIG_SIMPLE_READLINE=yCONFIG_CBSIZE=1024
# CONFIG_SHELL_HUSH is not set
# CONFIG_SHELL_SIMPLE is not setCONFIG_SHELL_NONE=y
# CONFIG_GLOB is not set
# CONFIG_PASSWORD is not setCONFIG_ERRNO_MESSAGES=yCONFIG_TIMESTAMP=y
# CONFIG_BOOTM is not set
# CONFIG_BAREBOX_UPDATE is not set
# CONFIG_IMD is not set
# CONFIG_CONSOLE_FULL is not setCONFIG_CONSOLE_SIMPLE=y
# CONFIG_CONSOLE_NONE is not set
# CONFIG_CONSOLE_ALLOW_COLOR is not set
# CONFIG_CONSOLE_DISABLE_INPUT is not setCONFIG_PBL_CONSOLE=yCONFIG_PARTITION=yCONFIG_PARTITION_DISK=yCONFIG_PARTITION_DISK_DOS=y
# CONFIG_PARTITION_DISK_EFI is not set
# CONFIG_ENV_HANDLING is not set
# CONFIG_DEFAULT_ENVIRONMENT is not set
# CONFIG_DEFAULT_COMPRESSION_GZIP is not set
# CONFIG_DEFAULT_COMPRESSION_LZO is not setCONFIG_DEFAULT_COMPRESSION_NONE=yCONFIG_HAS_SCHED=yCONFIG_POLLER=y
# CONFIG_BTHREAD is not set
# CONFIG_STATE is not set
# CONFIG_BOOTCHOOSER is not setCONFIG_EXTERNAL_DTS_FRAGMENTS=""
#
# OP-TEE loading
#
# CONFIG_PBL_OPTEE is not set
# end of OP-TEE loading # end of General Settings
#
# Debugging
#CONFIG_COMPILE_LOGLEVEL=6CONFIG_DEFAULT_LOGLEVEL=7CONFIG_DEBUG_LL=yCONFIG_DEBUG_AT91_UART=yCONFIG_DEBUG_AT91_UART_BASE=0xffffee00
# CONFIG_DEBUG_INITCALLS is not set
# CONFIG_DEBUG_PROBES is not set
# CONFIG_PBL_BREAK is not set
# CONFIG_PRINTF_FULL is not set
# CONFIG_UBSAN is not setCONFIG_HAVE_ARCH_KASAN=yCONFIG_CC_HAS_KASAN_GENERIC=y
# CONFIG_KASAN is not set
# CONFIG_COMPILE_TEST is not set
# end of Debugging
#
# EFI (Extensible Firmware Interface) Support
#
# end of EFI (Extensible Firmware Interface) Support
CONFIG_HAS_DEBUG_LL=y
# CONFIG_NET is not set
#
# Drivers
#CONFIG_OFTREE=yCONFIG_OFTREE_MEM_GENERIC=yCONFIG_DTC=yCONFIG_OFDEVICE=yCONFIG_OF_GPIO=y
# CONFIG_OF_OVERLAY is not set
# CONFIG_AIODEV is not set
#
# serial drivers # # CONFIG_DRIVER_SERIAL_ARM_DCC is not set # CONFIG_DRIVER_SERIAL_NS16550 is not set CONFIG_DRIVER_SERIAL_ATMEL=y # CONFIG_DRIVER_SERIAL_CADENCE is not set # CONFIG_SERIAL_SIFIVE is not set # end of serial drivers
CONFIG_HAS_MACB=y
#
# SPI drivers
#
# CONFIG_SPI is not set
# end of SPI drivers
# CONFIG_I2C is not set
# CONFIG_MTD is not setCONFIG_DISK=yCONFIG_DISK_WRITE=y
#
# drive types # # CONFIG_DISK_ATA is not set # CONFIG_DISK_AHCI is not set
#
# interface types # # CONFIG_DISK_INTF_PLATFORM_IDE is not set # CONFIG_USB_HOST is not set # CONFIG_USB_GADGET is not set # CONFIG_USB_MUSB is not set CONFIG_VIDEO=y # CONFIG_FRAMEBUFFER_CONSOLE is not set CONFIG_DRIVER_VIDEO_ATMEL=y # CONFIG_DRIVER_VIDEO_ATMEL_HLCD is not set # CONFIG_DRIVER_VIDEO_BOCHS_ISA is not set # CONFIG_DRIVER_VIDEO_SIMPLEFB_CLIENT is not set # CONFIG_DRIVER_VIDEO_SIMPLEFB is not set # CONFIG_DRIVER_VIDEO_EDID is not set CONFIG_DRIVER_VIDEO_BACKLIGHT=y
#
# Video encoder chips
#
# CONFIG_DRIVER_VIDEO_SIMPLE_PANEL is not set
# CONFIG_SOUND is not setCONFIG_MCI=y
#
# --- Feature list ---
#
# CONFIG_MCI_STARTUP is not setCONFIG_MCI_WRITE=yCONFIG_MCI_MMC_BOOT_PARTITIONS=y
# CONFIG_MCI_MMC_GPP_PARTITIONS is not set
#
# --- MCI host drivers ---
#
# CONFIG_MCI_DW is not set
# CONFIG_MCI_ROCKCHIP_DWCMSHC is not setCONFIG_MCI_ATMEL=y
# CONFIG_MCI_ATMEL_SDHCI is not set
# CONFIG_MCI_ARASAN is not setCONFIG_HAVE_CLK=yCONFIG_CLKDEV_LOOKUP=yCONFIG_COMMON_CLK=yCONFIG_COMMON_CLK_OF_PROVIDER=y
#
# Clocksource
#CONFIG_CLOCKSOURCE_DUMMY_RATE=1000CONFIG_CLOCKSOURCE_ATMEL_PIT=y
# CONFIG_CLOCKSOURCE_DW_APB_TIMER is not set
# end of Clocksource
#
# Multifunction device drivers
#CONFIG_MFD_SYSCON=y
# CONFIG_MFD_ATMEL_FLEXCOM is not set
# end of Multifunction device drivers
#
# Misc devices
#
# CONFIG_JTAG is not setCONFIG_SRAM=y
# CONFIG_DEV_MEM is not set
# CONFIG_UBOOTVAR is not set
# end of Misc devices
CONFIG_LED=yCONFIG_LED_GPIO=yCONFIG_LED_GPIO_OF=y
# CONFIG_LED_GPIO_RGB is not set
# CONFIG_LED_GPIO_BICOLOR is not setCONFIG_LED_TRIGGERS=y
#
# EEPROM support
#
# end of EEPROM support
#
# Input device support
#CONFIG_INPUT=yCONFIG_KEYBOARD_GPIO=y
# CONFIG_INPUT_SPECIALKEYS is not set
# end of Input device support
# CONFIG_WATCHDOG is not set
# CONFIG_PWM is not set
# CONFIG_HWRNG is not set
#
# DMA support
#
# end of DMA support
CONFIG_GPIOLIB=y
#
# GPIO
#
# CONFIG_GPIO_74XX_MMIO is not set
# CONFIG_GPIO_GENERIC_PLATFORM is not set
# CONFIG_GPIO_DESIGNWARE is not set
# CONFIG_GPIO_SIFIVE is not set
# end of GPIO
# CONFIG_W1 is not set
#
# Pin controllers
#CONFIG_PINCTRL=yCONFIG_PINCTRL_AT91=y
# CONFIG_PINCTRL_AT91PIO4 is not set
# CONFIG_PINCTRL_SINGLE is not set
# end of Pin controllers
# CONFIG_NVMEM is not set
#
# Bus devices
#
# end of Bus devices
# CONFIG_REGULATOR is not set
#
# Remoteproc drivers
#
# CONFIG_REMOTEPROC is not set
# end of Remoteproc drivers
# CONFIG_RESET_CONTROLLER is not set
# CONFIG_RTC_CLASS is not set
#
# Firmware Drivers
#
# end of Firmware Drivers
#
# FPGA Configuration Support
#
# CONFIG_FPGA is not set
# end of FPGA Configuration Support
# CONFIG_GENERIC_PHY is not set
# CONFIG_CRYPTO_HW is not set
#
# Memory controller drivers
#
# end of Memory controller drivers
#
# i.MX SoC drivers
#
# end of i.MX SoC drivers
#
# NVME Support
#
# end of NVME Support
# CONFIG_SYSCON_REBOOT_MODE is not set
# CONFIG_POWER_RESET_SYSCON is not set
# CONFIG_POWER_RESET_SYSCON_POWEROFF is not set
# CONFIG_POWER_RESET_GPIO is not set
# CONFIG_POWER_RESET_GPIO_RESTART is not set
# CONFIG_VIRTIO_MENU is not set
# end of Drivers
#
# Filesystem support
#CONFIG_FS=yCONFIG_FS_LEGACY=y
#
# Some selected filesystems still use the legacy FS API. #
#
# Consider updating them.
#
# CONFIG_FS_CRAMFS is not set
# CONFIG_FS_EXT4 is not set
# CONFIG_FS_RAMFS is not set
# CONFIG_FS_DEVFS is not setCONFIG_FS_FAT=yCONFIG_FS_FAT_WRITE=yCONFIG_FS_FAT_LFN=y
# CONFIG_FS_BPKFS is not set
# CONFIG_FS_UIMAGEFS is not set
# CONFIG_FS_PSTORE is not set
# CONFIG_FS_SQUASHFS is not set
#
# ZLIB support disabled
#
#
# LZ4 support disabled
#
#
# LZO support disabled
#
#
# XZ support disabled
#
#
# ZSTD support disabled
#
# end of Filesystem support
#
# Library routines
#CONFIG_UNCOMPRESS=yCONFIG_ZLIB=y
# CONFIG_BZLIB is not set
# CONFIG_LZ4_DECOMPRESS is not set
# CONFIG_ZSTD_DECOMPRESS is not set
# CONFIG_XZ_DECOMPRESS is not set
# CONFIG_BASE64 is not setCONFIG_LZO_DECOMPRESS=y
# CONFIG_ALLOW_PRNG_FALLBACK is not set
# CONFIG_CRC_CCITT is not set
# CONFIG_CRC8 is not set
#
# Library gui routines
#
# end of Library gui routines
# CONFIG_BAREBOX_LOGO is not setCONFIG_BOOTSTRAP=yCONFIG_BOOTSTRAP_DEVFS=yCONFIG_BOOTSTRAP_DISK=y
# CONFIG_NLS is not set
# CONFIG_BLOBGEN is not setCONFIG_ARCH_HAS_DATA_ABORT_MASK=y
# end of Library routines
#
# Crypto support
#
# CONFIG_DIGEST is not set
# CONFIG_CRYPTO_KEYSTORE is not set
# end of Crypto support
#
# Firmware files
#CONFIG_EXTRA_FIRMWARE_DIR="firmware"
# end of Firmware files
#
# Host Tools
#
# CONFIG_COMPILE_HOST_TOOLS is not set
# end of Host Tools
#
# Target Tools
#
# CONFIG_KERNEL_INSTALL_TARGET is not set
# CONFIG_BAREBOXENV_TARGET is not set
# CONFIG_BAREBOXCRC32_TARGET is not set
# CONFIG_MVEBU_KWBOOT_TARGET is not set
# end of Target Tools
# CONFIG_TEST is not set
_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox
Hi Sam,
Quoted 23 lines · Sam Ravnborg
Hi,
Quoted 3 lines
Can anyone (Ahmad?) help me a little how to get the bootstrap functionality working on the at91sam9263?
To answer the obvious questions - what have I done so far.
- I have an at91bootstrap generated BOOT.BIN that works. This ruins out a lot of possible issues with the SD card as the board boots from the SD card with the at91bootstrap based BOOT.BIN.
- The toolchain used is generated from buildroot, and I do not have any proof that it works as I have not had any successes.
So far I have assumed that it works.- The configuration used is pasted below.
- The board I use is the skov-arm9cpu which I know works as it boots barebox with the at91bootstrap BOOT.BIN
- I have only a limited set of patches - pasted below.
Quoted 7 lines
- Latest barebox from the master branch
- I have tried to power cycle and reset of the board - no change
- There is a ">RomBOOT" prompt - but nothing else
Sam
By porting sama5d3 I noticed that bootROM is resetting configuration for at least some of ip cores. So, the main question is, do everything needed for uart is still pre-configured? For example pllc and clk settings?
I would recommend to measure with scope the uart lines and see if you get something and if it is at expected frequency. JTAG would probably help as well to see what code is currently executed and if register configurations are in expected state.
As soon as UART is working, every thing else will be not really hard to do :)
Quoted 594 lines
arch/arm/boards/skov-arm9cpu/lowlevel.c +20
-0@@ -3,14 +3,20 @@#include <linux/sizes.h> +#include <debug_ll.h> +#include <asm/barebox-arm.h> #include <mach/at91sam926x_board_init.h> #include <mach/at91sam9263_matrix.h> +#include <mach/at91_dbgu.h> +#include <mach/iomux.h> #define MASTER_PLL_MUL 171#define MASTER_PLL_DIV 14 +#define MASTER_CLOCK (200000000/2) + static void __bare_init skovarm9cpu_board_config(struct at91sam926x_board_cfg *cfg) {/* Disable Watchdog */ @@ -96,6 +102,18 @@ static void __bare_init skovarm9cpu_board_config(struct at91sam926x_board_cfg *cAT91_RSTC_RSTTYP_WATCHDOG ; } +static void dbgu_init (void ) +{ +void __iomem *pio =IOMEM (AT91SAM9263_BASE_PIOC ); +// Setup DBGU uart +at91_mux_pio3_pin (pio,pin_to_mask (AT91_PIN_PC30 ),AT91_MUX_PERIPH_A ,GPIO_PULL_UP );// DRXD +at91_mux_pio3_pin (pio,pin_to_mask (AT91_PIN_PC31 ),AT91_MUX_PERIPH_A ,0 );// DTXD + +at91_dbgu_setup_ll (IOMEM (AT91_BASE_DBGU1 ),MASTER_CLOCK ,115200 ); +pbl_set_putc (at91_dbgu_putc,IOMEM (AT91_BASE_DBGU1 )); +putc_ll ('#' ); +} + static void __bare_init skov_arm9cpu_init(void *fdt) {struct at91sam926x_board_cfg cfg;@@ -108,6 +126,8 @@ static void __bare_init skov_arm9cpu_init(void *fdt)skovarm9cpu_board_config (&cfg);at91sam9263_board_init (&cfg); +dbgu_init (); +barebox_arm_entry (AT91_CHIPSELECT_1 ,at91_get_sdram_size (cfg.sdramc), fdt); }#
# Automatically generated file; DO NOT EDIT.
# Barebox/arm 2021.12.0 Configuration
#CONFIG_ARM=yCONFIG_HAVE_MACH_ARM_HEAD=yCONFIG_ARM_USE_COMPRESSED_DTB=yCONFIG_TEXT_BASE=0x0#
# System Type
#CONFIG_ARCH_AT91=y
#CONFIG_ARCH_BCM283Xis not set
#CONFIG_ARCH_CLPS711Xis not set
#CONFIG_ARCH_DAVINCIis not set
#CONFIG_ARCH_DIGICis not set
#CONFIG_ARCH_EP93XXis not set
#CONFIG_ARCH_IMXis not set
#CONFIG_ARCH_LAYERSCAPEis not set
#CONFIG_ARCH_MVEBUis not set
#CONFIG_ARCH_MXSis not set
#CONFIG_ARCH_NOMADIKis not set
#CONFIG_ARCH_OMAPis not set
#CONFIG_ARCH_PXAis not set
#CONFIG_ARCH_ROCKCHIPis not set
#CONFIG_ARCH_SOCFPGAis not set
#CONFIG_ARCH_S3C24xxis not set
#CONFIG_ARCH_S5PCxxis not set
#CONFIG_ARCH_S3C64xxis not set
#CONFIG_ARCH_STM32MPis not set
#CONFIG_ARCH_VERSATILEis not set
#CONFIG_ARCH_VEXPRESSis not set
#CONFIG_ARCH_TEGRAis not set
#CONFIG_ARCH_UEMDis not set
#CONFIG_ARCH_ZYNQis not set
#CONFIG_ARCH_ZYNQMPis not set
#CONFIG_ARCH_ARM64_VIRTis not set#
# Processor Type
#CONFIG_CPU_32=yCONFIG_CPU_ARM926T=y
CONFIG_CPU_32v5=y#
# processor features # # CONFIG_BOOT_ENDIANNESS_SWITCH is not set CONFIG_HAVE_AT91_UTMI=y CONFIG_HAVE_AT91_USB_CLK=y CONFIG_COMMON_CLK_AT91=y CONFIG_HAVE_AT91_SMD=y CONFIG_HAVE_AT91_BOOTSTRAP=y CONFIG_AT91SAM926X_BOARD_INIT=y CONFIG_AT91SAM9_SMC=y CONFIG_HAVE_AT91SAM9_RST=y CONFIG_SOC_AT91SAM9=y CONFIG_ARCH_TEXT_BASE=0x23f00000 CONFIG_HAVE_AT91_LOAD_BAREBOX_SRAM=y#
# Atmel AT91 System-on-Chip
#CONFIG_SOC_AT91SAM9263=yCONFIG_AT91_MULTI_BOARDS=yCONFIG_MACH_SKOV_ARM9CPU=y
#CONFIG_MACH_AT91SAM9263EKis not set
#CONFIG_MACH_AT91SAM9X5EKis not set
#CONFIG_MACH_MICROCHIP_KSZ9477_EVBis not set
#CONFIG_MACH_SAMA5D3_XPLAINEDis not set
#CONFIG_MACH_SAMA5D27_SOM1is not set
#CONFIG_MACH_SAMA5D27_GIANTBOARDis not set#
# AT91 Board Options
#CONFIG_AT91_BOOTSTRAP=y
#CONFIG_AT91_LOAD_BAREBOX_SRAMis not setCONFIG_BAREBOX_MAX_IMAGE_SIZE=0x40000
#CONFIG_BOARD_ARM_GENERIC_DTis not set
#CONFIG_AEABIis not set# end of System Type#
# ARM specific settings
#
#CONFIG_ARM_OPTIMZED_STRING_FUNCTIONSis not setCONFIG_ARM_EXCEPTIONS=y
#CONFIG_ARM_SEMIHOSTINGis not set# end of ARM specific settings
CONFIG_GREGORIAN_CALENDER=yCONFIG_HAS_KALLSYMS=yCONFIG_HAS_MODULES=yCONFIG_HAS_CACHE=yCONFIG_HAS_DMA=yCONFIG_HAS_ARCH_SJLJ=yCONFIG_GENERIC_GPIO=yCONFIG_BLOCK=yCONFIG_BLOCK_WRITE=yCONFIG_USE_COMPRESSED_DTB=yCONFIG_FILETYPE=y#
# General Settings
#CONFIG_LOCALVERSION=""CONFIG_LOCALVERSION_AUTO=yCONFIG_BANNER=yCONFIG_MEMINFO=y
#CONFIG_ENVIRONMENT_VARIABLESis not set
#CONFIG_GLOBALVARis not set#
# memory layout # CONFIG_HAVE_PBL_IMAGE=y CONFIG_HAVE_PBL_MULTI_IMAGES=y CONFIG_HAVE_IMAGE_COMPRESSION=y CONFIG_PBL_IMAGE=y CONFIG_PBL_MULTI_IMAGES=y CONFIG_PBL_RELOCATABLE=y CONFIG_IMAGE_COMPRESSION=y # CONFIG_IMAGE_COMPRESSION_LZ4 is not set CONFIG_IMAGE_COMPRESSION_LZO=y # CONFIG_IMAGE_COMPRESSION_GZIP is not set # CONFIG_IMAGE_COMPRESSION_XZKERN is not set # CONFIG_IMAGE_COMPRESSION_NONE is not set # CONFIG_MMU is not set CONFIG_BAREBOX_MAX_PBL_SIZE=0xffffffff CONFIG_BAREBOX_MAX_BARE_INIT_SIZE=0xffffffff CONFIG_STACK_SIZE=0x8000 CONFIG_MALLOC_SIZE=0x400000 # end of memory layout#
CONFIG_EXPERIMENTALis not set
#CONFIG_MALLOC_DLMALLOCis not setCONFIG_MALLOC_TLSF=y
#CONFIG_MALLOC_DUMMYis not setCONFIG_HAVE_MOD_ARCH_SPECIFIC=y
#CONFIG_KALLSYMSis not setCONFIG_RELOCATABLE=y
#CONFIG_PANIC_HANGis not setCONFIG_PROMPT="barebox:"CONFIG_BAUDRATE=115200CONFIG_SIMPLE_READLINE=yCONFIG_CBSIZE=1024
#CONFIG_SHELL_HUSHis not set
#CONFIG_SHELL_SIMPLEis not setCONFIG_SHELL_NONE=y
#CONFIG_GLOBis not set
#CONFIG_PASSWORDis not setCONFIG_ERRNO_MESSAGES=yCONFIG_TIMESTAMP=y
#CONFIG_BOOTMis not set
#CONFIG_BAREBOX_UPDATEis not set
#CONFIG_IMDis not set
#CONFIG_CONSOLE_FULLis not setCONFIG_CONSOLE_SIMPLE=y
#CONFIG_CONSOLE_NONEis not set
#CONFIG_CONSOLE_ALLOW_COLORis not set
#CONFIG_CONSOLE_DISABLE_INPUTis not setCONFIG_PBL_CONSOLE=yCONFIG_PARTITION=yCONFIG_PARTITION_DISK=yCONFIG_PARTITION_DISK_DOS=y
#CONFIG_PARTITION_DISK_EFIis not set
#CONFIG_ENV_HANDLINGis not set
#CONFIG_DEFAULT_ENVIRONMENTis not set
#CONFIG_DEFAULT_COMPRESSION_GZIPis not set
#CONFIG_DEFAULT_COMPRESSION_LZOis not setCONFIG_DEFAULT_COMPRESSION_NONE=yCONFIG_HAS_SCHED=yCONFIG_POLLER=y
#CONFIG_BTHREADis not set
#CONFIG_STATEis not set
#CONFIG_BOOTCHOOSERis not setCONFIG_EXTERNAL_DTS_FRAGMENTS=""#
# OP-TEE loading
#
#CONFIG_PBL_OPTEEis not set# end of OP-TEE loading # end of General Settings#
# Debugging
#CONFIG_COMPILE_LOGLEVEL=6CONFIG_DEFAULT_LOGLEVEL=7CONFIG_DEBUG_LL=yCONFIG_DEBUG_AT91_UART=yCONFIG_DEBUG_AT91_UART_BASE=0xffffee00
#CONFIG_DEBUG_INITCALLSis not set
#CONFIG_DEBUG_PROBESis not set
#CONFIG_PBL_BREAKis not set
#CONFIG_PRINTF_FULLis not set
#CONFIG_UBSANis not setCONFIG_HAVE_ARCH_KASAN=yCONFIG_CC_HAS_KASAN_GENERIC=y
#CONFIG_KASANis not set
#CONFIG_COMPILE_TESTis not set# end of Debugging#
# EFI (Extensible Firmware Interface) Support
## end of EFI (Extensible Firmware Interface) Support
CONFIG_HAS_DEBUG_LL=y
#CONFIG_NETis not set#
# Drivers
#CONFIG_OFTREE=yCONFIG_OFTREE_MEM_GENERIC=yCONFIG_DTC=yCONFIG_OFDEVICE=yCONFIG_OF_GPIO=y
#CONFIG_OF_OVERLAYis not set
#CONFIG_AIODEVis not set#
# serial drivers # # CONFIG_DRIVER_SERIAL_ARM_DCC is not set # CONFIG_DRIVER_SERIAL_NS16550 is not set CONFIG_DRIVER_SERIAL_ATMEL=y # CONFIG_DRIVER_SERIAL_CADENCE is not set # CONFIG_SERIAL_SIFIVE is not set # end of serial drivers
CONFIG_HAS_MACB=y#
# SPI drivers
#
#CONFIG_SPIis not set# end of SPI drivers#
CONFIG_I2Cis not set
#CONFIG_MTDis not setCONFIG_DISK=yCONFIG_DISK_WRITE=y#
# drive types # # CONFIG_DISK_ATA is not set # CONFIG_DISK_AHCI is not set#
# interface types # # CONFIG_DISK_INTF_PLATFORM_IDE is not set # CONFIG_USB_HOST is not set # CONFIG_USB_GADGET is not set # CONFIG_USB_MUSB is not set CONFIG_VIDEO=y # CONFIG_FRAMEBUFFER_CONSOLE is not set CONFIG_DRIVER_VIDEO_ATMEL=y # CONFIG_DRIVER_VIDEO_ATMEL_HLCD is not set # CONFIG_DRIVER_VIDEO_BOCHS_ISA is not set # CONFIG_DRIVER_VIDEO_SIMPLEFB_CLIENT is not set # CONFIG_DRIVER_VIDEO_SIMPLEFB is not set # CONFIG_DRIVER_VIDEO_EDID is not set CONFIG_DRIVER_VIDEO_BACKLIGHT=y#
# Video encoder chips
#
#CONFIG_DRIVER_VIDEO_SIMPLE_PANELis not set
#CONFIG_SOUNDis not setCONFIG_MCI=y#
# --- Feature list ---
#
#CONFIG_MCI_STARTUPis not setCONFIG_MCI_WRITE=yCONFIG_MCI_MMC_BOOT_PARTITIONS=y
#CONFIG_MCI_MMC_GPP_PARTITIONSis not set#
# --- MCI host drivers ---
#
#CONFIG_MCI_DWis not set
#CONFIG_MCI_ROCKCHIP_DWCMSHCis not setCONFIG_MCI_ATMEL=y
#CONFIG_MCI_ATMEL_SDHCIis not set
#CONFIG_MCI_ARASANis not setCONFIG_HAVE_CLK=yCONFIG_CLKDEV_LOOKUP=yCONFIG_COMMON_CLK=yCONFIG_COMMON_CLK_OF_PROVIDER=y#
# Clocksource
#CONFIG_CLOCKSOURCE_DUMMY_RATE=1000CONFIG_CLOCKSOURCE_ATMEL_PIT=y
#CONFIG_CLOCKSOURCE_DW_APB_TIMERis not set# end of Clocksource#
# Multifunction device drivers
#CONFIG_MFD_SYSCON=y
#CONFIG_MFD_ATMEL_FLEXCOMis not set# end of Multifunction device drivers#
# Misc devices
#
#CONFIG_JTAGis not setCONFIG_SRAM=y
#CONFIG_DEV_MEMis not set
#CONFIG_UBOOTVARis not set# end of Misc devices
CONFIG_LED=yCONFIG_LED_GPIO=yCONFIG_LED_GPIO_OF=y
#CONFIG_LED_GPIO_RGBis not set
#CONFIG_LED_GPIO_BICOLORis not setCONFIG_LED_TRIGGERS=y#
# EEPROM support
## end of EEPROM support#
# Input device support
#CONFIG_INPUT=yCONFIG_KEYBOARD_GPIO=y
#CONFIG_INPUT_SPECIALKEYSis not set# end of Input device support#
CONFIG_WATCHDOGis not set
#CONFIG_PWMis not set
#CONFIG_HWRNGis not set#
# DMA support
## end of DMA support
CONFIG_GPIOLIB=y#
# GPIO
#
#CONFIG_GPIO_74XX_MMIOis not set
#CONFIG_GPIO_GENERIC_PLATFORMis not set
#CONFIG_GPIO_DESIGNWAREis not set
#CONFIG_GPIO_SIFIVEis not set# end of GPIO#
CONFIG_W1is not set#
# Pin controllers
#CONFIG_PINCTRL=yCONFIG_PINCTRL_AT91=y
#CONFIG_PINCTRL_AT91PIO4is not set
#CONFIG_PINCTRL_SINGLEis not set# end of Pin controllers#
CONFIG_NVMEMis not set#
# Bus devices
## end of Bus devices#
CONFIG_REGULATORis not set#
# Remoteproc drivers
#
#CONFIG_REMOTEPROCis not set# end of Remoteproc drivers#
CONFIG_RESET_CONTROLLERis not set
#CONFIG_RTC_CLASSis not set#
# Firmware Drivers
## end of Firmware Drivers#
# FPGA Configuration Support
#
#CONFIG_FPGAis not set# end of FPGA Configuration Support#
CONFIG_GENERIC_PHYis not set
#CONFIG_CRYPTO_HWis not set#
# Memory controller drivers
## end of Memory controller drivers#
# i.MX SoC drivers
## end of i.MX SoC drivers#
# NVME Support
## end of NVME Support#
CONFIG_SYSCON_REBOOT_MODEis not set
#CONFIG_POWER_RESET_SYSCONis not set
#CONFIG_POWER_RESET_SYSCON_POWEROFFis not set
#CONFIG_POWER_RESET_GPIOis not set
#CONFIG_POWER_RESET_GPIO_RESTARTis not set
#CONFIG_VIRTIO_MENUis not set# end of Drivers#
# Filesystem support
#CONFIG_FS=yCONFIG_FS_LEGACY=y#
# Some selected filesystems still use the legacy FS API. ##
# Consider updating them.
#
#CONFIG_FS_CRAMFSis not set
#CONFIG_FS_EXT4is not set
#CONFIG_FS_RAMFSis not set
#CONFIG_FS_DEVFSis not setCONFIG_FS_FAT=yCONFIG_FS_FAT_WRITE=yCONFIG_FS_FAT_LFN=y
#CONFIG_FS_BPKFSis not set
#CONFIG_FS_UIMAGEFSis not set
#CONFIG_FS_PSTOREis not set
#CONFIG_FS_SQUASHFSis not set#
# ZLIB support disabled
##
# LZ4 support disabled
##
# LZO support disabled
##
# XZ support disabled
##
# ZSTD support disabled
## end of Filesystem support#
# Library routines
#CONFIG_UNCOMPRESS=yCONFIG_ZLIB=y
#CONFIG_BZLIBis not set
#CONFIG_LZ4_DECOMPRESSis not set
#CONFIG_ZSTD_DECOMPRESSis not set
#CONFIG_XZ_DECOMPRESSis not set
#CONFIG_BASE64is not setCONFIG_LZO_DECOMPRESS=y
#CONFIG_ALLOW_PRNG_FALLBACKis not set
#CONFIG_CRC_CCITTis not set
#CONFIG_CRC8is not set#
# Library gui routines
## end of Library gui routines#
CONFIG_BAREBOX_LOGOis not setCONFIG_BOOTSTRAP=yCONFIG_BOOTSTRAP_DEVFS=yCONFIG_BOOTSTRAP_DISK=y
#CONFIG_NLSis not set
#CONFIG_BLOBGENis not setCONFIG_ARCH_HAS_DATA_ABORT_MASK=y# end of Library routines#
# Crypto support
#
#CONFIG_DIGESTis not set
#CONFIG_CRYPTO_KEYSTOREis not set# end of Crypto support#
# Firmware files
#CONFIG_EXTRA_FIRMWARE_DIR="firmware"# end of Firmware files#
# Host Tools
#
#CONFIG_COMPILE_HOST_TOOLSis not set# end of Host Tools#
# Target Tools
#
#CONFIG_KERNEL_INSTALL_TARGETis not set
#CONFIG_BAREBOXENV_TARGETis not set
#CONFIG_BAREBOXCRC32_TARGETis not set
#CONFIG_MVEBU_KWBOOT_TARGETis not set# end of Target Tools#
CONFIG_TESTis not set_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox
Signature · 9 lines
Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list [email protected] http://lists.infradead.org/mailman/listinfo/barebox
Hi Oleksij,
Quoted 4 lines
By porting sama5d3 I noticed that bootROM is resetting configuration for at least some of ip cores. So, the main question is, do everything needed for uart is still pre-configured? For example pllc and clk settings?
I found this in the data sheet that agrees with you:
"
Before performing the jump to the application in internal SRAM, all the PIOs and peripherals used in the boot program are set to their reset state.
"
I will throw some hours after this in the weekend to see if I can get it up and running.
Quoted 3 lines
As soon as UART is working, every thing else will be not really hard to do :)
Agree, except that I need find a nice way to add whatever I do to the current at91 stuff. But that is part of the fun.
Sam
_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox
Hi Sam,
Quoted 11 lines · Sam Ravnborg
Hi,
Quoted 3 lines
Can anyone (Ahmad?) help me a little how to get the bootstrap functionality working on the at91sam9263?
To answer the obvious questions - what have I done so far.
- I have an at91bootstrap generated BOOT.BIN that works. This ruins out a lot of possible issues with the SD card as the board boots from the SD card with the at91bootstrap based BOOT.BIN.
So the arm9cpu boots XIP from NAND, but the 9263ek boots from SD? Did I get that right?
Quoted 48 lines
- The toolchain used is generated from buildroot, and I do not have any proof that it works as I have not had any successes.
So far I have assumed that it works.- The configuration used is pasted below.
- The board I use is the skov-arm9cpu which I know works as it boots barebox with the at91bootstrap BOOT.BIN
- I have only a limited set of patches - pasted below.
- Latest barebox from the master branch
- I have tried to power cycle and reset of the board - no change
- There is a ">RomBOOT" prompt - but nothing else
Sam
arch/arm/boards/skov-arm9cpu/lowlevel.c +6
-0@@ -3,14 +3,20 @@#include <linux/sizes.h> +#include <debug_ll.h> +#include <asm/barebox-arm.h> #include <mach/at91sam926x_board_init.h> #include <mach/at91sam9263_matrix.h> +#include <mach/at91_dbgu.h> +#include <mach/iomux.h> #define MASTER_PLL_MUL 171#define MASTER_PLL_DIV 14 +#define MASTER_CLOCK (200000000/2) + static void __bare_init skovarm9cpu_board_config(struct at91sam926x_board_cfg *cfg) {/* Disable Watchdog */ @@ -96,6 +102,18 @@ static void __bare_init skovarm9cpu_board_config(struct at91sam926x_board_cfg *cAT91_RSTC_RSTTYP_WATCHDOG ; }
arch/arm/boards/skov-arm9cpu/lowlevel.c static void __bare_init skovarm9cpu_board_config(struct at91sam926x_board_cfg *c · line 113
Quoted 10 lines
arch/arm/boards/skov-arm9cpu/lowlevel.c +9
-0+static void dbgu_init (void ) +{ +void __iomem *pio =IOMEM (AT91SAM9263_BASE_PIOC ); +// Setup DBGU uart +at91_mux_pio3_pin (pio,pin_to_mask (AT91_PIN_PC30 ),AT91_MUX_PERIPH_A ,GPIO_PULL_UP );// DRXD +at91_mux_pio3_pin (pio,pin_to_mask (AT91_PIN_PC31 ),AT91_MUX_PERIPH_A ,0 );// DTXD + +at91_dbgu_setup_ll (IOMEM (AT91_BASE_DBGU1 ),MASTER_CLOCK ,115200 ); +pbl_set_putc (at91_dbgu_putc,IOMEM (AT91_BASE_DBGU1 ));
That's not safe to call here. pbl_set_putc accesses global variables, but there has been no relocation yet.
arch/arm/boards/skov-arm9cpu/lowlevel.c static void __bare_init skov_arm9cpu_init(void *fdt) · line 130
Quoted 12 lines
arch/arm/boards/skov-arm9cpu/lowlevel.c +5
-0+putc_ll ('#' ); +} + static void __bare_init skov_arm9cpu_init(void *fdt) {struct at91sam926x_board_cfg cfg;@@ -108,6 +126,8 @@ static void __bare_init skov_arm9cpu_init(void *fdt)skovarm9cpu_board_config (&cfg);at91sam9263_board_init (&cfg); +dbgu_init (); +
If you have a functional skov arm9cpu configuration. Could you figure out the bare minimum of clock setup you need for DEBUG_LL to work and move that further up?
Once you get get to the barebox_arm_entry, you'll want to call into the PBL xload from MMC stuff instead, like Oleksij did for the SAMA5D3.
Cheers,
Ahmad
Quoted 539 lines
arch/arm/boards/skov-arm9cpu/lowlevel.c +0
-0barebox_arm_entry (AT91_CHIPSELECT_1 ,at91_get_sdram_size (cfg.sdramc), fdt); }#
# Automatically generated file; DO NOT EDIT.
# Barebox/arm 2021.12.0 Configuration
#CONFIG_ARM=yCONFIG_HAVE_MACH_ARM_HEAD=yCONFIG_ARM_USE_COMPRESSED_DTB=yCONFIG_TEXT_BASE=0x0#
# System Type
#CONFIG_ARCH_AT91=y
#CONFIG_ARCH_BCM283Xis not set
#CONFIG_ARCH_CLPS711Xis not set
#CONFIG_ARCH_DAVINCIis not set
#CONFIG_ARCH_DIGICis not set
#CONFIG_ARCH_EP93XXis not set
#CONFIG_ARCH_IMXis not set
#CONFIG_ARCH_LAYERSCAPEis not set
#CONFIG_ARCH_MVEBUis not set
#CONFIG_ARCH_MXSis not set
#CONFIG_ARCH_NOMADIKis not set
#CONFIG_ARCH_OMAPis not set
#CONFIG_ARCH_PXAis not set
#CONFIG_ARCH_ROCKCHIPis not set
#CONFIG_ARCH_SOCFPGAis not set
#CONFIG_ARCH_S3C24xxis not set
#CONFIG_ARCH_S5PCxxis not set
#CONFIG_ARCH_S3C64xxis not set
#CONFIG_ARCH_STM32MPis not set
#CONFIG_ARCH_VERSATILEis not set
#CONFIG_ARCH_VEXPRESSis not set
#CONFIG_ARCH_TEGRAis not set
#CONFIG_ARCH_UEMDis not set
#CONFIG_ARCH_ZYNQis not set
#CONFIG_ARCH_ZYNQMPis not set
#CONFIG_ARCH_ARM64_VIRTis not set#
# Processor Type
#CONFIG_CPU_32=yCONFIG_CPU_ARM926T=y
CONFIG_CPU_32v5=y#
# processor features # # CONFIG_BOOT_ENDIANNESS_SWITCH is not set CONFIG_HAVE_AT91_UTMI=y CONFIG_HAVE_AT91_USB_CLK=y CONFIG_COMMON_CLK_AT91=y CONFIG_HAVE_AT91_SMD=y CONFIG_HAVE_AT91_BOOTSTRAP=y CONFIG_AT91SAM926X_BOARD_INIT=y CONFIG_AT91SAM9_SMC=y CONFIG_HAVE_AT91SAM9_RST=y CONFIG_SOC_AT91SAM9=y CONFIG_ARCH_TEXT_BASE=0x23f00000 CONFIG_HAVE_AT91_LOAD_BAREBOX_SRAM=y#
# Atmel AT91 System-on-Chip
#CONFIG_SOC_AT91SAM9263=yCONFIG_AT91_MULTI_BOARDS=yCONFIG_MACH_SKOV_ARM9CPU=y
#CONFIG_MACH_AT91SAM9263EKis not set
#CONFIG_MACH_AT91SAM9X5EKis not set
#CONFIG_MACH_MICROCHIP_KSZ9477_EVBis not set
#CONFIG_MACH_SAMA5D3_XPLAINEDis not set
#CONFIG_MACH_SAMA5D27_SOM1is not set
#CONFIG_MACH_SAMA5D27_GIANTBOARDis not set#
# AT91 Board Options
#CONFIG_AT91_BOOTSTRAP=y
#CONFIG_AT91_LOAD_BAREBOX_SRAMis not setCONFIG_BAREBOX_MAX_IMAGE_SIZE=0x40000
#CONFIG_BOARD_ARM_GENERIC_DTis not set
#CONFIG_AEABIis not set# end of System Type#
# ARM specific settings
#
#CONFIG_ARM_OPTIMZED_STRING_FUNCTIONSis not setCONFIG_ARM_EXCEPTIONS=y
#CONFIG_ARM_SEMIHOSTINGis not set# end of ARM specific settings
CONFIG_GREGORIAN_CALENDER=yCONFIG_HAS_KALLSYMS=yCONFIG_HAS_MODULES=yCONFIG_HAS_CACHE=yCONFIG_HAS_DMA=yCONFIG_HAS_ARCH_SJLJ=yCONFIG_GENERIC_GPIO=yCONFIG_BLOCK=yCONFIG_BLOCK_WRITE=yCONFIG_USE_COMPRESSED_DTB=yCONFIG_FILETYPE=y#
# General Settings
#CONFIG_LOCALVERSION=""CONFIG_LOCALVERSION_AUTO=yCONFIG_BANNER=yCONFIG_MEMINFO=y
#CONFIG_ENVIRONMENT_VARIABLESis not set
#CONFIG_GLOBALVARis not set#
# memory layout # CONFIG_HAVE_PBL_IMAGE=y CONFIG_HAVE_PBL_MULTI_IMAGES=y CONFIG_HAVE_IMAGE_COMPRESSION=y CONFIG_PBL_IMAGE=y CONFIG_PBL_MULTI_IMAGES=y CONFIG_PBL_RELOCATABLE=y CONFIG_IMAGE_COMPRESSION=y # CONFIG_IMAGE_COMPRESSION_LZ4 is not set CONFIG_IMAGE_COMPRESSION_LZO=y # CONFIG_IMAGE_COMPRESSION_GZIP is not set # CONFIG_IMAGE_COMPRESSION_XZKERN is not set # CONFIG_IMAGE_COMPRESSION_NONE is not set # CONFIG_MMU is not set CONFIG_BAREBOX_MAX_PBL_SIZE=0xffffffff CONFIG_BAREBOX_MAX_BARE_INIT_SIZE=0xffffffff CONFIG_STACK_SIZE=0x8000 CONFIG_MALLOC_SIZE=0x400000 # end of memory layout#
CONFIG_EXPERIMENTALis not set
#CONFIG_MALLOC_DLMALLOCis not setCONFIG_MALLOC_TLSF=y
#CONFIG_MALLOC_DUMMYis not setCONFIG_HAVE_MOD_ARCH_SPECIFIC=y
#CONFIG_KALLSYMSis not setCONFIG_RELOCATABLE=y
#CONFIG_PANIC_HANGis not setCONFIG_PROMPT="barebox:"CONFIG_BAUDRATE=115200CONFIG_SIMPLE_READLINE=yCONFIG_CBSIZE=1024
#CONFIG_SHELL_HUSHis not set
#CONFIG_SHELL_SIMPLEis not setCONFIG_SHELL_NONE=y
#CONFIG_GLOBis not set
#CONFIG_PASSWORDis not setCONFIG_ERRNO_MESSAGES=yCONFIG_TIMESTAMP=y
#CONFIG_BOOTMis not set
#CONFIG_BAREBOX_UPDATEis not set
#CONFIG_IMDis not set
#CONFIG_CONSOLE_FULLis not setCONFIG_CONSOLE_SIMPLE=y
#CONFIG_CONSOLE_NONEis not set
#CONFIG_CONSOLE_ALLOW_COLORis not set
#CONFIG_CONSOLE_DISABLE_INPUTis not setCONFIG_PBL_CONSOLE=yCONFIG_PARTITION=yCONFIG_PARTITION_DISK=yCONFIG_PARTITION_DISK_DOS=y
#CONFIG_PARTITION_DISK_EFIis not set
#CONFIG_ENV_HANDLINGis not set
#CONFIG_DEFAULT_ENVIRONMENTis not set
#CONFIG_DEFAULT_COMPRESSION_GZIPis not set
#CONFIG_DEFAULT_COMPRESSION_LZOis not setCONFIG_DEFAULT_COMPRESSION_NONE=yCONFIG_HAS_SCHED=yCONFIG_POLLER=y
#CONFIG_BTHREADis not set
#CONFIG_STATEis not set
#CONFIG_BOOTCHOOSERis not setCONFIG_EXTERNAL_DTS_FRAGMENTS=""#
# OP-TEE loading
#
#CONFIG_PBL_OPTEEis not set# end of OP-TEE loading # end of General Settings#
# Debugging
#CONFIG_COMPILE_LOGLEVEL=6CONFIG_DEFAULT_LOGLEVEL=7CONFIG_DEBUG_LL=yCONFIG_DEBUG_AT91_UART=yCONFIG_DEBUG_AT91_UART_BASE=0xffffee00
#CONFIG_DEBUG_INITCALLSis not set
#CONFIG_DEBUG_PROBESis not set
#CONFIG_PBL_BREAKis not set
#CONFIG_PRINTF_FULLis not set
#CONFIG_UBSANis not setCONFIG_HAVE_ARCH_KASAN=yCONFIG_CC_HAS_KASAN_GENERIC=y
#CONFIG_KASANis not set
#CONFIG_COMPILE_TESTis not set# end of Debugging#
# EFI (Extensible Firmware Interface) Support
## end of EFI (Extensible Firmware Interface) Support
CONFIG_HAS_DEBUG_LL=y
#CONFIG_NETis not set#
# Drivers
#CONFIG_OFTREE=yCONFIG_OFTREE_MEM_GENERIC=yCONFIG_DTC=yCONFIG_OFDEVICE=yCONFIG_OF_GPIO=y
#CONFIG_OF_OVERLAYis not set
#CONFIG_AIODEVis not set#
# serial drivers # # CONFIG_DRIVER_SERIAL_ARM_DCC is not set # CONFIG_DRIVER_SERIAL_NS16550 is not set CONFIG_DRIVER_SERIAL_ATMEL=y # CONFIG_DRIVER_SERIAL_CADENCE is not set # CONFIG_SERIAL_SIFIVE is not set # end of serial drivers
CONFIG_HAS_MACB=y#
# SPI drivers
#
#CONFIG_SPIis not set# end of SPI drivers#
CONFIG_I2Cis not set
#CONFIG_MTDis not setCONFIG_DISK=yCONFIG_DISK_WRITE=y#
# drive types # # CONFIG_DISK_ATA is not set # CONFIG_DISK_AHCI is not set#
# interface types # # CONFIG_DISK_INTF_PLATFORM_IDE is not set # CONFIG_USB_HOST is not set # CONFIG_USB_GADGET is not set # CONFIG_USB_MUSB is not set CONFIG_VIDEO=y # CONFIG_FRAMEBUFFER_CONSOLE is not set CONFIG_DRIVER_VIDEO_ATMEL=y # CONFIG_DRIVER_VIDEO_ATMEL_HLCD is not set # CONFIG_DRIVER_VIDEO_BOCHS_ISA is not set # CONFIG_DRIVER_VIDEO_SIMPLEFB_CLIENT is not set # CONFIG_DRIVER_VIDEO_SIMPLEFB is not set # CONFIG_DRIVER_VIDEO_EDID is not set CONFIG_DRIVER_VIDEO_BACKLIGHT=y#
# Video encoder chips
#
#CONFIG_DRIVER_VIDEO_SIMPLE_PANELis not set
#CONFIG_SOUNDis not setCONFIG_MCI=y#
# --- Feature list ---
#
#CONFIG_MCI_STARTUPis not setCONFIG_MCI_WRITE=yCONFIG_MCI_MMC_BOOT_PARTITIONS=y
#CONFIG_MCI_MMC_GPP_PARTITIONSis not set#
# --- MCI host drivers ---
#
#CONFIG_MCI_DWis not set
#CONFIG_MCI_ROCKCHIP_DWCMSHCis not setCONFIG_MCI_ATMEL=y
#CONFIG_MCI_ATMEL_SDHCIis not set
#CONFIG_MCI_ARASANis not setCONFIG_HAVE_CLK=yCONFIG_CLKDEV_LOOKUP=yCONFIG_COMMON_CLK=yCONFIG_COMMON_CLK_OF_PROVIDER=y#
# Clocksource
#CONFIG_CLOCKSOURCE_DUMMY_RATE=1000CONFIG_CLOCKSOURCE_ATMEL_PIT=y
#CONFIG_CLOCKSOURCE_DW_APB_TIMERis not set# end of Clocksource#
# Multifunction device drivers
#CONFIG_MFD_SYSCON=y
#CONFIG_MFD_ATMEL_FLEXCOMis not set# end of Multifunction device drivers#
# Misc devices
#
#CONFIG_JTAGis not setCONFIG_SRAM=y
#CONFIG_DEV_MEMis not set
#CONFIG_UBOOTVARis not set# end of Misc devices
CONFIG_LED=yCONFIG_LED_GPIO=yCONFIG_LED_GPIO_OF=y
#CONFIG_LED_GPIO_RGBis not set
#CONFIG_LED_GPIO_BICOLORis not setCONFIG_LED_TRIGGERS=y#
# EEPROM support
## end of EEPROM support#
# Input device support
#CONFIG_INPUT=yCONFIG_KEYBOARD_GPIO=y
#CONFIG_INPUT_SPECIALKEYSis not set# end of Input device support#
CONFIG_WATCHDOGis not set
#CONFIG_PWMis not set
#CONFIG_HWRNGis not set#
# DMA support
## end of DMA support
CONFIG_GPIOLIB=y#
# GPIO
#
#CONFIG_GPIO_74XX_MMIOis not set
#CONFIG_GPIO_GENERIC_PLATFORMis not set
#CONFIG_GPIO_DESIGNWAREis not set
#CONFIG_GPIO_SIFIVEis not set# end of GPIO#
CONFIG_W1is not set#
# Pin controllers
#CONFIG_PINCTRL=yCONFIG_PINCTRL_AT91=y
#CONFIG_PINCTRL_AT91PIO4is not set
#CONFIG_PINCTRL_SINGLEis not set# end of Pin controllers#
CONFIG_NVMEMis not set#
# Bus devices
## end of Bus devices#
CONFIG_REGULATORis not set#
# Remoteproc drivers
#
#CONFIG_REMOTEPROCis not set# end of Remoteproc drivers#
CONFIG_RESET_CONTROLLERis not set
#CONFIG_RTC_CLASSis not set#
# Firmware Drivers
## end of Firmware Drivers#
# FPGA Configuration Support
#
#CONFIG_FPGAis not set# end of FPGA Configuration Support#
CONFIG_GENERIC_PHYis not set
#CONFIG_CRYPTO_HWis not set#
# Memory controller drivers
## end of Memory controller drivers#
# i.MX SoC drivers
## end of i.MX SoC drivers#
# NVME Support
## end of NVME Support#
CONFIG_SYSCON_REBOOT_MODEis not set
#CONFIG_POWER_RESET_SYSCONis not set
#CONFIG_POWER_RESET_SYSCON_POWEROFFis not set
#CONFIG_POWER_RESET_GPIOis not set
#CONFIG_POWER_RESET_GPIO_RESTARTis not set
#CONFIG_VIRTIO_MENUis not set# end of Drivers#
# Filesystem support
#CONFIG_FS=yCONFIG_FS_LEGACY=y#
# Some selected filesystems still use the legacy FS API. ##
# Consider updating them.
#
#CONFIG_FS_CRAMFSis not set
#CONFIG_FS_EXT4is not set
#CONFIG_FS_RAMFSis not set
#CONFIG_FS_DEVFSis not setCONFIG_FS_FAT=yCONFIG_FS_FAT_WRITE=yCONFIG_FS_FAT_LFN=y
#CONFIG_FS_BPKFSis not set
#CONFIG_FS_UIMAGEFSis not set
#CONFIG_FS_PSTOREis not set
#CONFIG_FS_SQUASHFSis not set#
# ZLIB support disabled
##
# LZ4 support disabled
##
# LZO support disabled
##
# XZ support disabled
##
# ZSTD support disabled
## end of Filesystem support#
# Library routines
#CONFIG_UNCOMPRESS=yCONFIG_ZLIB=y
#CONFIG_BZLIBis not set
#CONFIG_LZ4_DECOMPRESSis not set
#CONFIG_ZSTD_DECOMPRESSis not set
#CONFIG_XZ_DECOMPRESSis not set
#CONFIG_BASE64is not setCONFIG_LZO_DECOMPRESS=y
#CONFIG_ALLOW_PRNG_FALLBACKis not set
#CONFIG_CRC_CCITTis not set
#CONFIG_CRC8is not set#
# Library gui routines
## end of Library gui routines#
CONFIG_BAREBOX_LOGOis not setCONFIG_BOOTSTRAP=yCONFIG_BOOTSTRAP_DEVFS=yCONFIG_BOOTSTRAP_DISK=y
#CONFIG_NLSis not set
#CONFIG_BLOBGENis not setCONFIG_ARCH_HAS_DATA_ABORT_MASK=y# end of Library routines#
# Crypto support
#
#CONFIG_DIGESTis not set
#CONFIG_CRYPTO_KEYSTOREis not set# end of Crypto support#
# Firmware files
#CONFIG_EXTRA_FIRMWARE_DIR="firmware"# end of Firmware files#
# Host Tools
#
#CONFIG_COMPILE_HOST_TOOLSis not set# end of Host Tools#
# Target Tools
#
#CONFIG_KERNEL_INSTALL_TARGETis not set
#CONFIG_BAREBOXENV_TARGETis not set
#CONFIG_BAREBOXCRC32_TARGETis not set
#CONFIG_MVEBU_KWBOOT_TARGETis not set# end of Target Tools#
CONFIG_TESTis not set
Signature · 9 lines
Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list [email protected] http://lists.infradead.org/mailman/listinfo/barebox
Hello Sam,
Quoted 10 lines · Sam Ravnborg
Hi all.
This little detour started because Ahmad pointed out I had made a stupid mistake in pwm-atmel.
So I decided I wanted to give it a spin to verify if it actually works now.The first challenge I encountered was that said driver had bit-rotted as it used the old pwm framework - so I updated it from the Linux kernel.
Ouch. How did I miss this :/
Quoted 9 lines
I have the code locally - but this time I will not have it posted before it is tested.
Then I cloned the latest at91bootstrap - but they no longer support old at91sam92xx CPUs.
So it was time to enable bootstrap support for at91sam9263.In the past I had something working, but alas no luck this time.
Quoted 8 lines
Can anyone (Ahmad?) help me a little how to get the bootstrap functionality working on the at91sam9263?
I do not expect patches, but I hope for something that can point me in the right way to do it.
I have skov-arm9cpu boards (plenty - as they are mostly retired by SKOV) and one at91sam9263ek where I can test.
The skov-arm9cpu looks like it already runs first stage without at91bootstrap? So the issue is only with at91sam9263ek?
Quoted 2 lines
We see very little interest in at91sam92* boards and we could decide to retire all the boards that are not updated to multi-image.
As long as it works, I guess most people don't see a reason make interest publicly known.
Quoted 3 lines
This could simplify things - and if there is interest the missing boards can be brought back to life provided they are updated to multi image. Any comments on this?
I have only worked on SAMA5D3 and SAMA5D2. Of course, I'd like to see board code in AT91 replaced with DT-enabled/multi-image-compatible code, but I don't think it will happen. I don't think the maintenance burden is high, so I'd just leave it as is. If it bitrots and people complain, we can nudge them into the right direction.
Quoted 1 line
I am happy to type the patches - and verify that the boards I have works.
Great. Looking forward to more boards in at91_multi_defconfig.
Cheers,
Ahmad
Quoted 4 lines
Sam
Signature · 9 lines
Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list [email protected] http://lists.infradead.org/mailman/listinfo/barebox
Hi Ahmad,
Quoted 12 lines
Quoted 12 lines
I have the code locally - but this time I will not have it posted before it is tested.
Then I cloned the latest at91bootstrap - but they no longer support old at91sam92xx CPUs.
So it was time to enable bootstrap support for at91sam9263.In the past I had something working, but alas no luck this time.
Can anyone (Ahmad?) help me a little how to get the bootstrap functionality working on the at91sam9263?
Quoted 8 lines
Quoted 5 lines
I do not expect patches, but I hope for something that can point me in the right way to do it.
I have skov-arm9cpu boards (plenty - as they are mostly retired by SKOV) and one at91sam9263ek where I can test.
The skov-arm9cpu looks like it already runs first stage without at91bootstrap? So the issue is only with at91sam9263ek?
For the moment my focus is on the skov-arm9cpu - and here bootstrap is not (yet) functional. But I think with all the good feedback from you and Oleksij I should manage. Thanks for the replies!
Quoted 10 lines
Quoted 2 lines
We see very little interest in at91sam92* boards and we could decide to retire all the boards that are not updated to multi-image.
As long as it works, I guess most people don't see a reason make interest publicly known.
Quoted 3 lines
This could simplify things - and if there is interest the missing boards can be brought back to life provided they are updated to multi image. Any comments on this?
Quoted 5 lines
I have only worked on SAMA5D3 and SAMA5D2. Of course, I'd like to see board code in AT91 replaced with DT-enabled/multi-image-compatible code, but I don't think it will happen. I don't think the maintenance burden is high, so I'd just leave it as is. If it bitrots and people complain, we can nudge them into the right direction.
OK, you are right that if it just works no reason to touch it. I will do the patches alongside the current codebase then.
Sam
_______________________________________________
barebox mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/barebox