1 
2 /*
3 * Copyright (c) 2019-2025 Allwinner Technology Co., Ltd. ALL rights reserved.
4 *
5 * Allwinner is a trademark of Allwinner Technology Co.,Ltd., registered in
6 * the the People's Republic of China and other countries.
7 * All Allwinner Technology Co.,Ltd. trademarks are used with permission.
8 *
9 * DISCLAIMER
10 * THIRD PARTY LICENCES MAY BE REQUIRED TO IMPLEMENT THE SOLUTION/PRODUCT.
11 * IF YOU NEED TO INTEGRATE THIRD PARTY¡¯S TECHNOLOGY (SONY, DTS, DOLBY, AVS OR MPEGLA, ETC.)
12 * IN ALLWINNERS¡¯SDK OR PRODUCTS, YOU SHALL BE SOLELY RESPONSIBLE TO OBTAIN
13 * ALL APPROPRIATELY REQUIRED THIRD PARTY LICENCES.
14 * ALLWINNER SHALL HAVE NO WARRANTY, INDEMNITY OR OTHER OBLIGATIONS WITH RESPECT TO MATTERS
15 * COVERED UNDER ANY REQUIRED THIRD PARTY LICENSE.
16 * YOU ARE SOLELY RESPONSIBLE FOR YOUR USAGE OF THIRD PARTY¡¯S TECHNOLOGY.
17 *
18 *
19 * THIS SOFTWARE IS PROVIDED BY ALLWINNER"AS IS" AND TO THE MAXIMUM EXTENT
20 * PERMITTED BY LAW, ALLWINNER EXPRESSLY DISCLAIMS ALL WARRANTIES OF ANY KIND,
21 * WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING WITHOUT LIMITATION REGARDING
22 * THE TITLE, NON-INFRINGEMENT, ACCURACY, CONDITION, COMPLETENESS, PERFORMANCE
23 * OR MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
24 * IN NO EVENT SHALL ALLWINNER BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
26 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
27 * LOSS OF USE, DATA, OR PROFITS, OR BUSINESS INTERRUPTION)
28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
29 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
30 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
31 * OF THE POSSIBILITY OF SUCH DAMAGE.
32 */
33 
34 #ifndef __TWI_SUN8IW20_H__
35 #define __TWI_SUN8IW20_H__
36 
37 /** the irq of each TWI **/
38 #define SUNXI_GIC_START 16
39 
40 /** the base address of TWI*/
41 #define SUNXI_TWI0_PBASE 0x02502000
42 #define SUNXI_IRQ_TWI0 (41 - SUNXI_GIC_START)
43 #define TWI0_SCK GPIOB(10)
44 #define TWI0_SDA GPIOB(11)
45 #define TWI0_PIN_MUXSEL 4
46 
47 #define SUNXI_TWI1_PBASE 0x02502400
48 #define SUNXI_IRQ_TWI1 (42 - SUNXI_GIC_START)
49 #define TWI1_SCK GPIOB(4)
50 #define TWI1_SDA GPIOB(5)
51 #define TWI1_PIN_MUXSEL 4
52 
53 #define SUNXI_TWI2_PBASE 0x02502800
54 #define SUNXI_IRQ_TWI2 (43 - SUNXI_GIC_START)
55 #define TWI2_SCK GPIOH(5)
56 #define TWI2_SDA GPIOH(6)
57 #define TWI2_PIN_MUXSEL 4
58 
59 #define SUNXI_TWI3_PBASE 0x02502c00
60 #define SUNXI_IRQ_TWI3 (44 - SUNXI_GIC_START)
61 #define TWI3_SCK GPIOE(6)
62 #define TWI3_SDA GPIOE(7)
63 #define TWI3_PIN_MUXSEL 4
64 
65 #define TWI_DISABLE_PIN_MUXSEL 15
66 #define TWI_PULL_STATE 1
67 #define TWI_DRIVE_STATE 0
68 
69 #define SUNXI_CLK_TWI(x)    CLK_BUS_I2C##x
70 #define SUNXI_CLK_RST_TWI(x)    RST_BUS_I2C##x
71 /*
72 #if (defined(CONFIG_ARCH_SUN8IW20) || defined(CONFIG_SOC_SUN20IW1))
73 #define S_TWI0_SCK GPIOI(0)
74 #define S_TWI0_SDA GPIOI(1)
75 #define S_TWI0_PIN_MUXSEL 0
76 #endif
77 */
78 #endif /*__TWI_SUN8IW20_H__  */
79 
80