Skip to content

Instantly share code, notes, and snippets.

View Embedded-linux's full-sized avatar
💭
I may be slow to respond.

G Satish Kumar Embedded-linux

💭
I may be slow to respond.
  • Cavium Networks
  • Bangalore
View GitHub Profile
@Embedded-linux
Embedded-linux / Template FIle
Created June 9, 2014 09:21
u-boot porting--Beagle bone
Template files presented before porting MMC/SD, Ethernet, NAND & NOR.
1.arch/arm/cpu/armv7/am33xx/board.c
2.arch/arm/cpu/armv7/am33xx/emif4.c
3.arch/arm/cpu/armv7/am33xx/mem.c
4.board/ti/am33xx/board.c
5.board/ti/am33xx/mux.c
6.board/ti/am33xx/uboot.lds
7.boards.cfg
8.include /configs/am335x_evm.h
@Embedded-linux
Embedded-linux / Template2
Created June 9, 2014 13:06
u-boot porting [Beagle Bone]
File Name: arch/arm/cpu/armv7/am33xx/emif4.c
int dram_init(void)
{
/* dram_init must store complete ramsize in gd->ram_size */
gd->ram_size = get_ram_size(
(void *)CONFIG_SYS_SDRAM_BASE,
CONFIG_MAX_RAM_BANK_SIZE);
return 0;
@Embedded-linux
Embedded-linux / Template:3
Created June 9, 2014 13:43
u-boot Porting
file name: arch/arm/cpu/armv7/am33xx/mem.c
void gpmc_init(void)
{
/* putting a blanket check on GPMC based on ZeBu for now */
gpmc_cfg = (struct gpmc *)GPMC_BASE;
#if defined(CONFIG_CMD_NAND)
const u32 *gpmc_config = NULL;
File Name: board/ti/am335x/board.c
TPS65217 is chip which supplies power to Am335x.
Adding fatures of TPS65217 IC
The TPS65217 is an optimized and highly integrated power management solution for the AM335x
processor. Features of the TPS65217 include:
• Power path management for Lithium-ion battery, USB, and AC inputs
• Linear Battery Charger
File Name: board/ti/am335x/mux.c
-> This file do pin muxing of uart0 to uart5, I2C0 & I2C1, MMC0 & MMC1, NAND muxing.
static struct module_pin_mux uart1_pin_mux[] = {
{OFFSET(uart1_rxd), (MODE(0) | PULLUP_EN | RXACTIVE)}, /* UART1_RXD */
{OFFSET(uart1_txd), (MODE(0) | PULLUDEN)}, /* UART1_TXD */
{-1},
};
File Name: board/ti/am335x/u-boot.lds
-> This file talks about text, data sections of image file like
.text,
.data,
.rodata,
.bss,
.dynsym [Dynamic symbols] etc..
. = 0x00000000;
File Name: include/configs/am335x_evm.h
This file talks about different configurations of System parametrs
-> DMA size,
#define CONFIG_DMA_COHERENT_SIZE (1 << 20)
->system Malloc len
#define CONFIG_SYS_MALLOC_LEN (1024 << 10)
->Machine type and number to pass to atag list[for identification of Machine]
#define MACH_TYPE_TIAM335EVM 3589 /* Until the next sync */
File name: boards.cfg
File provides Target , Arch.name, CPU, Board name, vendor name, SoC name adn optios to boot.
# Target ARCH CPU Board name Vendor SoC Options
am335x_evm arm armv7 am335x ti am33xx am335x_evm:SERIAL1,CONS_INDEX=1
am335x_evm_usbspl arm armv7 am335x ti am33xx am335x_evm:SERIAL1,CONS_INDEX=1,SPL_USBETH_SUPPORT
am335x_evm_spiboot arm armv7 am335x ti am33xx am335x_evm:SERIAL1,CONS_INDEX=1,SPI_BOOT
am335x_evm_uart1 arm armv7 am335x ti am33xx am335x_evm:SERIAL2,CONS_INDEX=2
am335x_evm_uart2 arm armv7 am335x ti am33xx am335x_evm:SERIAL3,CONS_INDEX=3
@Embedded-linux
Embedded-linux / board.c
Created June 10, 2014 10:59
MMC Port to uboot
Files chaged to add MMC support in u-boot code :
1.board/ti/am335x/board.c
2.board/ti/am335x/board.h
3.board/ti/am335x/mux.c
4.include/configs/am335x_evm.h
1.board/ti/am335x/board.c
+ /* Enable pin mux for mmc0 */
@Embedded-linux
Embedded-linux / board.c
Created June 10, 2014 11:07
u-boot port [Ethernet support]
Files chaged to add Ethernet support in u-boot code :
1.board/ti/am335x/board.c
2.board/ti/am335x/board.h
3.board/ti/am335x/mux.c
4.include/configs/am335x_evm.h
1.board/ti/am335x/board.c
+ /* Enable MII pin mux on Beaglebone */
+ enable_mii1_pin_mux();