/*
 * Copyright 2008 Extreme Engineering Solutions, Inc.
 *
 * SPDX-License-Identifier:	GPL-2.0
 */

#ifndef __DS4510_H_
#define __DS4510_H_

/* General defines */
#define DS4510_NUM_IO				0x04
#define DS4510_IO_MASK				((1 << DS4510_NUM_IO) - 1)
#define DS4510_EEPROM_PAGE_WRITE_DELAY_MS	20

/* EEPROM from 0x00 - 0x39 */
#define DS4510_EEPROM				0x00
#define DS4510_EEPROM_SIZE			0x40
#define DS4510_EEPROM_PAGE_SIZE			0x08
#define DS4510_EEPROM_PAGE_OFFSET(x)	((x) & (DS4510_EEPROM_PAGE_SIZE - 1))

/* SEEPROM from 0xf0 - 0xf7 */
#define DS4510_SEEPROM				0xf0
#define DS4510_SEEPROM_SIZE			0x08

/* Registers overlapping SEEPROM from 0xf0 - 0xf7 */
#define DS4510_PULLUP				0xF0
#define DS4510_PULLUP_DIS			0x00
#define DS4510_PULLUP_EN			0x01
#define DS4510_RSTDELAY				0xF1
#define DS4510_RSTDELAY_MASK			0x03
#define DS4510_RSTDELAY_125			0x00
#define DS4510_RSTDELAY_250			0x01
#define DS4510_RSTDELAY_500			0x02
#define DS4510_RSTDELAY_1000			0x03
#define DS4510_IO3				0xF4
#define DS4510_IO2				0xF5
#define DS4510_IO1				0xF6
#define DS4510_IO0				0xF7

/* Status configuration registers from 0xf8 - 0xf9*/
#define DS4510_IO_STATUS			0xF8
#define DS4510_CFG				0xF9
#define DS4510_CFG_READY			0x80
#define DS4510_CFG_TRIP_POINT			0x40
#define DS4510_CFG_RESET			0x20
#define DS4510_CFG_SEE				0x10
#define DS4510_CFG_SWRST			0x08

/* SRAM from 0xfa - 0xff */
#define DS4510_SRAM				0xfa
#define DS4510_SRAM_SIZE			0x06

int ds4510_mem_write(uint8_t chip, int offset, uint8_t *buf, int count);
int ds4510_mem_read(uint8_t chip, int offset, uint8_t *buf, int count);
int ds4510_see_write(uint8_t chip, uint8_t nv);
int ds4510_rstdelay_write(uint8_t chip, uint8_t delay);
int ds4510_pullup_write(uint8_t chip, uint8_t val);
int ds4510_pullup_read(uint8_t chip);
int ds4510_gpio_write(uint8_t chip, uint8_t val);
int ds4510_gpio_read(uint8_t chip);
int ds4510_gpio_read_val(uint8_t chip);

#endif /* __DS4510_H_ */
