pinctrl-th1520.c (ca35d5d24574c7f49c77860fb0a1e54b74ac9561) pinctrl-th1520.c (d1e16e219901965e6c0715adb92750ed865fda43)
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Pinctrl driver for the T-Head TH1520 SoC
4 *
5 * Copyright (C) 2023 Emil Renner Berthing <emil.renner.berthing@canonical.com>
6 */
7
8#include <linux/array_size.h>

--- 207 unchanged lines hidden (view full) ---

216 TH1520_PAD(10, UART1_TXD, UART, ____, ____, GPIO, ____, ____, 0),
217 TH1520_PAD(11, UART1_RXD, UART, ____, ____, GPIO, ____, ____, 0),
218 TH1520_PAD(12, UART4_TXD, UART, ____, ____, GPIO, ____, ____, 0),
219 TH1520_PAD(13, UART4_RXD, UART, ____, ____, GPIO, ____, ____, 0),
220 TH1520_PAD(14, UART4_CTSN, UART, ____, ____, GPIO, ____, ____, 0),
221 TH1520_PAD(15, UART4_RTSN, UART, ____, ____, GPIO, ____, ____, 0),
222 TH1520_PAD(16, UART3_TXD, DBG, UART, ____, GPIO, ____, ____, 0),
223 TH1520_PAD(17, UART3_RXD, DBG, UART, ____, GPIO, ____, ____, 0),
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Pinctrl driver for the T-Head TH1520 SoC
4 *
5 * Copyright (C) 2023 Emil Renner Berthing <emil.renner.berthing@canonical.com>
6 */
7
8#include <linux/array_size.h>

--- 207 unchanged lines hidden (view full) ---

