boards: amd: kv260_r5: Add I2C Support
- Enable i2c1 node along with attached EEPROM.
- IP is tested with QEMU and kv260 hw.
Signed-off-by: Ajay Neeli <ajay.neeli@amd.com>
diff --git a/boards/amd/kv260_r5/kv260_r5.dts b/boards/amd/kv260_r5/kv260_r5.dts
index 85fb1c2..53ec192 100644
--- a/boards/amd/kv260_r5/kv260_r5.dts
+++ b/boards/amd/kv260_r5/kv260_r5.dts
@@ -19,6 +19,17 @@
zephyr,shell-uart = &uart1;
zephyr,ocm = &ocm;
};
+
+ aliases {
+ eeprom-0 = &eeprom0;
+ eeprom-1 = &eeprom1;
+ };
+
+ i2c_ref_clk: i2c_ref_clk {
+ compatible = "fixed-clock";
+ clock-frequency = <100000000>;
+ #clock-cells = <0>;
+ };
};
&uart1 {
@@ -35,3 +46,29 @@
&psgpio {
status = "okay";
};
+
+&i2c1 {
+ status = "okay";
+ clocks = <&i2c_ref_clk>;
+ clock-frequency = <400000>;
+
+ eeprom0: eeprom@50 {
+ compatible = "st,24c64", "atmel,at24";
+ reg = <0x50>;
+ size = <DT_SIZE_K(8)>;
+ pagesize = <32>;
+ address-width = <16>;
+ timeout = <5>;
+ read-only;
+ };
+
+ eeprom1: eeprom@51 {
+ compatible = "st,24c64", "atmel,at24";
+ reg = <0x51>;
+ size = <DT_SIZE_K(8)>;
+ pagesize = <32>;
+ address-width = <16>;
+ timeout = <5>;
+ read-only;
+ };
+};
diff --git a/boards/amd/kv260_r5/kv260_r5.yaml b/boards/amd/kv260_r5/kv260_r5.yaml
index 9cc9202..4b2fe58 100644
--- a/boards/amd/kv260_r5/kv260_r5.yaml
+++ b/boards/amd/kv260_r5/kv260_r5.yaml
@@ -5,6 +5,9 @@
- zephyr
ram: 65536
flash: 32768
+supported:
+ - i2c
+ - eeprom
testing:
ignore_tags:
- net
diff --git a/boards/amd/kv260_r5/kv260_r5_defconfig b/boards/amd/kv260_r5/kv260_r5_defconfig
index 4b86de2..f1bfa8f 100644
--- a/boards/amd/kv260_r5/kv260_r5_defconfig
+++ b/boards/amd/kv260_r5/kv260_r5_defconfig
@@ -13,5 +13,9 @@
# Enable serial port
CONFIG_UART_XLNX_PS=y
+# Enable I2C, EEPROM
+CONFIG_I2C=y
+CONFIG_EEPROM=y
+
CONFIG_SYS_CLOCK_TICKS_PER_SEC=1000
CONFIG_ARM_MPU=y