diff mbox series

[U-Boot,v2,1/4] arm: socfpga: move vining_fpga to DM_I2C

Message ID 20190409185259.19052-2-simon.k.r.goldschmidt@gmail.com
State Superseded
Delegated to: Marek Vasut
Headers show
Series arm: socfpga: clean up socfpga_common.h | expand

Commit Message

Simon Goldschmidt April 9, 2019, 6:52 p.m. UTC
All socfpga boards except for vining_fpga use DM_I2C. Enable
DM_I2C for this board and set the EEPROM defines via Kconfig
(enabling CONFIG_I2C_EEPROM from MISC).

Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
---

Changes in v2:
- added (this) patch to move socfpga_vining to DM_I2C

 configs/socfpga_vining_fpga_defconfig |  8 +++++++-
 include/configs/socfpga_common.h      | 26 --------------------------
 include/configs/socfpga_vining_fpga.h |  9 ---------
 3 files changed, 7 insertions(+), 36 deletions(-)

Comments

Marek Vasut April 9, 2019, 7:27 p.m. UTC | #1
On 4/9/19 8:52 PM, Simon Goldschmidt wrote:
> All socfpga boards except for vining_fpga use DM_I2C. Enable
> DM_I2C for this board and set the EEPROM defines via Kconfig
> (enabling CONFIG_I2C_EEPROM from MISC).
> 
> Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
> ---
> 
> Changes in v2:
> - added (this) patch to move socfpga_vining to DM_I2C
> 
>  configs/socfpga_vining_fpga_defconfig |  8 +++++++-
>  include/configs/socfpga_common.h      | 26 --------------------------
>  include/configs/socfpga_vining_fpga.h |  9 ---------
>  3 files changed, 7 insertions(+), 36 deletions(-)

Isn't this missing some DT bit which would enable the I2C controller ?
Or is that already in the DT for this platform ?
Simon Goldschmidt April 9, 2019, 7:38 p.m. UTC | #2
Am 09.04.2019 um 21:27 schrieb Marek Vasut:
> On 4/9/19 8:52 PM, Simon Goldschmidt wrote:
>> All socfpga boards except for vining_fpga use DM_I2C. Enable
>> DM_I2C for this board and set the EEPROM defines via Kconfig
>> (enabling CONFIG_I2C_EEPROM from MISC).
>>
>> Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
>> ---
>>
>> Changes in v2:
>> - added (this) patch to move socfpga_vining to DM_I2C
>>
>>   configs/socfpga_vining_fpga_defconfig |  8 +++++++-
>>   include/configs/socfpga_common.h      | 26 --------------------------
>>   include/configs/socfpga_vining_fpga.h |  9 ---------
>>   3 files changed, 7 insertions(+), 36 deletions(-)
> 
> Isn't this missing some DT bit which would enable the I2C controller ?
> Or is that already in the DT for this platform ?
> 

Well, I don't have the board (I tested with socfpga_socrates + Phy1 
addon board which does have an i2c eeprom but needs an FPGA config to 
work), but to me it seems 'socfpga_cyclone5_vining_fpga.dts' should have 
everything we need, or what do you think is missing?

Having this tested on a real socfpga_vining board would be great of 
course...

Regards,
Simon
Marek Vasut April 9, 2019, 8:23 p.m. UTC | #3
On 4/9/19 9:38 PM, Simon Goldschmidt wrote:
> Am 09.04.2019 um 21:27 schrieb Marek Vasut:
>> On 4/9/19 8:52 PM, Simon Goldschmidt wrote:
>>> All socfpga boards except for vining_fpga use DM_I2C. Enable
>>> DM_I2C for this board and set the EEPROM defines via Kconfig
>>> (enabling CONFIG_I2C_EEPROM from MISC).
>>>
>>> Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>
>>> ---
>>>
>>> Changes in v2:
>>> - added (this) patch to move socfpga_vining to DM_I2C
>>>
>>>   configs/socfpga_vining_fpga_defconfig |  8 +++++++-
>>>   include/configs/socfpga_common.h      | 26 --------------------------
>>>   include/configs/socfpga_vining_fpga.h |  9 ---------
>>>   3 files changed, 7 insertions(+), 36 deletions(-)
>>
>> Isn't this missing some DT bit which would enable the I2C controller ?
>> Or is that already in the DT for this platform ?
>>
> 
> Well, I don't have the board (I tested with socfpga_socrates + Phy1
> addon board which does have an i2c eeprom but needs an FPGA config to
> work), but to me it seems 'socfpga_cyclone5_vining_fpga.dts' should have
> everything we need, or what do you think is missing?

I was just curious whether you checked that.

> Having this tested on a real socfpga_vining board would be great of
> course...

