162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * STK1135 registers 462306a36Sopenharmony_ci * 562306a36Sopenharmony_ci * Copyright (c) 2013 Ondrej Zary 662306a36Sopenharmony_ci */ 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci#define STK1135_REG_GCTRL 0x000 /* GPIO control */ 962306a36Sopenharmony_ci#define STK1135_REG_ICTRL 0x004 /* Interrupt control */ 1062306a36Sopenharmony_ci#define STK1135_REG_IDATA 0x008 /* Interrupt data */ 1162306a36Sopenharmony_ci#define STK1135_REG_RMCTL 0x00c /* Remote wakeup control */ 1262306a36Sopenharmony_ci#define STK1135_REG_POSVA 0x010 /* Power-on strapping data */ 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci#define STK1135_REG_SENSO 0x018 /* Sensor select options */ 1562306a36Sopenharmony_ci#define STK1135_REG_PLLFD 0x01c /* PLL frequency divider */ 1662306a36Sopenharmony_ci 1762306a36Sopenharmony_ci#define STK1135_REG_SCTRL 0x100 /* Sensor control register */ 1862306a36Sopenharmony_ci#define STK1135_REG_DCTRL 0x104 /* Decimation control register */ 1962306a36Sopenharmony_ci#define STK1135_REG_CISPO 0x110 /* Capture image starting position */ 2062306a36Sopenharmony_ci#define STK1135_REG_CIEPO 0x114 /* Capture image ending position */ 2162306a36Sopenharmony_ci#define STK1135_REG_TCTRL 0x120 /* Test data control */ 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ci#define STK1135_REG_SICTL 0x200 /* Serial interface control register */ 2462306a36Sopenharmony_ci#define STK1135_REG_SBUSW 0x204 /* Serial bus write */ 2562306a36Sopenharmony_ci#define STK1135_REG_SBUSR 0x208 /* Serial bus read */ 2662306a36Sopenharmony_ci#define STK1135_REG_SCSI 0x20c /* Software control serial interface */ 2762306a36Sopenharmony_ci#define STK1135_REG_GSBWP 0x210 /* General serial bus write port */ 2862306a36Sopenharmony_ci#define STK1135_REG_GSBRP 0x214 /* General serial bus read port */ 2962306a36Sopenharmony_ci#define STK1135_REG_ASIC 0x2fc /* Alternate serial interface control */ 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci#define STK1135_REG_TMGEN 0x300 /* Timing generator */ 3262306a36Sopenharmony_ci#define STK1135_REG_TCP1 0x350 /* Timing control parameter 1 */ 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_cistruct stk1135_pkt_header { 3562306a36Sopenharmony_ci u8 flags; 3662306a36Sopenharmony_ci u8 seq; 3762306a36Sopenharmony_ci __le16 gpio; 3862306a36Sopenharmony_ci} __packed; 3962306a36Sopenharmony_ci 4062306a36Sopenharmony_ci#define STK1135_HDR_FRAME_START (1 << 7) 4162306a36Sopenharmony_ci#define STK1135_HDR_ODD (1 << 6) 4262306a36Sopenharmony_ci#define STK1135_HDR_I2C_VBLANK (1 << 5) 4362306a36Sopenharmony_ci 4462306a36Sopenharmony_ci#define STK1135_HDR_SEQ_MASK 0x3f 45