162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Driver for the NXP ISP1760 chip 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Copyright 2021 Linaro, Rui Miguel Silva 662306a36Sopenharmony_ci * Copyright 2014 Laurent Pinchart 762306a36Sopenharmony_ci * Copyright 2007 Sebastian Siewior 862306a36Sopenharmony_ci * 962306a36Sopenharmony_ci * Contacts: 1062306a36Sopenharmony_ci * Sebastian Siewior <bigeasy@linutronix.de> 1162306a36Sopenharmony_ci * Laurent Pinchart <laurent.pinchart@ideasonboard.com> 1262306a36Sopenharmony_ci * Rui Miguel Silva <rui.silva@linaro.org> 1362306a36Sopenharmony_ci */ 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ci#ifndef _ISP176x_REGS_H_ 1662306a36Sopenharmony_ci#define _ISP176x_REGS_H_ 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ci/* ----------------------------------------------------------------------------- 1962306a36Sopenharmony_ci * Host Controller 2062306a36Sopenharmony_ci */ 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ci/* ISP1760/31 */ 2362306a36Sopenharmony_ci/* EHCI capability registers */ 2462306a36Sopenharmony_ci#define ISP176x_HC_VERSION 0x002 2562306a36Sopenharmony_ci#define ISP176x_HC_HCSPARAMS 0x004 2662306a36Sopenharmony_ci#define ISP176x_HC_HCCPARAMS 0x008 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ci/* EHCI operational registers */ 2962306a36Sopenharmony_ci#define ISP176x_HC_USBCMD 0x020 3062306a36Sopenharmony_ci#define ISP176x_HC_USBSTS 0x024 3162306a36Sopenharmony_ci#define ISP176x_HC_FRINDEX 0x02c 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ci#define ISP176x_HC_CONFIGFLAG 0x060 3462306a36Sopenharmony_ci#define ISP176x_HC_PORTSC1 0x064 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci#define ISP176x_HC_ISO_PTD_DONEMAP 0x130 3762306a36Sopenharmony_ci#define ISP176x_HC_ISO_PTD_SKIPMAP 0x134 3862306a36Sopenharmony_ci#define ISP176x_HC_ISO_PTD_LASTPTD 0x138 3962306a36Sopenharmony_ci#define ISP176x_HC_INT_PTD_DONEMAP 0x140 4062306a36Sopenharmony_ci#define ISP176x_HC_INT_PTD_SKIPMAP 0x144 4162306a36Sopenharmony_ci#define ISP176x_HC_INT_PTD_LASTPTD 0x148 4262306a36Sopenharmony_ci#define ISP176x_HC_ATL_PTD_DONEMAP 0x150 4362306a36Sopenharmony_ci#define ISP176x_HC_ATL_PTD_SKIPMAP 0x154 4462306a36Sopenharmony_ci#define ISP176x_HC_ATL_PTD_LASTPTD 0x158 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_ci/* Configuration Register */ 4762306a36Sopenharmony_ci#define ISP176x_HC_HW_MODE_CTRL 0x300 4862306a36Sopenharmony_ci#define ISP176x_HC_CHIP_ID 0x304 4962306a36Sopenharmony_ci#define ISP176x_HC_SCRATCH 0x308 5062306a36Sopenharmony_ci#define ISP176x_HC_RESET 0x30c 5162306a36Sopenharmony_ci#define ISP176x_HC_BUFFER_STATUS 0x334 5262306a36Sopenharmony_ci#define ISP176x_HC_MEMORY 0x33c 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_ci/* Interrupt Register */ 5562306a36Sopenharmony_ci#define ISP176x_HC_INTERRUPT 0x310 5662306a36Sopenharmony_ci#define ISP176x_HC_INTERRUPT_ENABLE 0x314 5762306a36Sopenharmony_ci#define ISP176x_HC_ISO_IRQ_MASK_OR 0x318 5862306a36Sopenharmony_ci#define ISP176x_HC_INT_IRQ_MASK_OR 0x31c 5962306a36Sopenharmony_ci#define ISP176x_HC_ATL_IRQ_MASK_OR 0x320 6062306a36Sopenharmony_ci#define ISP176x_HC_ISO_IRQ_MASK_AND 0x324 6162306a36Sopenharmony_ci#define ISP176x_HC_INT_IRQ_MASK_AND 0x328 6262306a36Sopenharmony_ci#define ISP176x_HC_ATL_IRQ_MASK_AND 0x32c 6362306a36Sopenharmony_ci 6462306a36Sopenharmony_ci#define ISP176x_HC_OTG_CTRL 0x374 6562306a36Sopenharmony_ci#define ISP176x_HC_OTG_CTRL_SET 0x374 6662306a36Sopenharmony_ci#define ISP176x_HC_OTG_CTRL_CLEAR 0x376 6762306a36Sopenharmony_ci 6862306a36Sopenharmony_cienum isp176x_host_controller_fields { 6962306a36Sopenharmony_ci /* HC_PORTSC1 */ 7062306a36Sopenharmony_ci PORT_OWNER, PORT_POWER, PORT_LSTATUS, PORT_RESET, PORT_SUSPEND, 7162306a36Sopenharmony_ci PORT_RESUME, PORT_PE, PORT_CSC, PORT_CONNECT, 7262306a36Sopenharmony_ci /* HC_HCSPARAMS */ 7362306a36Sopenharmony_ci HCS_PPC, HCS_N_PORTS, 7462306a36Sopenharmony_ci /* HC_HCCPARAMS */ 7562306a36Sopenharmony_ci HCC_ISOC_CACHE, HCC_ISOC_THRES, 7662306a36Sopenharmony_ci /* HC_USBCMD */ 7762306a36Sopenharmony_ci CMD_LRESET, CMD_RESET, CMD_RUN, 7862306a36Sopenharmony_ci /* HC_USBSTS */ 7962306a36Sopenharmony_ci STS_PCD, 8062306a36Sopenharmony_ci /* HC_FRINDEX */ 8162306a36Sopenharmony_ci HC_FRINDEX, 8262306a36Sopenharmony_ci /* HC_CONFIGFLAG */ 8362306a36Sopenharmony_ci FLAG_CF, 8462306a36Sopenharmony_ci /* ISO/INT/ATL PTD */ 8562306a36Sopenharmony_ci HC_ISO_PTD_DONEMAP, HC_ISO_PTD_SKIPMAP, HC_ISO_PTD_LASTPTD, 8662306a36Sopenharmony_ci HC_INT_PTD_DONEMAP, HC_INT_PTD_SKIPMAP, HC_INT_PTD_LASTPTD, 8762306a36Sopenharmony_ci HC_ATL_PTD_DONEMAP, HC_ATL_PTD_SKIPMAP, HC_ATL_PTD_LASTPTD, 8862306a36Sopenharmony_ci /* HC_HW_MODE_CTRL */ 8962306a36Sopenharmony_ci ALL_ATX_RESET, HW_ANA_DIGI_OC, HW_DEV_DMA, HW_COMN_IRQ, HW_COMN_DMA, 9062306a36Sopenharmony_ci HW_DATA_BUS_WIDTH, HW_DACK_POL_HIGH, HW_DREQ_POL_HIGH, HW_INTR_HIGH_ACT, 9162306a36Sopenharmony_ci HW_INTF_LOCK, HW_INTR_EDGE_TRIG, HW_GLOBAL_INTR_EN, 9262306a36Sopenharmony_ci /* HC_CHIP_ID */ 9362306a36Sopenharmony_ci HC_CHIP_ID_HIGH, HC_CHIP_ID_LOW, HC_CHIP_REV, 9462306a36Sopenharmony_ci /* HC_SCRATCH */ 9562306a36Sopenharmony_ci HC_SCRATCH, 9662306a36Sopenharmony_ci /* HC_RESET */ 9762306a36Sopenharmony_ci SW_RESET_RESET_ATX, SW_RESET_RESET_HC, SW_RESET_RESET_ALL, 9862306a36Sopenharmony_ci /* HC_BUFFER_STATUS */ 9962306a36Sopenharmony_ci ISO_BUF_FILL, INT_BUF_FILL, ATL_BUF_FILL, 10062306a36Sopenharmony_ci /* HC_MEMORY */ 10162306a36Sopenharmony_ci MEM_BANK_SEL, MEM_START_ADDR, 10262306a36Sopenharmony_ci /* HC_DATA */ 10362306a36Sopenharmony_ci HC_DATA, 10462306a36Sopenharmony_ci /* HC_INTERRUPT */ 10562306a36Sopenharmony_ci HC_INTERRUPT, 10662306a36Sopenharmony_ci /* HC_INTERRUPT_ENABLE */ 10762306a36Sopenharmony_ci HC_INT_IRQ_ENABLE, HC_ATL_IRQ_ENABLE, 10862306a36Sopenharmony_ci /* INTERRUPT MASKS */ 10962306a36Sopenharmony_ci HC_ISO_IRQ_MASK_OR, HC_INT_IRQ_MASK_OR, HC_ATL_IRQ_MASK_OR, 11062306a36Sopenharmony_ci HC_ISO_IRQ_MASK_AND, HC_INT_IRQ_MASK_AND, HC_ATL_IRQ_MASK_AND, 11162306a36Sopenharmony_ci /* HW_OTG_CTRL_SET */ 11262306a36Sopenharmony_ci HW_OTG_DISABLE, HW_SW_SEL_HC_DC, HW_VBUS_DRV, HW_SEL_CP_EXT, 11362306a36Sopenharmony_ci HW_DM_PULLDOWN, HW_DP_PULLDOWN, HW_DP_PULLUP, HW_HC_2_DIS, 11462306a36Sopenharmony_ci /* HW_OTG_CTRL_CLR */ 11562306a36Sopenharmony_ci HW_OTG_DISABLE_CLEAR, HW_SW_SEL_HC_DC_CLEAR, HW_VBUS_DRV_CLEAR, 11662306a36Sopenharmony_ci HW_SEL_CP_EXT_CLEAR, HW_DM_PULLDOWN_CLEAR, HW_DP_PULLDOWN_CLEAR, 11762306a36Sopenharmony_ci HW_DP_PULLUP_CLEAR, HW_HC_2_DIS_CLEAR, 11862306a36Sopenharmony_ci /* Last element */ 11962306a36Sopenharmony_ci HC_FIELD_MAX, 12062306a36Sopenharmony_ci}; 12162306a36Sopenharmony_ci 12262306a36Sopenharmony_ci/* ISP1763 */ 12362306a36Sopenharmony_ci/* EHCI operational registers */ 12462306a36Sopenharmony_ci#define ISP1763_HC_USBCMD 0x8c 12562306a36Sopenharmony_ci#define ISP1763_HC_USBSTS 0x90 12662306a36Sopenharmony_ci#define ISP1763_HC_FRINDEX 0x98 12762306a36Sopenharmony_ci 12862306a36Sopenharmony_ci#define ISP1763_HC_CONFIGFLAG 0x9c 12962306a36Sopenharmony_ci#define ISP1763_HC_PORTSC1 0xa0 13062306a36Sopenharmony_ci 13162306a36Sopenharmony_ci#define ISP1763_HC_ISO_PTD_DONEMAP 0xa4 13262306a36Sopenharmony_ci#define ISP1763_HC_ISO_PTD_SKIPMAP 0xa6 13362306a36Sopenharmony_ci#define ISP1763_HC_ISO_PTD_LASTPTD 0xa8 13462306a36Sopenharmony_ci#define ISP1763_HC_INT_PTD_DONEMAP 0xaa 13562306a36Sopenharmony_ci#define ISP1763_HC_INT_PTD_SKIPMAP 0xac 13662306a36Sopenharmony_ci#define ISP1763_HC_INT_PTD_LASTPTD 0xae 13762306a36Sopenharmony_ci#define ISP1763_HC_ATL_PTD_DONEMAP 0xb0 13862306a36Sopenharmony_ci#define ISP1763_HC_ATL_PTD_SKIPMAP 0xb2 13962306a36Sopenharmony_ci#define ISP1763_HC_ATL_PTD_LASTPTD 0xb4 14062306a36Sopenharmony_ci 14162306a36Sopenharmony_ci/* Configuration Register */ 14262306a36Sopenharmony_ci#define ISP1763_HC_HW_MODE_CTRL 0xb6 14362306a36Sopenharmony_ci#define ISP1763_HC_CHIP_REV 0x70 14462306a36Sopenharmony_ci#define ISP1763_HC_CHIP_ID 0x72 14562306a36Sopenharmony_ci#define ISP1763_HC_SCRATCH 0x78 14662306a36Sopenharmony_ci#define ISP1763_HC_RESET 0xb8 14762306a36Sopenharmony_ci#define ISP1763_HC_BUFFER_STATUS 0xba 14862306a36Sopenharmony_ci#define ISP1763_HC_MEMORY 0xc4 14962306a36Sopenharmony_ci#define ISP1763_HC_DATA 0xc6 15062306a36Sopenharmony_ci 15162306a36Sopenharmony_ci/* Interrupt Register */ 15262306a36Sopenharmony_ci#define ISP1763_HC_INTERRUPT 0xd4 15362306a36Sopenharmony_ci#define ISP1763_HC_INTERRUPT_ENABLE 0xd6 15462306a36Sopenharmony_ci#define ISP1763_HC_ISO_IRQ_MASK_OR 0xd8 15562306a36Sopenharmony_ci#define ISP1763_HC_INT_IRQ_MASK_OR 0xda 15662306a36Sopenharmony_ci#define ISP1763_HC_ATL_IRQ_MASK_OR 0xdc 15762306a36Sopenharmony_ci#define ISP1763_HC_ISO_IRQ_MASK_AND 0xde 15862306a36Sopenharmony_ci#define ISP1763_HC_INT_IRQ_MASK_AND 0xe0 15962306a36Sopenharmony_ci#define ISP1763_HC_ATL_IRQ_MASK_AND 0xe2 16062306a36Sopenharmony_ci 16162306a36Sopenharmony_ci#define ISP1763_HC_OTG_CTRL_SET 0xe4 16262306a36Sopenharmony_ci#define ISP1763_HC_OTG_CTRL_CLEAR 0xe6 16362306a36Sopenharmony_ci 16462306a36Sopenharmony_ci/* ----------------------------------------------------------------------------- 16562306a36Sopenharmony_ci * Peripheral Controller 16662306a36Sopenharmony_ci */ 16762306a36Sopenharmony_ci 16862306a36Sopenharmony_ci#define DC_IEPTX(n) (1 << (11 + 2 * (n))) 16962306a36Sopenharmony_ci#define DC_IEPRX(n) (1 << (10 + 2 * (n))) 17062306a36Sopenharmony_ci#define DC_IEPRXTX(n) (3 << (10 + 2 * (n))) 17162306a36Sopenharmony_ci 17262306a36Sopenharmony_ci#define ISP176x_DC_CDBGMOD_ACK BIT(6) 17362306a36Sopenharmony_ci#define ISP176x_DC_DDBGMODIN_ACK BIT(4) 17462306a36Sopenharmony_ci#define ISP176x_DC_DDBGMODOUT_ACK BIT(2) 17562306a36Sopenharmony_ci 17662306a36Sopenharmony_ci#define ISP176x_DC_IEP0SETUP BIT(8) 17762306a36Sopenharmony_ci#define ISP176x_DC_IEVBUS BIT(7) 17862306a36Sopenharmony_ci#define ISP176x_DC_IEHS_STA BIT(5) 17962306a36Sopenharmony_ci#define ISP176x_DC_IERESM BIT(4) 18062306a36Sopenharmony_ci#define ISP176x_DC_IESUSP BIT(3) 18162306a36Sopenharmony_ci#define ISP176x_DC_IEBRST BIT(0) 18262306a36Sopenharmony_ci 18362306a36Sopenharmony_ci#define ISP176x_HW_OTG_DISABLE_CLEAR BIT(26) 18462306a36Sopenharmony_ci#define ISP176x_HW_SW_SEL_HC_DC_CLEAR BIT(23) 18562306a36Sopenharmony_ci#define ISP176x_HW_VBUS_DRV_CLEAR BIT(20) 18662306a36Sopenharmony_ci#define ISP176x_HW_SEL_CP_EXT_CLEAR BIT(19) 18762306a36Sopenharmony_ci#define ISP176x_HW_DM_PULLDOWN_CLEAR BIT(18) 18862306a36Sopenharmony_ci#define ISP176x_HW_DP_PULLDOWN_CLEAR BIT(17) 18962306a36Sopenharmony_ci#define ISP176x_HW_DP_PULLUP_CLEAR BIT(16) 19062306a36Sopenharmony_ci#define ISP176x_HW_OTG_DISABLE BIT(10) 19162306a36Sopenharmony_ci#define ISP176x_HW_SW_SEL_HC_DC BIT(7) 19262306a36Sopenharmony_ci#define ISP176x_HW_VBUS_DRV BIT(4) 19362306a36Sopenharmony_ci#define ISP176x_HW_SEL_CP_EXT BIT(3) 19462306a36Sopenharmony_ci#define ISP176x_HW_DM_PULLDOWN BIT(2) 19562306a36Sopenharmony_ci#define ISP176x_HW_DP_PULLDOWN BIT(1) 19662306a36Sopenharmony_ci#define ISP176x_HW_DP_PULLUP BIT(0) 19762306a36Sopenharmony_ci 19862306a36Sopenharmony_ci#define ISP176x_DC_ENDPTYP_ISOC 0x01 19962306a36Sopenharmony_ci#define ISP176x_DC_ENDPTYP_BULK 0x02 20062306a36Sopenharmony_ci#define ISP176x_DC_ENDPTYP_INTERRUPT 0x03 20162306a36Sopenharmony_ci 20262306a36Sopenharmony_ci/* Initialization Registers */ 20362306a36Sopenharmony_ci#define ISP176x_DC_ADDRESS 0x0200 20462306a36Sopenharmony_ci#define ISP176x_DC_MODE 0x020c 20562306a36Sopenharmony_ci#define ISP176x_DC_INTCONF 0x0210 20662306a36Sopenharmony_ci#define ISP176x_DC_DEBUG 0x0212 20762306a36Sopenharmony_ci#define ISP176x_DC_INTENABLE 0x0214 20862306a36Sopenharmony_ci 20962306a36Sopenharmony_ci/* Data Flow Registers */ 21062306a36Sopenharmony_ci#define ISP176x_DC_EPMAXPKTSZ 0x0204 21162306a36Sopenharmony_ci#define ISP176x_DC_EPTYPE 0x0208 21262306a36Sopenharmony_ci 21362306a36Sopenharmony_ci#define ISP176x_DC_BUFLEN 0x021c 21462306a36Sopenharmony_ci#define ISP176x_DC_BUFSTAT 0x021e 21562306a36Sopenharmony_ci#define ISP176x_DC_DATAPORT 0x0220 21662306a36Sopenharmony_ci 21762306a36Sopenharmony_ci#define ISP176x_DC_CTRLFUNC 0x0228 21862306a36Sopenharmony_ci#define ISP176x_DC_EPINDEX 0x022c 21962306a36Sopenharmony_ci 22062306a36Sopenharmony_ci/* DMA Registers */ 22162306a36Sopenharmony_ci#define ISP176x_DC_DMACMD 0x0230 22262306a36Sopenharmony_ci#define ISP176x_DC_DMATXCOUNT 0x0234 22362306a36Sopenharmony_ci#define ISP176x_DC_DMACONF 0x0238 22462306a36Sopenharmony_ci#define ISP176x_DC_DMAHW 0x023c 22562306a36Sopenharmony_ci#define ISP176x_DC_DMAINTREASON 0x0250 22662306a36Sopenharmony_ci#define ISP176x_DC_DMAINTEN 0x0254 22762306a36Sopenharmony_ci#define ISP176x_DC_DMAEP 0x0258 22862306a36Sopenharmony_ci#define ISP176x_DC_DMABURSTCOUNT 0x0264 22962306a36Sopenharmony_ci 23062306a36Sopenharmony_ci/* General Registers */ 23162306a36Sopenharmony_ci#define ISP176x_DC_INTERRUPT 0x0218 23262306a36Sopenharmony_ci#define ISP176x_DC_CHIPID 0x0270 23362306a36Sopenharmony_ci#define ISP176x_DC_FRAMENUM 0x0274 23462306a36Sopenharmony_ci#define ISP176x_DC_SCRATCH 0x0278 23562306a36Sopenharmony_ci#define ISP176x_DC_UNLOCKDEV 0x027c 23662306a36Sopenharmony_ci#define ISP176x_DC_INTPULSEWIDTH 0x0280 23762306a36Sopenharmony_ci#define ISP176x_DC_TESTMODE 0x0284 23862306a36Sopenharmony_ci 23962306a36Sopenharmony_cienum isp176x_device_controller_fields { 24062306a36Sopenharmony_ci /* DC_ADDRESS */ 24162306a36Sopenharmony_ci DC_DEVEN, DC_DEVADDR, 24262306a36Sopenharmony_ci /* DC_MODE */ 24362306a36Sopenharmony_ci DC_VBUSSTAT, DC_SFRESET, DC_GLINTENA, 24462306a36Sopenharmony_ci /* DC_INTCONF */ 24562306a36Sopenharmony_ci DC_CDBGMOD_ACK, DC_DDBGMODIN_ACK, DC_DDBGMODOUT_ACK, DC_INTPOL, 24662306a36Sopenharmony_ci /* DC_INTENABLE */ 24762306a36Sopenharmony_ci DC_IEPRXTX_7, DC_IEPRXTX_6, DC_IEPRXTX_5, DC_IEPRXTX_4, DC_IEPRXTX_3, 24862306a36Sopenharmony_ci DC_IEPRXTX_2, DC_IEPRXTX_1, DC_IEPRXTX_0, 24962306a36Sopenharmony_ci DC_IEP0SETUP, DC_IEVBUS, DC_IEHS_STA, DC_IERESM, DC_IESUSP, DC_IEBRST, 25062306a36Sopenharmony_ci /* DC_EPINDEX */ 25162306a36Sopenharmony_ci DC_EP0SETUP, DC_ENDPIDX, DC_EPDIR, 25262306a36Sopenharmony_ci /* DC_CTRLFUNC */ 25362306a36Sopenharmony_ci DC_CLBUF, DC_VENDP, DC_DSEN, DC_STATUS, DC_STALL, 25462306a36Sopenharmony_ci /* DC_BUFLEN */ 25562306a36Sopenharmony_ci DC_BUFLEN, 25662306a36Sopenharmony_ci /* DC_EPMAXPKTSZ */ 25762306a36Sopenharmony_ci DC_FFOSZ, 25862306a36Sopenharmony_ci /* DC_EPTYPE */ 25962306a36Sopenharmony_ci DC_EPENABLE, DC_ENDPTYP, 26062306a36Sopenharmony_ci /* DC_FRAMENUM */ 26162306a36Sopenharmony_ci DC_FRAMENUM, DC_UFRAMENUM, 26262306a36Sopenharmony_ci /* DC_CHIP_ID */ 26362306a36Sopenharmony_ci DC_CHIP_ID_HIGH, DC_CHIP_ID_LOW, 26462306a36Sopenharmony_ci /* DC_SCRATCH */ 26562306a36Sopenharmony_ci DC_SCRATCH, 26662306a36Sopenharmony_ci /* Last element */ 26762306a36Sopenharmony_ci DC_FIELD_MAX, 26862306a36Sopenharmony_ci}; 26962306a36Sopenharmony_ci 27062306a36Sopenharmony_ci/* ISP1763 */ 27162306a36Sopenharmony_ci/* Initialization Registers */ 27262306a36Sopenharmony_ci#define ISP1763_DC_ADDRESS 0x00 27362306a36Sopenharmony_ci#define ISP1763_DC_MODE 0x0c 27462306a36Sopenharmony_ci#define ISP1763_DC_INTCONF 0x10 27562306a36Sopenharmony_ci#define ISP1763_DC_INTENABLE 0x14 27662306a36Sopenharmony_ci 27762306a36Sopenharmony_ci/* Data Flow Registers */ 27862306a36Sopenharmony_ci#define ISP1763_DC_EPMAXPKTSZ 0x04 27962306a36Sopenharmony_ci#define ISP1763_DC_EPTYPE 0x08 28062306a36Sopenharmony_ci 28162306a36Sopenharmony_ci#define ISP1763_DC_BUFLEN 0x1c 28262306a36Sopenharmony_ci#define ISP1763_DC_BUFSTAT 0x1e 28362306a36Sopenharmony_ci#define ISP1763_DC_DATAPORT 0x20 28462306a36Sopenharmony_ci 28562306a36Sopenharmony_ci#define ISP1763_DC_CTRLFUNC 0x28 28662306a36Sopenharmony_ci#define ISP1763_DC_EPINDEX 0x2c 28762306a36Sopenharmony_ci 28862306a36Sopenharmony_ci/* DMA Registers */ 28962306a36Sopenharmony_ci#define ISP1763_DC_DMACMD 0x30 29062306a36Sopenharmony_ci#define ISP1763_DC_DMATXCOUNT 0x34 29162306a36Sopenharmony_ci#define ISP1763_DC_DMACONF 0x38 29262306a36Sopenharmony_ci#define ISP1763_DC_DMAHW 0x3c 29362306a36Sopenharmony_ci#define ISP1763_DC_DMAINTREASON 0x50 29462306a36Sopenharmony_ci#define ISP1763_DC_DMAINTEN 0x54 29562306a36Sopenharmony_ci#define ISP1763_DC_DMAEP 0x58 29662306a36Sopenharmony_ci#define ISP1763_DC_DMABURSTCOUNT 0x64 29762306a36Sopenharmony_ci 29862306a36Sopenharmony_ci/* General Registers */ 29962306a36Sopenharmony_ci#define ISP1763_DC_INTERRUPT 0x18 30062306a36Sopenharmony_ci#define ISP1763_DC_CHIPID_LOW 0x70 30162306a36Sopenharmony_ci#define ISP1763_DC_CHIPID_HIGH 0x72 30262306a36Sopenharmony_ci#define ISP1763_DC_FRAMENUM 0x74 30362306a36Sopenharmony_ci#define ISP1763_DC_SCRATCH 0x78 30462306a36Sopenharmony_ci#define ISP1763_DC_UNLOCKDEV 0x7c 30562306a36Sopenharmony_ci#define ISP1763_DC_INTPULSEWIDTH 0x80 30662306a36Sopenharmony_ci#define ISP1763_DC_TESTMODE 0x84 30762306a36Sopenharmony_ci 30862306a36Sopenharmony_ci#endif 309