MX31: Add support for PMIC to the QONG module

Add support for the PMIC (MC13783) controller
and enables charging of the RTC battery.

Signed-off-by: Stefano Babic <sbabic@denx.de>
This commit is contained in:
Stefano Babic 2010-04-16 17:13:54 +02:00 committed by Tom
parent f9c7affa9b
commit 0f12ce637b
2 changed files with 34 additions and 0 deletions

View file

@ -26,6 +26,7 @@
#include <asm/arch/mx31.h> #include <asm/arch/mx31.h>
#include <asm/arch/mx31-regs.h> #include <asm/arch/mx31-regs.h>
#include <nand.h> #include <nand.h>
#include <fsl_pmic.h>
#include "qong_fpga.h" #include "qong_fpga.h"
DECLARE_GLOBAL_DATA_PTR; DECLARE_GLOBAL_DATA_PTR;
@ -128,6 +129,13 @@ int board_init (void)
mx31_gpio_mux(MUX_RTS1__UART1_RTS_B); mx31_gpio_mux(MUX_RTS1__UART1_RTS_B);
mx31_gpio_mux(MUX_CTS1__UART1_CTS_B); mx31_gpio_mux(MUX_CTS1__UART1_CTS_B);
/* setup pins for SPI (pmic) */
mx31_gpio_mux(MUX_CSPI2_SS0__CSPI2_SS0_B);
mx31_gpio_mux(MUX_CSPI2_MOSI__CSPI2_MOSI);
mx31_gpio_mux(MUX_CSPI2_MISO__CSPI2_MISO);
mx31_gpio_mux(MUX_CSPI2_SCLK__CSPI2_CLK);
mx31_gpio_mux(MUX_CSPI2_SPI_RDY__CSPI2_DATAREADY_B);
/* board id for linux */ /* board id for linux */
gd->bd->bi_arch_number = MACH_TYPE_QONG; gd->bd->bi_arch_number = MACH_TYPE_QONG;
gd->bd->bi_boot_params = (0x80000100); /* adress of boot parameters */ gd->bd->bi_boot_params = (0x80000100); /* adress of boot parameters */
@ -135,6 +143,18 @@ int board_init (void)
return 0; return 0;
} }
int board_late_init(void)
{
u32 val;
/* Enable RTC battery */
val = pmic_reg_read(REG_POWER_CTL0);
pmic_reg_write(REG_POWER_CTL0, val | COINCHEN);
pmic_reg_write(REG_INT_STATUS1, RTCRSTI);
return 0;
}
int checkboard (void) int checkboard (void)
{ {
printf("Board: DAVE/DENX Qong\n"); printf("Board: DAVE/DENX Qong\n");

View file

@ -54,6 +54,17 @@
#define CONFIG_MX31_GPIO #define CONFIG_MX31_GPIO
#define CONFIG_MXC_SPI
#define CONFIG_DEFAULT_SPI_BUS 1
#define CONFIG_DEFAULT_SPI_MODE (SPI_MODE_2 | SPI_CS_HIGH)
#define CONFIG_RTC_MC13783
#define CONFIG_FSL_PMIC
#define CONFIG_FSL_PMIC_BUS 1
#define CONFIG_FSL_PMIC_CS 0
#define CONFIG_FSL_PMIC_CLK 100000
#define CONFIG_FSL_PMIC_MODE (SPI_MODE_2 | SPI_CS_HIGH)
/* FPGA */ /* FPGA */
#define CONFIG_QONG_FPGA 1 #define CONFIG_QONG_FPGA 1
#define CONFIG_FPGA_BASE (CS1_BASE) #define CONFIG_FPGA_BASE (CS1_BASE)
@ -98,6 +109,9 @@
#define CONFIG_CMD_NET #define CONFIG_CMD_NET
#define CONFIG_CMD_MII #define CONFIG_CMD_MII
#define CONFIG_CMD_NAND #define CONFIG_CMD_NAND
#define CONFIG_CMD_SPI
#define CONFIG_CMD_DATE
#define BOARD_LATE_INIT
/* /*
* You can compile in a MAC address and your custom net settings by using * You can compile in a MAC address and your custom net settings by using