SyterKit 0.4.0.x
SyterKit is a bare-metal framework
Loading...
Searching...
No Matches
Classes | Macros | Functions | Variables
main.c File Reference
#include <stdbool.h>
#include <stddef.h>
#include <stdint.h>
#include <types.h>
#include <config.h>
#include <log.h>
#include <timer.h>
#include <common.h>
#include <jmp.h>
#include <mmu.h>
#include <smalloc.h>
#include <sstdlib.h>
#include <string.h>
#include <cli.h>
#include <cli_shell.h>
#include <cli_termesc.h>
#include <image_loader.h>
#include <sys-dram.h>
#include <sys-gpio.h>
#include <sys-i2c.h>
#include <sys-sdcard.h>
#include <sys-sid.h>
#include <sys-spi.h>
#include <sys-uart.h>
#include "fdt_wrapper.h"
#include "ff.h"
#include "libfdt.h"
#include "uart.h"
Include dependency graph for main.c:

Classes

struct  image_info_t
 

Macros

#define CONFIG_KERNEL_FILENAME   "zImage"
 
#define CONFIG_DTB_FILENAME   "sunxi.dtb"
 
#define CONFIG_CMDLINE
 
#define CONFIG_SDMMC_SPEED_TEST_SIZE   1024
 
#define CONFIG_DTB_LOAD_ADDR   (0x41008000)
 
#define CONFIG_KERNEL_LOAD_ADDR   (0x41800000)
 
#define CONFIG_CONFIG_LOAD_ADDR   (0x40008000)
 
#define CONFIG_HEAP_BASE   (0x40800000)
 
#define CONFIG_HEAP_SIZE   (16 * 1024 * 1024)
 
#define CONFIG_DEFAULT_BOOTDELAY   0
 
#define FILENAME_MAX_LEN   16
 
#define CHUNK_SIZE   0x20000
 

Functions

static int fatfs_loadimage (char *filename, BYTE *dest)
 
static int load_sdcard (image_info_t *image)
 
static int fdt_pack_reg (const void *fdt, void *buf, uint64_t address, uint64_t size)
 
static char * skip_spaces (char *str)
 
static int update_dtb_for_linux (uint32_t dram_size)
 
static int abortboot_single_key (int bootdelay)
 
 msh_declare_command (boot)
 
 msh_define_help (boot, "boot to linux", "Usage: boot\n")
 
int cmd_boot (int argc, const char **argv)
 
int main (void)
 

Variables

sunxi_serial_t uart_dbg
 
sunxi_spi_t sunxi_spi0
 
sdhci_t sdhci0
 
sunxi_i2c_t i2c_pmu
 
dram_para_t dram_para
 
image_info_t image
 
const msh_command_entry commands []
 

Macro Definition Documentation

◆ CHUNK_SIZE

#define CHUNK_SIZE   0x20000

◆ CONFIG_CMDLINE

#define CONFIG_CMDLINE
Value:
"earlyprintk=uart8250,mmio32,0x02500C00 console=tty0 " \
"console=ttyAS3,115200 loglevel=8 initcall_debug=0 " \
"root=/dev/mmcblk0p2 init=/init rdinit=/rdinit" \
"partitions=boot@mmcblk0p1:rootfs@mmcblk0p2:rootfs_data@mmcblk0p3:UDISK@mmcblk0p4"

◆ CONFIG_CONFIG_LOAD_ADDR

#define CONFIG_CONFIG_LOAD_ADDR   (0x40008000)

◆ CONFIG_DEFAULT_BOOTDELAY

#define CONFIG_DEFAULT_BOOTDELAY   0

◆ CONFIG_DTB_FILENAME

#define CONFIG_DTB_FILENAME   "sunxi.dtb"

◆ CONFIG_DTB_LOAD_ADDR

#define CONFIG_DTB_LOAD_ADDR   (0x41008000)

◆ CONFIG_HEAP_BASE

#define CONFIG_HEAP_BASE   (0x40800000)

◆ CONFIG_HEAP_SIZE

#define CONFIG_HEAP_SIZE   (16 * 1024 * 1024)

◆ CONFIG_KERNEL_FILENAME

#define CONFIG_KERNEL_FILENAME   "zImage"

◆ CONFIG_KERNEL_LOAD_ADDR

#define CONFIG_KERNEL_LOAD_ADDR   (0x41800000)

◆ CONFIG_SDMMC_SPEED_TEST_SIZE

#define CONFIG_SDMMC_SPEED_TEST_SIZE   1024

◆ FILENAME_MAX_LEN

#define FILENAME_MAX_LEN   16

Function Documentation

◆ abortboot_single_key()

static int abortboot_single_key ( int  bootdelay)
static

◆ cmd_boot()

int cmd_boot ( int  argc,
const char **  argv 
)

◆ fatfs_loadimage()

static int fatfs_loadimage ( char *  filename,
BYTE dest 
)
static

◆ fdt_pack_reg()

static int fdt_pack_reg ( const void *  fdt,
void *  buf,
uint64_t  address,
uint64_t  size 
)
static

◆ load_sdcard()

static int load_sdcard ( image_info_t image)
static

◆ main()

int main ( void  )

◆ msh_declare_command()

msh_declare_command ( boot  )

◆ msh_define_help()

msh_define_help ( boot  ,
"boot to linux"  ,
"Usage: boot\n"   
)

◆ skip_spaces()

static char * skip_spaces ( char *  str)
static

◆ update_dtb_for_linux()

static int update_dtb_for_linux ( uint32_t  dram_size)
static

Variable Documentation

◆ commands

const msh_command_entry commands[]
Initial value:
= {
}
#define msh_command_end
Definition cli.h:21
#define msh_define_command(name)
Definition cli.h:33

◆ dram_para

dram_para_t dram_para
extern

◆ i2c_pmu

sunxi_i2c_t i2c_pmu
extern

◆ image

image_info_t image

◆ sdhci0

sdhci_t sdhci0
extern

◆ sunxi_spi0

sunxi_spi_t sunxi_spi0
extern

◆ uart_dbg

sunxi_serial_t uart_dbg
extern