1*91f16700Schasinglulu /* 2*91f16700Schasinglulu * Copyright (C) 2018 Marvell International Ltd. 3*91f16700Schasinglulu * 4*91f16700Schasinglulu * SPDX-License-Identifier: BSD-3-Clause 5*91f16700Schasinglulu * https://spdx.org/licenses 6*91f16700Schasinglulu */ 7*91f16700Schasinglulu /* This driver provides I2C support for Marvell A8K and compatible SoCs */ 8*91f16700Schasinglulu 9*91f16700Schasinglulu #ifndef MENTOR_I2C_PLAT_H 10*91f16700Schasinglulu #define MENTOR_I2C_PLAT_H 11*91f16700Schasinglulu 12*91f16700Schasinglulu #define CONFIG_SYS_TCLK 250000000 13*91f16700Schasinglulu #define CONFIG_SYS_I2C_SPEED 100000 14*91f16700Schasinglulu #define CONFIG_SYS_I2C_SLAVE 0x0 15*91f16700Schasinglulu 16*91f16700Schasinglulu #define I2C_CAN_UNSTUCK 17*91f16700Schasinglulu 18*91f16700Schasinglulu struct mentor_i2c_regs { 19*91f16700Schasinglulu uint32_t slave_address; 20*91f16700Schasinglulu uint32_t data; 21*91f16700Schasinglulu uint32_t control; 22*91f16700Schasinglulu union { 23*91f16700Schasinglulu uint32_t status; /* when reading */ 24*91f16700Schasinglulu uint32_t baudrate; /* when writing */ 25*91f16700Schasinglulu }; 26*91f16700Schasinglulu uint32_t xtnd_slave_addr; 27*91f16700Schasinglulu uint32_t reserved[2]; 28*91f16700Schasinglulu uint32_t soft_reset; 29*91f16700Schasinglulu uint8_t reserved2[0xa0 - 0x20]; 30*91f16700Schasinglulu uint32_t unstuck; 31*91f16700Schasinglulu }; 32*91f16700Schasinglulu 33*91f16700Schasinglulu #endif /* MENTOR_I2C_PLAT_H */ 34