cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

isp1301.h (2433B)


      1// SPDX-License-Identifier: GPL-2.0
      2/*
      3 * NXP ISP1301 USB transceiver driver
      4 *
      5 * Copyright (C) 2012 Roland Stigge <stigge@antcom.de>
      6 *
      7 * This program is free software; you can redistribute it and/or modify
      8 * it under the terms of the GNU General Public License as published by
      9 * the Free Software Foundation; version 2 of the License.
     10 *
     11 * This program is distributed in the hope that it will be useful,
     12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
     13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     14 * GNU General Public License for more details.
     15 *
     16 */
     17
     18#ifndef __LINUX_USB_ISP1301_H
     19#define __LINUX_USB_ISP1301_H
     20
     21#include <linux/of.h>
     22
     23/* I2C Register definitions: */
     24
     25#define ISP1301_I2C_MODE_CONTROL_1	0x04	/* u8 read, set, +1 clear */
     26
     27#define MC1_SPEED_REG			(1 << 0)
     28#define MC1_SUSPEND_REG			(1 << 1)
     29#define MC1_DAT_SE0			(1 << 2)
     30#define MC1_TRANSPARENT			(1 << 3)
     31#define MC1_BDIS_ACON_EN		(1 << 4)
     32#define MC1_OE_INT_EN			(1 << 5)
     33#define MC1_UART_EN			(1 << 6)
     34#define MC1_MASK			0x7f
     35
     36#define ISP1301_I2C_MODE_CONTROL_2	0x12	/* u8 read, set, +1 clear */
     37
     38#define MC2_GLOBAL_PWR_DN		(1 << 0)
     39#define MC2_SPD_SUSP_CTRL		(1 << 1)
     40#define MC2_BI_DI			(1 << 2)
     41#define MC2_TRANSP_BDIR0		(1 << 3)
     42#define MC2_TRANSP_BDIR1		(1 << 4)
     43#define MC2_AUDIO_EN			(1 << 5)
     44#define MC2_PSW_EN			(1 << 6)
     45#define MC2_EN2V7			(1 << 7)
     46
     47#define ISP1301_I2C_OTG_CONTROL_1	0x06	/* u8 read, set, +1 clear */
     48
     49#define OTG1_DP_PULLUP			(1 << 0)
     50#define OTG1_DM_PULLUP			(1 << 1)
     51#define OTG1_DP_PULLDOWN		(1 << 2)
     52#define OTG1_DM_PULLDOWN		(1 << 3)
     53#define OTG1_ID_PULLDOWN		(1 << 4)
     54#define OTG1_VBUS_DRV			(1 << 5)
     55#define OTG1_VBUS_DISCHRG		(1 << 6)
     56#define OTG1_VBUS_CHRG			(1 << 7)
     57
     58#define ISP1301_I2C_OTG_CONTROL_2	0x10	/* u8 readonly */
     59
     60#define OTG_B_SESS_END			(1 << 6)
     61#define OTG_B_SESS_VLD			(1 << 7)
     62
     63#define ISP1301_I2C_INTERRUPT_SOURCE	0x8
     64#define ISP1301_I2C_INTERRUPT_LATCH	0xA
     65#define ISP1301_I2C_INTERRUPT_FALLING	0xC
     66#define ISP1301_I2C_INTERRUPT_RISING	0xE
     67
     68#define INT_VBUS_VLD			(1 << 0)
     69#define INT_SESS_VLD			(1 << 1)
     70#define INT_DP_HI			(1 << 2)
     71#define INT_ID_GND			(1 << 3)
     72#define INT_DM_HI			(1 << 4)
     73#define INT_ID_FLOAT			(1 << 5)
     74#define INT_BDIS_ACON			(1 << 6)
     75#define INT_CR_INT			(1 << 7)
     76
     77#define ISP1301_I2C_REG_CLEAR_ADDR	1	/* Register Address Modifier */
     78
     79struct i2c_client *isp1301_get_client(struct device_node *node);
     80
     81#endif /* __LINUX_USB_ISP1301_H */