I'll arrange for that.
diff mbox series

Patch

diff --git a/configs/socfpga_vining_fpga_defconfig b/configs/socfpga_vining_fpga_defconfig
index 7b47b111b7..4a7f775337 100644
--- a/configs/socfpga_vining_fpga_defconfig
+++ b/configs/socfpga_vining_fpga_defconfig
@@ -16,8 +16,8 @@  CONFIG_VERSION_VARIABLE=y
 CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_SPL_SPI_LOAD=y
 CONFIG_CMD_ASKENV=y
-CONFIG_CMD_GREPENV=y
 CONFIG_CMD_EEPROM=y
+CONFIG_CMD_GREPENV=y
 CONFIG_CMD_DFU=y
 # CONFIG_CMD_FLASH is not set
 CONFIG_CMD_GPIO=y
@@ -44,6 +44,7 @@  CONFIG_DFU_RAM=y
 CONFIG_DFU_SF=y
 CONFIG_DM_GPIO=y
 CONFIG_DWAPB_GPIO=y
+CONFIG_DM_I2C=y
 CONFIG_LED_STATUS=y
 CONFIG_LED_STATUS_GPIO=y
 CONFIG_LED_STATUS0=y
@@ -55,6 +56,11 @@  CONFIG_LED_STATUS_BIT2=54
 CONFIG_LED_STATUS3=y
 CONFIG_LED_STATUS_BIT3=65
 CONFIG_LED_STATUS_CMD=y
+CONFIG_MISC=y
+CONFIG_I2C_EEPROM=y
+CONFIG_SYS_I2C_EEPROM_ADDR=0x50
+CONFIG_SYS_EEPROM_PAGE_WRITE_BITS=3
+CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS=70
 CONFIG_DM_MMC=y
 CONFIG_MMC_DW=y
 CONFIG_MTD_DEVICE=y
diff --git a/include/configs/socfpga_common.h b/include/configs/socfpga_common.h
index a501b5209f..a65fc804e3 100644
--- a/include/configs/socfpga_common.h
+++ b/include/configs/socfpga_common.h
@@ -149,32 +149,6 @@ 
 #define CONFIG_SYS_NAND_DATA_BASE	SOCFPGA_NANDDATA_ADDRESS
 #endif
 
-/*
- * I2C support
- */
-#ifndef CONFIG_DM_I2C
-#define CONFIG_SYS_I2C
-#define CONFIG_SYS_I2C_BASE		SOCFPGA_I2C0_ADDRESS
-#define CONFIG_SYS_I2C_BASE1		SOCFPGA_I2C1_ADDRESS
-#define CONFIG_SYS_I2C_BASE2		SOCFPGA_I2C2_ADDRESS
-#define CONFIG_SYS_I2C_BASE3		SOCFPGA_I2C3_ADDRESS
-/* Using standard mode which the speed up to 100Kb/s */
-#define CONFIG_SYS_I2C_SPEED		100000
-#define CONFIG_SYS_I2C_SPEED1		100000
-#define CONFIG_SYS_I2C_SPEED2		100000
-#define CONFIG_SYS_I2C_SPEED3		100000
-/* Address of device when used as slave */
-#define CONFIG_SYS_I2C_SLAVE		0x02
-#define CONFIG_SYS_I2C_SLAVE1		0x02
-#define CONFIG_SYS_I2C_SLAVE2		0x02
-#define CONFIG_SYS_I2C_SLAVE3		0x02
-#ifndef __ASSEMBLY__
-/* Clock supplied to I2C controller in unit of MHz */
-unsigned int cm_get_l4_sp_clk_hz(void);
-#define IC_CLK				(cm_get_l4_sp_clk_hz() / 1000000)
-#endif
-#endif /* CONFIG_DM_I2C */
-
 /*
  * QSPI support
  */
diff --git a/include/configs/socfpga_vining_fpga.h b/include/configs/socfpga_vining_fpga.h
index 5517ed722d..0e547a1295 100644
--- a/include/configs/socfpga_vining_fpga.h
+++ b/include/configs/socfpga_vining_fpga.h
@@ -16,15 +16,6 @@ 
 #define CONFIG_LOADADDR		0x01000000
 #define CONFIG_SYS_LOAD_ADDR	CONFIG_LOADADDR
 
-/* I2C EEPROM */
-#ifdef CONFIG_CMD_EEPROM
-#define CONFIG_SYS_I2C_EEPROM_ADDR		0x50
-#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN		1
-#define CONFIG_SYS_I2C_EEPROM_BUS		0
-#define CONFIG_SYS_EEPROM_PAGE_WRITE_BITS	3
-#define CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS	70
-#endif
-
 /*
  * Status LEDs:
  *   0 ... Top Green