Hi all,
in a new design I will use the Freescale PMIC MC34708 to power the iMX537.
The system should automaticaly startup when the power comes up, we will have no push buttons.
In the pdf they only speak about starting with pushing on the start button.
Is there anybody who has experiance with auto startup the MC34708 ?
Thanks
Johan
Hi,
I would like to continue this thread by asking my following query.
I am working on i.MX53 board designing. I am using I2C1(3.3V) to drive components on board. I2C2 pads are used for FEC and SD card. Now have only I2C3 pads which can be used to drive MC34708 on voltage level 3.3V only. But in datasheet, MC34708 is recommended to drive I2C (SPIVCC) on 1.8V by SW5 (Table 7). And it's rise and fall time is give for SPIVCC=1.8V only. As maximum operating range for SPIVCC is 3.6V, can I drive MC34708's I2C on 3.3V? And is there issue in power sequencing or any other module for the same?
Or else I have to use voltage level converter for I2C bus?
Thanks,
Ronak.
if I2C3 is 3.3V levle and SPI_VCC is 1.8V, you will have to use a levle shifter from 3.3V i2c to 1.8V i2c interface on mc34708, I have done a silimar test, at the time, I2C3 maybe has communications errors. but using GPIO i2c(iomuxed these 2 I2C3 PINs to be 2 GPIOs) can resolve the problem. So if you meet the similar issue, you can use gpio-i2c module in linux kernel to resovle the problems. The following is steps on how to use GPIO to simulate I2C:
Open mx53_loco.c, then add :
(1)include header file
#include <linux/i2c-gpio.h>
(2)define GPIO Number in linux
/* Define 2 gpio pins to simulate I2C3 */
#define MX53_GPIO_3_GPIO_SCL (0*32 + 3) /* GPIO1_3 */
#define MX53_GPIO_6_GPIO_SDA (0*32 + 6) /* GPIO1_6 */
(3)2-PIN IOMUXED as GPIO
static iomux_v3_cfg_t mx53_loco_pads[] = {
....
MX53_PAD_GPIO_3__I2C3_SCL,
MX53_PAD_GPIO_6__I2C3_SDA,
....
}
(4)Initialize GPIO I2C data
struct i2c_gpio_platform_data mx53_gpio_i2c3_data = {
.sda_pin = MX53_GPIO_6_GPIO_SDA,
.scl_pin = MX53_GPIO_3_GPIO_SCL,
};
(5)define GPIO I2C device
static struct platform_device i2c_device[] = {
{
.name = "i2c-gpio",
.id = 2,
.dev = {
.platform_data = &mx53_gpio_i2c3_data,
},
};/*Here we define ID is 2*/
(6)Adjust mx53_loco_pmic_mc34708.c
int __init mx53_loco_init_mc34708(void)
{
return i2c_register_board_info(2, &mc34708_i2c_device, 1);
}
(7)Register GPIO i2c device(Go back to mx53_loco.c)
static void __init mxc_board_init(void)
{
....
platform_device_register(&i2c_device[0]);
mx53_loco_init_mc34708();
....
}
The best thing to do is read the Reference Manual (Section 7.5.3.4) on the MC34708 for turn on events. Basically, the easiest one to use it the "Battery Attach" turn on even which states that the PMIC will turn on when the pin BP (A6) goes above the minimum threshold. If your design is not using a battery and you are feeding your main PMIC supply voltage (Switcher/LDO supply) into the BP pin as well (See the MCIMX53-START-R schematic), then the PMIC will power on as soon as you attach your DC voltage supply. "Charger Attach" turn on event is used for systems that have a battery attached with a battery maintained above the threshold level, and therefore retains register settings. The register settings are programmed to detect the attachment of a charger and therefore turn on the system. Section 7.6.5 talks more about this. The actual pin being monitored is VAUX (D1) and the bits that need to be set are for AUXDET.
Hello,
Using the DA9053-3H the imx537 will automatic be switch on and the solution is smaller.
Hi Florent,
How can I start a "Charger attach" sequence, which hardware pin should I force (at startup) ?
I looked in the pdf but I only found the string "CHRGRAM" on 1 position ?
Have you further ideas ?
Thanks
Johan
Hello,
The turn on events are listed in the section 7.5.3.4 of that doc:
http://cache.freescale.com/files/analog/doc/data_sheet/MC34708.pdf?fsrch=1&sr=2
You will have to find a way to generate one of these events.
Probably, the charger attach event is the most convenient.