Commit d515df97 authored by Adam Wujek's avatar Adam Wujek

sw/petalinux/diot-util: use diot_util_i2c.h file with I2C addresses

Move information about I2C channels and addresses into a single diot_util_i2c.h
file.
Signed-off-by: 's avatarAdam Wujek <dev_public@wujek.eu>
parent 7ab30df9
......@@ -17,6 +17,7 @@ SRC_URI = " \
file://diot_util_error.h \
file://diot_util_gpio.c \
file://diot_util_gpio.h \
file://diot_util_i2c.h \
file://diot_util_sensors.c \
file://diot_util_sensors.h \
file://diot_util_pts.c \
......
......@@ -12,18 +12,12 @@
#include <stdlib.h>
#include "diot_util_error.h"
#include "diot_util_pts.h"
#include "diot_util_i2c.h"
# define INPUT_PRESENT_FILE "/sys/bus/i2c/drivers/si5341/" SI5341_I2C "-00" SI5341_I2C_ADDR "/input_present"
# define PLL_LOCKED_FILE "/sys/bus/i2c/drivers/si5341/" SI5341_I2C "-00" SI5341_I2C_ADDR "/pll_locked"
# define INPUT_SELECTED_FILE "/sys/bus/i2c/drivers/si5341/" SI5341_I2C "-00" SI5341_I2C_ADDR "/input_selected"
#if SB_VER == 1
# define INPUT_PRESENT_FILE "/sys/bus/i2c/drivers/si5341/7-0076/input_present"
# define PLL_LOCKED_FILE "/sys/bus/i2c/drivers/si5341/7-0076/pll_locked"
# define INPUT_SELECTED_FILE "/sys/bus/i2c/drivers/si5341/7-0076/input_selected"
#elif SB_VER == 2
# define INPUT_PRESENT_FILE "/sys/bus/i2c/drivers/si5341/6-0076/input_present"
# define PLL_LOCKED_FILE "/sys/bus/i2c/drivers/si5341/6-0076/pll_locked"
# define INPUT_SELECTED_FILE "/sys/bus/i2c/drivers/si5341/6-0076/input_selected"
#else
# error SB_VER not defined
#endif
#define SI5341_PREFIX_PATH "/sys/kernel/debug/clk/si5341"
......
......@@ -14,34 +14,21 @@
#include <errno.h>
#include <stdint.h>
#include "diot_util_error.h"
#include "diot_util_i2c.h"
#define EEPROM_DRIVER_PATH "/sys/bus/i2c/drivers/at24"
#define FMC_EEPROM_PATH "/sys/bus/i2c/drivers/at24/0-0050/eeprom"
#define FMC_EEPROM_PATH "/sys/bus/i2c/drivers/at24/" FMC_EEPROM_I2C "-00" FMC_EEPROM_I2C_ADDR "/eeprom"
#define PSU_DRIVER_PATH "/sys/bus/i2c/drivers/hartmann-psu"
#define XIIC_DRIVER_PATH "/sys/bus/platform/drivers/xiic-i2c"
#define XIIC_ADDRESS_2 "a0010000.i2c"
#if SB_VER == 1
#define PB_EEPROM_PATH "/sys/bus/i2c/drivers/at24/4-0050/eeprom"
#define PB_EEPROM_I2C_ADDR "4-0050"
char * psu_addr[] = {
[1] = "3-0018",
[2] = "3-0019",
};
#elif SB_VER == 2
#define PB_EEPROM_PATH "/sys/bus/i2c/drivers/at24/3-0050/eeprom"
#define PB_EEPROM_I2C_ADDR "3-0050"
#define PB_EEPROM_PATH "/sys/bus/i2c/drivers/at24/" PB_EEPROM_I2C "-00" PB_EEPROM_I2C_ADDR "/eeprom"
#define PB_EEPROM_FULL_I2C_ADDR PB_EEPROM_I2C "-00" PB_EEPROM_I2C_ADDR
char * psu_addr[] = {
[1] = "9-0018",
[2] = "9-0019",
[1] = PSU_I2C "-00" PSU1_I2C_ADDR,
[2] = PSU_I2C "-00" PSU2_I2C_ADDR,
};
#else
#error SB_VER not defined
#endif
#define CONSUMER "diot_util"
const char *chipname = "gpiochip0";
......@@ -469,7 +456,7 @@ int read_pb_eeprom(uint8_t *eeprom_buff, size_t eeprom_size, int slot)
ret = -1;
goto out_set_input;
}
msg = PB_EEPROM_I2C_ADDR;
msg = PB_EEPROM_FULL_I2C_ADDR;
ret = fwrite(msg, 1, sizeof(msg), bind_file);
fclose(bind_file);
......@@ -498,7 +485,7 @@ out_unbind:
ret = -1;
goto out_set_input;
}
msg = PB_EEPROM_I2C_ADDR;
msg = PB_EEPROM_FULL_I2C_ADDR;
ret = fwrite(msg, sizeof(msg), 1, bind_file);
fclose(bind_file);
......
/*
* diot_util_i2c - i2c addresses on DIOT system board
*
* Author: Adam Wujek for CERN
* Copyright CERN 2021
*
*/
#ifndef __DIOT_UTIL_I2C_H
#define __DIOT_UTIL_I2C_H
#if SB_VER == 1
#define MAX6639_I2C "9"
#define LM75_I2C "6"
#define IRPS5401_I2C "5"
#define PSU_I2C "3"
#define SI5341_I2C "7"
#define PB_EEPROM_I2C "4"
#elif SB_VER == 2
#define MAX6639_I2C "8"
#define LM75_I2C "5"
#define IRPS5401_I2C "4"
#define PSU_I2C "9"
#define SI5341_I2C "6"
#define PB_EEPROM_I2C "3"
#else
#error SB_VER not defined
#endif
#define FANTRAY_I2C PSU_I2C
#define FANTRAY_I2C_ADDR "12"
#define FMC_EEPROM_I2C "0"
#define FMC_EEPROM_I2C_ADDR "50"
#define PSU1_I2C_ADDR "18"
#define PSU2_I2C_ADDR "19"
#define IRPS5401_1_I2C_ADDR "44"
#define IRPS5401_2_I2C_ADDR "45"
#define LM75_1_I2C_ADDR "49"
#define LM75_2_I2C_ADDR "48"
#define LM75_3_I2C_ADDR "4a"
#define MAX6639_I2C_ADDR "2c"
#define SI5341_I2C_ADDR "76"
#define PB_EEPROM_I2C_ADDR "50"
#endif /* __DIOT_UTIL_I2C_H */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment