Re: [U-Boot] [PATCH v3 3/3] imx:mx6slevk implement power init board

2015-02-23 Thread Stefano Babic
On 12/02/2015 02:36, Peng Fan wrote:
 Implement power_init_board and related I2C interface configuration.
 
 After adding this, uboot can successfully detect and configure pmic.
 
 
 U-Boot 2015.01-00281-ge29eddf (Feb 12 2015 - 09:24:01)
 
 CPU:   Freescale i.MX6SL rev1.0 at 396 MHz
 Reset cause: POR
 Board: MX6SLEVK
 I2C:   ready
 DRAM:  1 GiB
 PMIC:  PFUZE100 ID=0x10
 MMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2
 
 
 Signed-off-by: Peng Fan peng@freescale.com
 ---


Applied to u-boot-imx, thanks !

Best regards,
Stefano Babic



-- 
=
DENX Software Engineering GmbH,  Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sba...@denx.de
=
___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH v3 3/3] imx:mx6slevk implement power init board

2015-02-11 Thread Peng Fan
Implement power_init_board and related I2C interface configuration.

After adding this, uboot can successfully detect and configure pmic.


U-Boot 2015.01-00281-ge29eddf (Feb 12 2015 - 09:24:01)

CPU:   Freescale i.MX6SL rev1.0 at 396 MHz
Reset cause: POR
Board: MX6SLEVK
I2C:   ready
DRAM:  1 GiB
PMIC:  PFUZE100 ID=0x10
MMC:   FSL_SDHC: 0, FSL_SDHC: 1, FSL_SDHC: 2


Signed-off-by: Peng Fan peng@freescale.com
---
 board/freescale/mx6slevk/mx6slevk.c | 42 +
 1 file changed, 42 insertions(+)

diff --git a/board/freescale/mx6slevk/mx6slevk.c 
b/board/freescale/mx6slevk/mx6slevk.c
index 838ea6c..c65f72b 100644
--- a/board/freescale/mx6slevk/mx6slevk.c
+++ b/board/freescale/mx6slevk/mx6slevk.c
@@ -13,13 +13,18 @@
 #include asm/arch/sys_proto.h
 #include asm/gpio.h
 #include asm/imx-common/iomux-v3.h
+#include asm/imx-common/mxc_i2c.h
 #include asm/imx-common/spi.h
 #include asm/io.h
 #include linux/sizes.h
 #include common.h
 #include fsl_esdhc.h
+#include i2c.h
 #include mmc.h
 #include netdev.h
+#include power/pmic.h
+#include power/pfuze100_pmic.h
+#include ../common/pfuze.h
 #include usb.h
 #include usb/ehci-fsl.h
 
@@ -40,6 +45,11 @@ DECLARE_GLOBAL_DATA_PTR;
 #define SPI_PAD_CTRL (PAD_CTL_HYS | PAD_CTL_SPEED_MED | \
  PAD_CTL_DSE_40ohm | PAD_CTL_SRE_FAST)
 
+#define I2C_PAD_CTRL (PAD_CTL_PKE | PAD_CTL_PUE |  \
+ PAD_CTL_PUS_100K_UP | PAD_CTL_SPEED_MED | \
+ PAD_CTL_DSE_40ohm | PAD_CTL_HYS | \
+ PAD_CTL_ODE | PAD_CTL_SRE_FAST)
+
 #define ETH_PHY_RESET  IMX_GPIO_NR(4, 21)
 
 int dram_init(void)
@@ -221,6 +231,34 @@ int board_mmc_init(bd_t *bis)
return 0;
 }
 
+#ifdef CONFIG_SYS_I2C_MXC
+#define PC MUX_PAD_CTRL(I2C_PAD_CTRL)
+/* I2C1 for PMIC */
+struct i2c_pads_info i2c_pad_info1 = {
+   .sda = {
+   .i2c_mode = MX6_PAD_I2C1_SDA__I2C1_SDA | PC,
+   .gpio_mode = MX6_PAD_I2C1_SDA__GPIO_3_13 | PC,
+   .gp = IMX_GPIO_NR(3, 13),
+   },
+   .scl = {
+   .i2c_mode = MX6_PAD_I2C1_SCL__I2C1_SCL | PC,
+   .gpio_mode = MX6_PAD_I2C1_SCL__GPIO_3_12 | PC,
+   .gp = IMX_GPIO_NR(3, 12),
+   },
+};
+
+int power_init_board(void)
+{
+   struct pmic *p;
+
+   p = pfuze_common_init(I2C_PMIC);
+   if (!p)
+   return -ENODEV;
+
+   return pfuze_mode_init(p, APS_PFM);
+}
+#endif
+
 #ifdef CONFIG_FEC_MXC
 int board_eth_init(bd_t *bis)
 {
@@ -297,6 +335,10 @@ int board_init(void)
/* address of boot parameters */
gd-bd-bi_boot_params = PHYS_SDRAM + 0x100;
 
+#ifdef CONFIG_SYS_I2C_MXC
+   setup_i2c(0, CONFIG_SYS_I2C_SPEED, 0x7f, i2c_pad_info1);
+#endif
+
 #ifdef CONFIG_FEC_MXC
setup_fec();
 #endif
-- 
1.8.4


___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot