RE: [RESEND v8 7/8] dm: arm64: ls1046a: add i2c DM support
>-Original Message- >From: U-Boot On Behalf Of Biwen Li >Sent: Wednesday, March 4, 2020 9:28 AM >To: Biwen Li ; Jagdish Gediya ; >Priyanka Jain ; h...@denx.de; >ja...@amarulasolutions.com; aford...@gmail.com; Alison Wang >; jh80.ch...@samsung.com; Pramod Kumar >; Rajesh Bhagat ; >Ruchika Gupta ; olte...@gmail.com >Cc: Xiaobo Xie ; Jiafei Pan ; u- >b...@lists.denx.de >Subject: RE: [RESEND v8 7/8] dm: arm64: ls1046a: add i2c DM support > >> >> This supports i2c DM and enables CONFIG_DM_I2C for SoC LS1046A >Hi Priyanka, > >Any comments? > >Best Regards, >Biwen Li >> I need to build check. Rest looks fine. Priyanka >> Reviewed-by: Priyanka Jain >> Signed-off-by: Biwen Li >> --- >> Changes in RESEND v8: >> - fix build warning >> >> Changes in v8: >> - none >> >> Changes in v7: >> - none >> >> Changes in v6: >> - correct dependencies >> >> Changes in v5: >> - update subject >> >> Changes in v4: >> - update copyright >> >> Changes in v3: >> - none >> >> Changes in v2: >> - merge some patches to one patch >> >> arch/arm/cpu/armv8/fsl-layerscape/Kconfig | 10 ++-- >> arch/arm/dts/fsl-ls1046a-frwy.dts | 3 ++ >> arch/arm/dts/fsl-ls1046a-qds.dtsi | 4 ++ >> arch/arm/dts/fsl-ls1046a-rdb.dts | 8 >> arch/arm/include/asm/gpio.h | 5 +- >> board/freescale/ls1046afrwy/ls1046afrwy.c | 17 ++- >> board/freescale/ls1046aqds/ls1046aqds.c | 25 -- >> configs/ls1046afrwy_tfa_defconfig | 2 + >> configs/ls1046aqds_SECURE_BOOT_defconfig | 2 + >> configs/ls1046aqds_defconfig | 2 + >> configs/ls1046aqds_lpuart_defconfig | 2 + >> configs/ls1046aqds_nand_defconfig | 2 + >> configs/ls1046aqds_qspi_defconfig | 2 + >> configs/ls1046aqds_sdcard_ifc_defconfig | 2 + >> configs/ls1046aqds_sdcard_qspi_defconfig | 2 + >> configs/ls1046aqds_tfa_SECURE_BOOT_defconfig | 2 + >> configs/ls1046aqds_tfa_defconfig | 2 + >> configs/ls1046ardb_emmc_defconfig | 2 + >> configs/ls1046ardb_qspi_SECURE_BOOT_defconfig | 2 + >> configs/ls1046ardb_qspi_defconfig | 2 + >> configs/ls1046ardb_qspi_spl_defconfig | 2 + >> .../ls1046ardb_sdcard_SECURE_BOOT_defconfig | 2 + >> configs/ls1046ardb_sdcard_defconfig | 2 + >> configs/ls1046ardb_tfa_SECURE_BOOT_defconfig | 2 + >> configs/ls1046ardb_tfa_defconfig | 2 + >> drivers/power/power_i2c.c | 46 >> ++- >> include/configs/ls1046a_common.h | 11 + >> 27 files changed, 150 insertions(+), 15 deletions(-) >> >> diff --git a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig >> b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig >> index 760053e401..b25639183f 100644 >> --- a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig >> +++ b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig >> @@ -107,11 +107,11 @@ config ARCH_LS1046A >> select SYS_FSL_SRDS_2 >> select ARCH_EARLY_INIT_R >> select BOARD_EARLY_INIT_F >> -select SYS_I2C_MXC >> -select SYS_I2C_MXC_I2C1 >> -select SYS_I2C_MXC_I2C2 >> -select SYS_I2C_MXC_I2C3 >> -select SYS_I2C_MXC_I2C4 >> +select SYS_I2C_MXC if !DM_I2C >> +select SYS_I2C_MXC_I2C1 if !DM_I2C >> +select SYS_I2C_MXC_I2C2 if !DM_I2C >> +select SYS_I2C_MXC_I2C3 if !DM_I2C >> +select SYS_I2C_MXC_I2C4 if !DM_I2C >> imply SCSI >> imply SCSI_AHCI >> >> diff --git a/arch/arm/dts/fsl-ls1046a-frwy.dts >> b/arch/arm/dts/fsl-ls1046a-frwy.dts >> index 3d41e3bd44..d39159322a 100644 >> --- a/arch/arm/dts/fsl-ls1046a-frwy.dts >> +++ b/arch/arm/dts/fsl-ls1046a-frwy.dts >> @@ -32,3 +32,6 @@ >> >> }; >> >> + { >> +status = "okay"; >> +}; >> diff --git a/arch/arm/dts/fsl-ls1046a-qds.dtsi >> b/arch/arm/dts/fsl-ls1046a-qds.dtsi >> index c95f44fc36..76dc397328 100644 >> --- a/arch/arm/dts/fsl-ls1046a-qds.dtsi >> +++ b/arch/arm/dts/fsl-ls1046a-qds.dtsi >> @@ -80,3 +80,7 @@ >> { >> status = "okay"; >> }; >> + >> + { >> +status = "okay"; >> +}; >> diff --git a/arch/arm/dts/fsl-ls1046a-rdb.dts >> b/arch/arm/dts/fsl-ls1046a-rdb.dts >> index a05c9e9b9e..83e34ab02a 100644
RE: [RESEND v8 7/8] dm: arm64: ls1046a: add i2c DM support
> > This supports i2c DM and enables CONFIG_DM_I2C for SoC LS1046A Hi Priyanka, Any comments? Best Regards, Biwen Li > > Reviewed-by: Priyanka Jain > Signed-off-by: Biwen Li > --- > Changes in RESEND v8: > - fix build warning > > Changes in v8: > - none > > Changes in v7: > - none > > Changes in v6: > - correct dependencies > > Changes in v5: > - update subject > > Changes in v4: > - update copyright > > Changes in v3: > - none > > Changes in v2: > - merge some patches to one patch > > arch/arm/cpu/armv8/fsl-layerscape/Kconfig | 10 ++-- > arch/arm/dts/fsl-ls1046a-frwy.dts | 3 ++ > arch/arm/dts/fsl-ls1046a-qds.dtsi | 4 ++ > arch/arm/dts/fsl-ls1046a-rdb.dts | 8 > arch/arm/include/asm/gpio.h | 5 +- > board/freescale/ls1046afrwy/ls1046afrwy.c | 17 ++- > board/freescale/ls1046aqds/ls1046aqds.c | 25 -- > configs/ls1046afrwy_tfa_defconfig | 2 + > configs/ls1046aqds_SECURE_BOOT_defconfig | 2 + > configs/ls1046aqds_defconfig | 2 + > configs/ls1046aqds_lpuart_defconfig | 2 + > configs/ls1046aqds_nand_defconfig | 2 + > configs/ls1046aqds_qspi_defconfig | 2 + > configs/ls1046aqds_sdcard_ifc_defconfig | 2 + > configs/ls1046aqds_sdcard_qspi_defconfig | 2 + > configs/ls1046aqds_tfa_SECURE_BOOT_defconfig | 2 + > configs/ls1046aqds_tfa_defconfig | 2 + > configs/ls1046ardb_emmc_defconfig | 2 + > configs/ls1046ardb_qspi_SECURE_BOOT_defconfig | 2 + > configs/ls1046ardb_qspi_defconfig | 2 + > configs/ls1046ardb_qspi_spl_defconfig | 2 + > .../ls1046ardb_sdcard_SECURE_BOOT_defconfig | 2 + > configs/ls1046ardb_sdcard_defconfig | 2 + > configs/ls1046ardb_tfa_SECURE_BOOT_defconfig | 2 + > configs/ls1046ardb_tfa_defconfig | 2 + > drivers/power/power_i2c.c | 46 > ++- > include/configs/ls1046a_common.h | 11 + > 27 files changed, 150 insertions(+), 15 deletions(-) > > diff --git a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig > b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig > index 760053e401..b25639183f 100644 > --- a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig > +++ b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig > @@ -107,11 +107,11 @@ config ARCH_LS1046A > select SYS_FSL_SRDS_2 > select ARCH_EARLY_INIT_R > select BOARD_EARLY_INIT_F > - select SYS_I2C_MXC > - select SYS_I2C_MXC_I2C1 > - select SYS_I2C_MXC_I2C2 > - select SYS_I2C_MXC_I2C3 > - select SYS_I2C_MXC_I2C4 > + select SYS_I2C_MXC if !DM_I2C > + select SYS_I2C_MXC_I2C1 if !DM_I2C > + select SYS_I2C_MXC_I2C2 if !DM_I2C > + select SYS_I2C_MXC_I2C3 if !DM_I2C > + select SYS_I2C_MXC_I2C4 if !DM_I2C > imply SCSI > imply SCSI_AHCI > > diff --git a/arch/arm/dts/fsl-ls1046a-frwy.dts > b/arch/arm/dts/fsl-ls1046a-frwy.dts > index 3d41e3bd44..d39159322a 100644 > --- a/arch/arm/dts/fsl-ls1046a-frwy.dts > +++ b/arch/arm/dts/fsl-ls1046a-frwy.dts > @@ -32,3 +32,6 @@ > > }; > > + { > + status = "okay"; > +}; > diff --git a/arch/arm/dts/fsl-ls1046a-qds.dtsi > b/arch/arm/dts/fsl-ls1046a-qds.dtsi > index c95f44fc36..76dc397328 100644 > --- a/arch/arm/dts/fsl-ls1046a-qds.dtsi > +++ b/arch/arm/dts/fsl-ls1046a-qds.dtsi > @@ -80,3 +80,7 @@ > { > status = "okay"; > }; > + > + { > + status = "okay"; > +}; > diff --git a/arch/arm/dts/fsl-ls1046a-rdb.dts > b/arch/arm/dts/fsl-ls1046a-rdb.dts > index a05c9e9b9e..83e34ab02a 100644 > --- a/arch/arm/dts/fsl-ls1046a-rdb.dts > +++ b/arch/arm/dts/fsl-ls1046a-rdb.dts > @@ -43,3 +43,11 @@ > { > status = "okay"; > }; > + > + { > + status = "okay"; > +}; > + > + { > + status = "okay"; > +}; > diff --git a/arch/arm/include/asm/gpio.h b/arch/arm/include/asm/gpio.h > index c480e712fe..09573722ac 100644 > --- a/arch/arm/include/asm/gpio.h > +++ b/arch/arm/include/asm/gpio.h > @@ -3,8 +3,9 @@ > !defined(CONFIG_ARCH_BCM6858) > && !defined(CONFIG_ARCH_BCM63158) && \ > !defined(CONFIG_ARCH_ROCKCHIP) > && !defined(CONFIG_ARCH_LX2160A) && \ > !defined(CONFIG_ARCH_LS1012A) && !defined(CONFIG_ARCH_LS1028A) > && \ > - !defined(CONFIG_ARCH_LS1043A) && !defined(CONFIG_ARCH_LS2080A) > && \ > - !defined(CONFIG_ARCH_LS1088A) && !defined(CONFIG_ARCH_ASPEED) > && \ > + !defined(CONFIG_ARCH_LS1043A) && !defined(CONFIG_ARCH_LS1046A) > && \ > + !defined(CONFIG_ARCH_LS2080A) && !defined(CONFIG_ARCH_LS1088A) > && \ > + !defined(CONFIG_ARCH_ASPEED) && \ > !defined(CONFIG_ARCH_U8500) > #include > #endif > diff --git a/board/freescale/ls1046afrwy/ls1046afrwy.c > b/board/freescale/ls1046afrwy/ls1046afrwy.c > index db8b3a5b92..8c0abb63a9 100644 > --- a/board/freescale/ls1046afrwy/ls1046afrwy.c > +++ b/board/freescale/ls1046afrwy/ls1046afrwy.c > @@ -36,11
[RESEND v8 7/8] dm: arm64: ls1046a: add i2c DM support
This supports i2c DM and enables CONFIG_DM_I2C for SoC LS1046A Reviewed-by: Priyanka Jain Signed-off-by: Biwen Li --- Changes in RESEND v8: - fix build warning Changes in v8: - none Changes in v7: - none Changes in v6: - correct dependencies Changes in v5: - update subject Changes in v4: - update copyright Changes in v3: - none Changes in v2: - merge some patches to one patch arch/arm/cpu/armv8/fsl-layerscape/Kconfig | 10 ++-- arch/arm/dts/fsl-ls1046a-frwy.dts | 3 ++ arch/arm/dts/fsl-ls1046a-qds.dtsi | 4 ++ arch/arm/dts/fsl-ls1046a-rdb.dts | 8 arch/arm/include/asm/gpio.h | 5 +- board/freescale/ls1046afrwy/ls1046afrwy.c | 17 ++- board/freescale/ls1046aqds/ls1046aqds.c | 25 -- configs/ls1046afrwy_tfa_defconfig | 2 + configs/ls1046aqds_SECURE_BOOT_defconfig | 2 + configs/ls1046aqds_defconfig | 2 + configs/ls1046aqds_lpuart_defconfig | 2 + configs/ls1046aqds_nand_defconfig | 2 + configs/ls1046aqds_qspi_defconfig | 2 + configs/ls1046aqds_sdcard_ifc_defconfig | 2 + configs/ls1046aqds_sdcard_qspi_defconfig | 2 + configs/ls1046aqds_tfa_SECURE_BOOT_defconfig | 2 + configs/ls1046aqds_tfa_defconfig | 2 + configs/ls1046ardb_emmc_defconfig | 2 + configs/ls1046ardb_qspi_SECURE_BOOT_defconfig | 2 + configs/ls1046ardb_qspi_defconfig | 2 + configs/ls1046ardb_qspi_spl_defconfig | 2 + .../ls1046ardb_sdcard_SECURE_BOOT_defconfig | 2 + configs/ls1046ardb_sdcard_defconfig | 2 + configs/ls1046ardb_tfa_SECURE_BOOT_defconfig | 2 + configs/ls1046ardb_tfa_defconfig | 2 + drivers/power/power_i2c.c | 46 ++- include/configs/ls1046a_common.h | 11 + 27 files changed, 150 insertions(+), 15 deletions(-) diff --git a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig index 760053e401..b25639183f 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig +++ b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig @@ -107,11 +107,11 @@ config ARCH_LS1046A select SYS_FSL_SRDS_2 select ARCH_EARLY_INIT_R select BOARD_EARLY_INIT_F - select SYS_I2C_MXC - select SYS_I2C_MXC_I2C1 - select SYS_I2C_MXC_I2C2 - select SYS_I2C_MXC_I2C3 - select SYS_I2C_MXC_I2C4 + select SYS_I2C_MXC if !DM_I2C + select SYS_I2C_MXC_I2C1 if !DM_I2C + select SYS_I2C_MXC_I2C2 if !DM_I2C + select SYS_I2C_MXC_I2C3 if !DM_I2C + select SYS_I2C_MXC_I2C4 if !DM_I2C imply SCSI imply SCSI_AHCI diff --git a/arch/arm/dts/fsl-ls1046a-frwy.dts b/arch/arm/dts/fsl-ls1046a-frwy.dts index 3d41e3bd44..d39159322a 100644 --- a/arch/arm/dts/fsl-ls1046a-frwy.dts +++ b/arch/arm/dts/fsl-ls1046a-frwy.dts @@ -32,3 +32,6 @@ }; + { + status = "okay"; +}; diff --git a/arch/arm/dts/fsl-ls1046a-qds.dtsi b/arch/arm/dts/fsl-ls1046a-qds.dtsi index c95f44fc36..76dc397328 100644 --- a/arch/arm/dts/fsl-ls1046a-qds.dtsi +++ b/arch/arm/dts/fsl-ls1046a-qds.dtsi @@ -80,3 +80,7 @@ { status = "okay"; }; + + { + status = "okay"; +}; diff --git a/arch/arm/dts/fsl-ls1046a-rdb.dts b/arch/arm/dts/fsl-ls1046a-rdb.dts index a05c9e9b9e..83e34ab02a 100644 --- a/arch/arm/dts/fsl-ls1046a-rdb.dts +++ b/arch/arm/dts/fsl-ls1046a-rdb.dts @@ -43,3 +43,11 @@ { status = "okay"; }; + + { + status = "okay"; +}; + + { + status = "okay"; +}; diff --git a/arch/arm/include/asm/gpio.h b/arch/arm/include/asm/gpio.h index c480e712fe..09573722ac 100644 --- a/arch/arm/include/asm/gpio.h +++ b/arch/arm/include/asm/gpio.h @@ -3,8 +3,9 @@ !defined(CONFIG_ARCH_BCM6858) && !defined(CONFIG_ARCH_BCM63158) && \ !defined(CONFIG_ARCH_ROCKCHIP) && !defined(CONFIG_ARCH_LX2160A) && \ !defined(CONFIG_ARCH_LS1012A) && !defined(CONFIG_ARCH_LS1028A) && \ - !defined(CONFIG_ARCH_LS1043A) && !defined(CONFIG_ARCH_LS2080A) && \ - !defined(CONFIG_ARCH_LS1088A) && !defined(CONFIG_ARCH_ASPEED) && \ + !defined(CONFIG_ARCH_LS1043A) && !defined(CONFIG_ARCH_LS1046A) && \ + !defined(CONFIG_ARCH_LS2080A) && !defined(CONFIG_ARCH_LS1088A) && \ + !defined(CONFIG_ARCH_ASPEED) && \ !defined(CONFIG_ARCH_U8500) #include #endif diff --git a/board/freescale/ls1046afrwy/ls1046afrwy.c b/board/freescale/ls1046afrwy/ls1046afrwy.c index db8b3a5b92..8c0abb63a9 100644 --- a/board/freescale/ls1046afrwy/ls1046afrwy.c +++ b/board/freescale/ls1046afrwy/ls1046afrwy.c @@ -36,11 +36,24 @@ DECLARE_GLOBAL_DATA_PTR; -int select_i2c_ch_pca9547(u8 ch) +int select_i2c_ch_pca9547(u8 ch, int bus_num) { int ret; +#ifdef CONFIG_DM_I2C + struct udevice *dev; + + ret = i2c_get_chip_for_busnum(bus_num, I2C_MUX_PCA_ADDR_PRI, +