216 TH1520_PAD(10, UART1_TXD, UART, ____, ____, GPIO, ____, ____, 0),
217 TH1520_PAD(11, UART1_RXD, UART, ____, ____, GPIO, ____, ____, 0),
218 TH1520_PAD(12, UART4_TXD, UART, ____, ____, GPIO, ____, ____, 0),
219 TH1520_PAD(13, UART4_RXD, UART, ____, ____, GPIO, ____, ____, 0),
220 TH1520_PAD(14, UART4_CTSN, UART, ____, ____, GPIO, ____, ____, 0),
221 TH1520_PAD(15, UART4_RTSN, UART, ____, ____, GPIO, ____, ____, 0),
222 TH1520_PAD(16, UART3_TXD, DBG, UART, ____, GPIO, ____, ____, 0),
223 TH1520_PAD(17, UART3_RXD, DBG, UART, ____, GPIO, ____, ____, 0),
224 TH1520_PAD(18, GPIO0_18, GPIO, I2C, ____, ____, ____, ____, 0),
225 TH1520_PAD(19, GPIO0_19, GPIO, I2C, ____, ____, ____, ____, 0),
226 TH1520_PAD(20, GPIO0_20, GPIO, UART, IR, ____, ____, ____, 0),
224 TH1520_PAD(18, GPIO0_18, GPIO, I2C, ____, ____, DPU0, DPU1, 0),
225 TH1520_PAD(19, GPIO0_19, GPIO, I2C, ____, ____, DPU0, DPU1, 0),
226 TH1520_PAD(20, GPIO0_20, GPIO, UART, IR, ____, DPU0, DPU1, 0),
227 TH1520_PAD(21, GPIO0_21, GPIO, UART, IR, ____, DPU0, DPU1, 0),
228 TH1520_PAD(22, GPIO0_22, GPIO, JTAG, I2C, ____, DPU0, DPU1, 0),
229 TH1520_PAD(23, GPIO0_23, GPIO, JTAG, I2C, ____, DPU0, DPU1, 0),
230 TH1520_PAD(24, GPIO0_24, GPIO, JTAG, QSPI, ____, DPU0, DPU1, 0),
231 TH1520_PAD(25, GPIO0_25, GPIO, JTAG, ____, ____, DPU0, DPU1, 0),
232 TH1520_PAD(26, GPIO0_26, GPIO, JTAG, ____, ____, DPU0, DPU1, 0),
233 TH1520_PAD(27, GPIO0_27, GPIO, ____, I2C, ____, DPU0, DPU1, 0),
234 TH1520_PAD(28, GPIO0_28, GPIO, ____, I2C, ____, DPU0, DPU1, 0),
235 TH1520_PAD(29, GPIO0_29, GPIO, ____, ____, ____, DPU0, DPU1, 0),
236 TH1520_PAD(30, GPIO0_30, GPIO, ____, ____, ____, DPU0, DPU1, 0),
237 TH1520_PAD(31, GPIO0_31, GPIO, ____, ____, ____, DPU0, DPU1, 0),
238 TH1520_PAD(32, GPIO1_0, GPIO, JTAG, ____, ____, DPU0, DPU1, 0),
239 TH1520_PAD(33, GPIO1_1, GPIO, JTAG, ____, ____, DPU0, DPU1, 0),
240 TH1520_PAD(34, GPIO1_2, GPIO, JTAG, ____, ____, DPU0, DPU1, 0),
241 TH1520_PAD(35, GPIO1_3, GPIO, JTAG, ____, ____, DPU0, DPU1, 0),
242 TH1520_PAD(36, GPIO1_4, GPIO, JTAG, ____, ____, DPU0, DPU1, 0),
243 TH1520_PAD(37, GPIO1_5, GPIO, ____, ____, ____, DPU0, DPU1, 0),
227 TH1520_PAD(21, GPIO0_21, GPIO, UART, IR, ____, DPU0, DPU1, 0),
228 TH1520_PAD(22, GPIO0_22, GPIO, JTAG, I2C, ____, DPU0, DPU1, 0),
229 TH1520_PAD(23, GPIO0_23, GPIO, JTAG, I2C, ____, DPU0, DPU1, 0),
230 TH1520_PAD(24, GPIO0_24, GPIO, JTAG, QSPI, ____, DPU0, DPU1, 0),
231 TH1520_PAD(25, GPIO0_25, GPIO, JTAG, ____, ____, DPU0, DPU1, 0),
232 TH1520_PAD(26, GPIO0_26, GPIO, JTAG, ____, ____, DPU0, DPU1, 0),
233 TH1520_PAD(27, GPIO0_27, GPIO, ____, I2C, ____, DPU0, DPU1, 0),
234 TH1520_PAD(28, GPIO0_28, GPIO, ____, I2C, ____, DPU0, DPU1, 0),
235 TH1520_PAD(29, GPIO0_29, GPIO, ____, ____, ____, DPU0, DPU1, 0),
236 TH1520_PAD(30, GPIO0_30, GPIO, ____, ____, ____, DPU0, DPU1, 0),
237 TH1520_PAD(31, GPIO0_31, GPIO, ____, ____, ____, DPU0, DPU1, 0),
238 TH1520_PAD(32, GPIO1_0, GPIO, JTAG, ____, ____, DPU0, DPU1, 0),
239 TH1520_PAD(33, GPIO1_1, GPIO, JTAG, ____, ____, DPU0, DPU1, 0),
240 TH1520_PAD(34, GPIO1_2, GPIO, JTAG, ____, ____, DPU0, DPU1, 0),
241 TH1520_PAD(35, GPIO1_3, GPIO, JTAG, ____, ____, DPU0, DPU1, 0),
242 TH1520_PAD(36, GPIO1_4, GPIO, JTAG, ____, ____, DPU0, DPU1, 0),
243 TH1520_PAD(37, GPIO1_5, GPIO, ____, ____, ____, DPU0, DPU1, 0),
244 TH1520_PAD(38, GPIO1_6, GPIO, ____, ____, ____, DPU0, DPU1, 0),
244 TH1520_PAD(38, GPIO1_6, GPIO, QSPI, ____, ____, DPU0, DPU1, 0),
245 TH1520_PAD(39, GPIO1_7, GPIO, QSPI, ____, ____, DPU0, DPU1, 0),
246 TH1520_PAD(40, GPIO1_8, GPIO, QSPI, ____, ____, DPU0, DPU1, 0),
247 TH1520_PAD(41, GPIO1_9, GPIO, QSPI, ____, ____, DPU0, DPU1, 0),
248 TH1520_PAD(42, GPIO1_10, GPIO, QSPI, ____, ____, DPU0, DPU1, 0),
249 TH1520_PAD(43, GPIO1_11, GPIO, QSPI, ____, ____, DPU0, DPU1, 0),
250 TH1520_PAD(44, GPIO1_12, GPIO, QSPI, ____, ____, DPU0, DPU1, 0),
251 TH1520_PAD(45, GPIO1_13, GPIO, UART, ____, ____, DPU0, DPU1, 0),
252 TH1520_PAD(46, GPIO1_14, GPIO, UART, ____, ____, DPU0, DPU1, 0),
253 TH1520_PAD(47, GPIO1_15, GPIO, UART, ____, ____, DPU0, DPU1, 0),
254 TH1520_PAD(48, GPIO1_16, GPIO, UART, ____, ____, DPU0, DPU1, 0),
255 TH1520_PAD(49, CLK_OUT_0, BSEL, CLK, ____, GPIO, ____, ____, 0),
256 TH1520_PAD(50, CLK_OUT_1, BSEL, CLK, ____, GPIO, ____, ____, 0),
257 TH1520_PAD(51, CLK_OUT_2, BSEL, CLK, ____, GPIO, ____, ____, 0),
258 TH1520_PAD(52, CLK_OUT_3, BSEL, CLK, ____, GPIO, ____, ____, 0),
245 TH1520_PAD(39, GPIO1_7, GPIO, QSPI, ____, ____, DPU0, DPU1, 0),
246 TH1520_PAD(40, GPIO1_8, GPIO, QSPI, ____, ____, DPU0, DPU1, 0),
247 TH1520_PAD(41, GPIO1_9, GPIO, QSPI, ____, ____, DPU0, DPU1, 0),
248 TH1520_PAD(42, GPIO1_10, GPIO, QSPI, ____, ____, DPU0, DPU1, 0),
249 TH1520_PAD(43, GPIO1_11, GPIO, QSPI, ____, ____, DPU0, DPU1, 0),
250 TH1520_PAD(44, GPIO1_12, GPIO, QSPI, ____, ____, DPU0, DPU1, 0),
251 TH1520_PAD(45, GPIO1_13, GPIO, UART, ____, ____, DPU0, DPU1, 0),
252 TH1520_PAD(46, GPIO1_14, GPIO, UART, ____, ____, DPU0, DPU1, 0),
253 TH1520_PAD(47, GPIO1_15, GPIO, UART, ____, ____, DPU0, DPU1, 0),
254 TH1520_PAD(48, GPIO1_16, GPIO, UART, ____, ____, DPU0, DPU1, 0),
255 TH1520_PAD(49, CLK_OUT_0, BSEL, CLK, ____, GPIO, ____, ____, 0),
256 TH1520_PAD(50, CLK_OUT_1, BSEL, CLK, ____, GPIO, ____, ____, 0),
257 TH1520_PAD(51, CLK_OUT_2, BSEL, CLK, ____, GPIO, ____, ____, 0),
258 TH1520_PAD(52, CLK_OUT_3, BSEL, CLK, ____, GPIO, ____, ____, 0),
259 TH1520_PAD(53, GPIO1_21, GPIO, ____, ISP, ____, ____, ____, 0),
260 TH1520_PAD(54, GPIO1_22, GPIO, ____, ISP, ____, ____, ____, 0),
261 TH1520_PAD(55, GPIO1_23, GPIO, ____, ISP, ____, ____, ____, 0),
262 TH1520_PAD(56, GPIO1_24, GPIO, ____, ISP, ____, ____, ____, 0),
263 TH1520_PAD(57, GPIO1_25, GPIO, ____, ISP, ____, ____, ____, 0),
259 TH1520_PAD(53, GPIO1_21, JTAG, ____, ISP, GPIO, ____, ____, 0),
260 TH1520_PAD(54, GPIO1_22, JTAG, ____, ISP, GPIO, ____, ____, 0),
261 TH1520_PAD(55, GPIO1_23, JTAG, ____, ISP, GPIO, ____, ____, 0),
262 TH1520_PAD(56, GPIO1_24, JTAG, ____, ISP, GPIO, ____, ____, 0),
263 TH1520_PAD(57, GPIO1_25, JTAG, ____, ISP, GPIO, ____, ____, 0),
264 TH1520_PAD(58, GPIO1_26, GPIO, ____, ISP, ____, ____, ____, 0),
265 TH1520_PAD(59, GPIO1_27, GPIO, ____, ISP, ____, ____, ____, 0),
266 TH1520_PAD(60, GPIO1_28, GPIO, ____, ISP, ____, ____, ____, 0),
267 TH1520_PAD(61, GPIO1_29, GPIO, ____, ISP, ____, ____, ____, 0),
268 TH1520_PAD(62, GPIO1_30, GPIO, ____, ISP, ____, ____, ____, 0),
269};
270
271static const struct pinctrl_pin_desc th1520_group3_pins[] = {

--- 634 unchanged lines hidden ---
264 TH1520_PAD(58, GPIO1_26, GPIO, ____, ISP, ____, ____, ____, 0),
265 TH1520_PAD(59, GPIO1_27, GPIO, ____, ISP, ____, ____, ____, 0),
266 TH1520_PAD(60, GPIO1_28, GPIO, ____, ISP, ____, ____, ____, 0),
267 TH1520_PAD(61, GPIO1_29, GPIO, ____, ISP, ____, ____, ____, 0),
268 TH1520_PAD(62, GPIO1_30, GPIO, ____, ISP, ____, ____, ____, 0),
269};
270
271static const struct pinctrl_pin_desc th1520_group3_pins[] = {

--- 634 unchanged lines hidden ---