162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * Pin-multiplex helper macros for TI DaVinci family devices
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Author: Vladimir Barinov, MontaVista Software, Inc. <source@mvista.com>
662306a36Sopenharmony_ci *
762306a36Sopenharmony_ci * 2007 (c) MontaVista Software, Inc.
862306a36Sopenharmony_ci *
962306a36Sopenharmony_ci * Copyright (C) 2008 Texas Instruments.
1062306a36Sopenharmony_ci */
1162306a36Sopenharmony_ci#ifndef _MACH_DAVINCI_MUX_H_
1262306a36Sopenharmony_ci#define _MACH_DAVINCI_MUX_H_
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_cistruct mux_config {
1562306a36Sopenharmony_ci	const char *name;
1662306a36Sopenharmony_ci	const char *mux_reg_name;
1762306a36Sopenharmony_ci	const unsigned char mux_reg;
1862306a36Sopenharmony_ci	const unsigned char mask_offset;
1962306a36Sopenharmony_ci	const unsigned char mask;
2062306a36Sopenharmony_ci	const unsigned char mode;
2162306a36Sopenharmony_ci	bool debug;
2262306a36Sopenharmony_ci};
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_cienum da830_index {
2562306a36Sopenharmony_ci	DA830_GPIO7_14,
2662306a36Sopenharmony_ci	DA830_RTCK,
2762306a36Sopenharmony_ci	DA830_GPIO7_15,
2862306a36Sopenharmony_ci	DA830_EMU_0,
2962306a36Sopenharmony_ci	DA830_EMB_SDCKE,
3062306a36Sopenharmony_ci	DA830_EMB_CLK_GLUE,
3162306a36Sopenharmony_ci	DA830_EMB_CLK,
3262306a36Sopenharmony_ci	DA830_NEMB_CS_0,
3362306a36Sopenharmony_ci	DA830_NEMB_CAS,
3462306a36Sopenharmony_ci	DA830_NEMB_RAS,
3562306a36Sopenharmony_ci	DA830_NEMB_WE,
3662306a36Sopenharmony_ci	DA830_EMB_BA_1,
3762306a36Sopenharmony_ci	DA830_EMB_BA_0,
3862306a36Sopenharmony_ci	DA830_EMB_A_0,
3962306a36Sopenharmony_ci	DA830_EMB_A_1,
4062306a36Sopenharmony_ci	DA830_EMB_A_2,
4162306a36Sopenharmony_ci	DA830_EMB_A_3,
4262306a36Sopenharmony_ci	DA830_EMB_A_4,
4362306a36Sopenharmony_ci	DA830_EMB_A_5,
4462306a36Sopenharmony_ci	DA830_GPIO7_0,
4562306a36Sopenharmony_ci	DA830_GPIO7_1,
4662306a36Sopenharmony_ci	DA830_GPIO7_2,
4762306a36Sopenharmony_ci	DA830_GPIO7_3,
4862306a36Sopenharmony_ci	DA830_GPIO7_4,
4962306a36Sopenharmony_ci	DA830_GPIO7_5,
5062306a36Sopenharmony_ci	DA830_GPIO7_6,
5162306a36Sopenharmony_ci	DA830_GPIO7_7,
5262306a36Sopenharmony_ci	DA830_EMB_A_6,
5362306a36Sopenharmony_ci	DA830_EMB_A_7,
5462306a36Sopenharmony_ci	DA830_EMB_A_8,
5562306a36Sopenharmony_ci	DA830_EMB_A_9,
5662306a36Sopenharmony_ci	DA830_EMB_A_10,
5762306a36Sopenharmony_ci	DA830_EMB_A_11,
5862306a36Sopenharmony_ci	DA830_EMB_A_12,
5962306a36Sopenharmony_ci	DA830_EMB_D_31,
6062306a36Sopenharmony_ci	DA830_GPIO7_8,
6162306a36Sopenharmony_ci	DA830_GPIO7_9,
6262306a36Sopenharmony_ci	DA830_GPIO7_10,
6362306a36Sopenharmony_ci	DA830_GPIO7_11,
6462306a36Sopenharmony_ci	DA830_GPIO7_12,
6562306a36Sopenharmony_ci	DA830_GPIO7_13,
6662306a36Sopenharmony_ci	DA830_GPIO3_13,
6762306a36Sopenharmony_ci	DA830_EMB_D_30,
6862306a36Sopenharmony_ci	DA830_EMB_D_29,
6962306a36Sopenharmony_ci	DA830_EMB_D_28,
7062306a36Sopenharmony_ci	DA830_EMB_D_27,
7162306a36Sopenharmony_ci	DA830_EMB_D_26,
7262306a36Sopenharmony_ci	DA830_EMB_D_25,
7362306a36Sopenharmony_ci	DA830_EMB_D_24,
7462306a36Sopenharmony_ci	DA830_EMB_D_23,
7562306a36Sopenharmony_ci	DA830_EMB_D_22,
7662306a36Sopenharmony_ci	DA830_EMB_D_21,
7762306a36Sopenharmony_ci	DA830_EMB_D_20,
7862306a36Sopenharmony_ci	DA830_EMB_D_19,
7962306a36Sopenharmony_ci	DA830_EMB_D_18,
8062306a36Sopenharmony_ci	DA830_EMB_D_17,
8162306a36Sopenharmony_ci	DA830_EMB_D_16,
8262306a36Sopenharmony_ci	DA830_NEMB_WE_DQM_3,
8362306a36Sopenharmony_ci	DA830_NEMB_WE_DQM_2,
8462306a36Sopenharmony_ci	DA830_EMB_D_0,
8562306a36Sopenharmony_ci	DA830_EMB_D_1,
8662306a36Sopenharmony_ci	DA830_EMB_D_2,
8762306a36Sopenharmony_ci	DA830_EMB_D_3,
8862306a36Sopenharmony_ci	DA830_EMB_D_4,
8962306a36Sopenharmony_ci	DA830_EMB_D_5,
9062306a36Sopenharmony_ci	DA830_EMB_D_6,
9162306a36Sopenharmony_ci	DA830_GPIO6_0,
9262306a36Sopenharmony_ci	DA830_GPIO6_1,
9362306a36Sopenharmony_ci	DA830_GPIO6_2,
9462306a36Sopenharmony_ci	DA830_GPIO6_3,
9562306a36Sopenharmony_ci	DA830_GPIO6_4,
9662306a36Sopenharmony_ci	DA830_GPIO6_5,
9762306a36Sopenharmony_ci	DA830_GPIO6_6,
9862306a36Sopenharmony_ci	DA830_EMB_D_7,
9962306a36Sopenharmony_ci	DA830_EMB_D_8,
10062306a36Sopenharmony_ci	DA830_EMB_D_9,
10162306a36Sopenharmony_ci	DA830_EMB_D_10,
10262306a36Sopenharmony_ci	DA830_EMB_D_11,
10362306a36Sopenharmony_ci	DA830_EMB_D_12,
10462306a36Sopenharmony_ci	DA830_EMB_D_13,
10562306a36Sopenharmony_ci	DA830_EMB_D_14,
10662306a36Sopenharmony_ci	DA830_GPIO6_7,
10762306a36Sopenharmony_ci	DA830_GPIO6_8,
10862306a36Sopenharmony_ci	DA830_GPIO6_9,
10962306a36Sopenharmony_ci	DA830_GPIO6_10,
11062306a36Sopenharmony_ci	DA830_GPIO6_11,
11162306a36Sopenharmony_ci	DA830_GPIO6_12,
11262306a36Sopenharmony_ci	DA830_GPIO6_13,
11362306a36Sopenharmony_ci	DA830_GPIO6_14,
11462306a36Sopenharmony_ci	DA830_EMB_D_15,
11562306a36Sopenharmony_ci	DA830_NEMB_WE_DQM_1,
11662306a36Sopenharmony_ci	DA830_NEMB_WE_DQM_0,
11762306a36Sopenharmony_ci	DA830_SPI0_SOMI_0,
11862306a36Sopenharmony_ci	DA830_SPI0_SIMO_0,
11962306a36Sopenharmony_ci	DA830_SPI0_CLK,
12062306a36Sopenharmony_ci	DA830_NSPI0_ENA,
12162306a36Sopenharmony_ci	DA830_NSPI0_SCS_0,
12262306a36Sopenharmony_ci	DA830_EQEP0I,
12362306a36Sopenharmony_ci	DA830_EQEP0S,
12462306a36Sopenharmony_ci	DA830_EQEP1I,
12562306a36Sopenharmony_ci	DA830_NUART0_CTS,
12662306a36Sopenharmony_ci	DA830_NUART0_RTS,
12762306a36Sopenharmony_ci	DA830_EQEP0A,
12862306a36Sopenharmony_ci	DA830_EQEP0B,
12962306a36Sopenharmony_ci	DA830_GPIO6_15,
13062306a36Sopenharmony_ci	DA830_GPIO5_14,
13162306a36Sopenharmony_ci	DA830_GPIO5_15,
13262306a36Sopenharmony_ci	DA830_GPIO5_0,
13362306a36Sopenharmony_ci	DA830_GPIO5_1,
13462306a36Sopenharmony_ci	DA830_GPIO5_2,
13562306a36Sopenharmony_ci	DA830_GPIO5_3,
13662306a36Sopenharmony_ci	DA830_GPIO5_4,
13762306a36Sopenharmony_ci	DA830_SPI1_SOMI_0,
13862306a36Sopenharmony_ci	DA830_SPI1_SIMO_0,
13962306a36Sopenharmony_ci	DA830_SPI1_CLK,
14062306a36Sopenharmony_ci	DA830_UART0_RXD,
14162306a36Sopenharmony_ci	DA830_UART0_TXD,
14262306a36Sopenharmony_ci	DA830_AXR1_10,
14362306a36Sopenharmony_ci	DA830_AXR1_11,
14462306a36Sopenharmony_ci	DA830_NSPI1_ENA,
14562306a36Sopenharmony_ci	DA830_I2C1_SCL,
14662306a36Sopenharmony_ci	DA830_I2C1_SDA,
14762306a36Sopenharmony_ci	DA830_EQEP1S,
14862306a36Sopenharmony_ci	DA830_I2C0_SDA,
14962306a36Sopenharmony_ci	DA830_I2C0_SCL,
15062306a36Sopenharmony_ci	DA830_UART2_RXD,
15162306a36Sopenharmony_ci	DA830_TM64P0_IN12,
15262306a36Sopenharmony_ci	DA830_TM64P0_OUT12,
15362306a36Sopenharmony_ci	DA830_GPIO5_5,
15462306a36Sopenharmony_ci	DA830_GPIO5_6,
15562306a36Sopenharmony_ci	DA830_GPIO5_7,
15662306a36Sopenharmony_ci	DA830_GPIO5_8,
15762306a36Sopenharmony_ci	DA830_GPIO5_9,
15862306a36Sopenharmony_ci	DA830_GPIO5_10,
15962306a36Sopenharmony_ci	DA830_GPIO5_11,
16062306a36Sopenharmony_ci	DA830_GPIO5_12,
16162306a36Sopenharmony_ci	DA830_NSPI1_SCS_0,
16262306a36Sopenharmony_ci	DA830_USB0_DRVVBUS,
16362306a36Sopenharmony_ci	DA830_AHCLKX0,
16462306a36Sopenharmony_ci	DA830_ACLKX0,
16562306a36Sopenharmony_ci	DA830_AFSX0,
16662306a36Sopenharmony_ci	DA830_AHCLKR0,
16762306a36Sopenharmony_ci	DA830_ACLKR0,
16862306a36Sopenharmony_ci	DA830_AFSR0,
16962306a36Sopenharmony_ci	DA830_UART2_TXD,
17062306a36Sopenharmony_ci	DA830_AHCLKX2,
17162306a36Sopenharmony_ci	DA830_ECAP0_APWM0,
17262306a36Sopenharmony_ci	DA830_RMII_MHZ_50_CLK,
17362306a36Sopenharmony_ci	DA830_ECAP1_APWM1,
17462306a36Sopenharmony_ci	DA830_USB_REFCLKIN,
17562306a36Sopenharmony_ci	DA830_GPIO5_13,
17662306a36Sopenharmony_ci	DA830_GPIO4_15,
17762306a36Sopenharmony_ci	DA830_GPIO2_11,
17862306a36Sopenharmony_ci	DA830_GPIO2_12,
17962306a36Sopenharmony_ci	DA830_GPIO2_13,
18062306a36Sopenharmony_ci	DA830_GPIO2_14,
18162306a36Sopenharmony_ci	DA830_GPIO2_15,
18262306a36Sopenharmony_ci	DA830_GPIO3_12,
18362306a36Sopenharmony_ci	DA830_AMUTE0,
18462306a36Sopenharmony_ci	DA830_AXR0_0,
18562306a36Sopenharmony_ci	DA830_AXR0_1,
18662306a36Sopenharmony_ci	DA830_AXR0_2,
18762306a36Sopenharmony_ci	DA830_AXR0_3,
18862306a36Sopenharmony_ci	DA830_AXR0_4,
18962306a36Sopenharmony_ci	DA830_AXR0_5,
19062306a36Sopenharmony_ci	DA830_AXR0_6,
19162306a36Sopenharmony_ci	DA830_RMII_TXD_0,
19262306a36Sopenharmony_ci	DA830_RMII_TXD_1,
19362306a36Sopenharmony_ci	DA830_RMII_TXEN,
19462306a36Sopenharmony_ci	DA830_RMII_CRS_DV,
19562306a36Sopenharmony_ci	DA830_RMII_RXD_0,
19662306a36Sopenharmony_ci	DA830_RMII_RXD_1,
19762306a36Sopenharmony_ci	DA830_RMII_RXER,
19862306a36Sopenharmony_ci	DA830_AFSR2,
19962306a36Sopenharmony_ci	DA830_ACLKX2,
20062306a36Sopenharmony_ci	DA830_AXR2_3,
20162306a36Sopenharmony_ci	DA830_AXR2_2,
20262306a36Sopenharmony_ci	DA830_AXR2_1,
20362306a36Sopenharmony_ci	DA830_AFSX2,
20462306a36Sopenharmony_ci	DA830_ACLKR2,
20562306a36Sopenharmony_ci	DA830_NRESETOUT,
20662306a36Sopenharmony_ci	DA830_GPIO3_0,
20762306a36Sopenharmony_ci	DA830_GPIO3_1,
20862306a36Sopenharmony_ci	DA830_GPIO3_2,
20962306a36Sopenharmony_ci	DA830_GPIO3_3,
21062306a36Sopenharmony_ci	DA830_GPIO3_4,
21162306a36Sopenharmony_ci	DA830_GPIO3_5,
21262306a36Sopenharmony_ci	DA830_GPIO3_6,
21362306a36Sopenharmony_ci	DA830_AXR0_7,
21462306a36Sopenharmony_ci	DA830_AXR0_8,
21562306a36Sopenharmony_ci	DA830_UART1_RXD,
21662306a36Sopenharmony_ci	DA830_UART1_TXD,
21762306a36Sopenharmony_ci	DA830_AXR0_11,
21862306a36Sopenharmony_ci	DA830_AHCLKX1,
21962306a36Sopenharmony_ci	DA830_ACLKX1,
22062306a36Sopenharmony_ci	DA830_AFSX1,
22162306a36Sopenharmony_ci	DA830_MDIO_CLK,
22262306a36Sopenharmony_ci	DA830_MDIO_D,
22362306a36Sopenharmony_ci	DA830_AXR0_9,
22462306a36Sopenharmony_ci	DA830_AXR0_10,
22562306a36Sopenharmony_ci	DA830_EPWM0B,
22662306a36Sopenharmony_ci	DA830_EPWM0A,
22762306a36Sopenharmony_ci	DA830_EPWMSYNCI,
22862306a36Sopenharmony_ci	DA830_AXR2_0,
22962306a36Sopenharmony_ci	DA830_EPWMSYNC0,
23062306a36Sopenharmony_ci	DA830_GPIO3_7,
23162306a36Sopenharmony_ci	DA830_GPIO3_8,
23262306a36Sopenharmony_ci	DA830_GPIO3_9,
23362306a36Sopenharmony_ci	DA830_GPIO3_10,
23462306a36Sopenharmony_ci	DA830_GPIO3_11,
23562306a36Sopenharmony_ci	DA830_GPIO3_14,
23662306a36Sopenharmony_ci	DA830_GPIO3_15,
23762306a36Sopenharmony_ci	DA830_GPIO4_10,
23862306a36Sopenharmony_ci	DA830_AHCLKR1,
23962306a36Sopenharmony_ci	DA830_ACLKR1,
24062306a36Sopenharmony_ci	DA830_AFSR1,
24162306a36Sopenharmony_ci	DA830_AMUTE1,
24262306a36Sopenharmony_ci	DA830_AXR1_0,
24362306a36Sopenharmony_ci	DA830_AXR1_1,
24462306a36Sopenharmony_ci	DA830_AXR1_2,
24562306a36Sopenharmony_ci	DA830_AXR1_3,
24662306a36Sopenharmony_ci	DA830_ECAP2_APWM2,
24762306a36Sopenharmony_ci	DA830_EHRPWMGLUETZ,
24862306a36Sopenharmony_ci	DA830_EQEP1A,
24962306a36Sopenharmony_ci	DA830_GPIO4_11,
25062306a36Sopenharmony_ci	DA830_GPIO4_12,
25162306a36Sopenharmony_ci	DA830_GPIO4_13,
25262306a36Sopenharmony_ci	DA830_GPIO4_14,
25362306a36Sopenharmony_ci	DA830_GPIO4_0,
25462306a36Sopenharmony_ci	DA830_GPIO4_1,
25562306a36Sopenharmony_ci	DA830_GPIO4_2,
25662306a36Sopenharmony_ci	DA830_GPIO4_3,
25762306a36Sopenharmony_ci	DA830_AXR1_4,
25862306a36Sopenharmony_ci	DA830_AXR1_5,
25962306a36Sopenharmony_ci	DA830_AXR1_6,
26062306a36Sopenharmony_ci	DA830_AXR1_7,
26162306a36Sopenharmony_ci	DA830_AXR1_8,
26262306a36Sopenharmony_ci	DA830_AXR1_9,
26362306a36Sopenharmony_ci	DA830_EMA_D_0,
26462306a36Sopenharmony_ci	DA830_EMA_D_1,
26562306a36Sopenharmony_ci	DA830_EQEP1B,
26662306a36Sopenharmony_ci	DA830_EPWM2B,
26762306a36Sopenharmony_ci	DA830_EPWM2A,
26862306a36Sopenharmony_ci	DA830_EPWM1B,
26962306a36Sopenharmony_ci	DA830_EPWM1A,
27062306a36Sopenharmony_ci	DA830_MMCSD_DAT_0,
27162306a36Sopenharmony_ci	DA830_MMCSD_DAT_1,
27262306a36Sopenharmony_ci	DA830_UHPI_HD_0,
27362306a36Sopenharmony_ci	DA830_UHPI_HD_1,
27462306a36Sopenharmony_ci	DA830_GPIO4_4,
27562306a36Sopenharmony_ci	DA830_GPIO4_5,
27662306a36Sopenharmony_ci	DA830_GPIO4_6,
27762306a36Sopenharmony_ci	DA830_GPIO4_7,
27862306a36Sopenharmony_ci	DA830_GPIO4_8,
27962306a36Sopenharmony_ci	DA830_GPIO4_9,
28062306a36Sopenharmony_ci	DA830_GPIO0_0,
28162306a36Sopenharmony_ci	DA830_GPIO0_1,
28262306a36Sopenharmony_ci	DA830_EMA_D_2,
28362306a36Sopenharmony_ci	DA830_EMA_D_3,
28462306a36Sopenharmony_ci	DA830_EMA_D_4,
28562306a36Sopenharmony_ci	DA830_EMA_D_5,
28662306a36Sopenharmony_ci	DA830_EMA_D_6,
28762306a36Sopenharmony_ci	DA830_EMA_D_7,
28862306a36Sopenharmony_ci	DA830_EMA_D_8,
28962306a36Sopenharmony_ci	DA830_EMA_D_9,
29062306a36Sopenharmony_ci	DA830_MMCSD_DAT_2,
29162306a36Sopenharmony_ci	DA830_MMCSD_DAT_3,
29262306a36Sopenharmony_ci	DA830_MMCSD_DAT_4,
29362306a36Sopenharmony_ci	DA830_MMCSD_DAT_5,
29462306a36Sopenharmony_ci	DA830_MMCSD_DAT_6,
29562306a36Sopenharmony_ci	DA830_MMCSD_DAT_7,
29662306a36Sopenharmony_ci	DA830_UHPI_HD_8,
29762306a36Sopenharmony_ci	DA830_UHPI_HD_9,
29862306a36Sopenharmony_ci	DA830_UHPI_HD_2,
29962306a36Sopenharmony_ci	DA830_UHPI_HD_3,
30062306a36Sopenharmony_ci	DA830_UHPI_HD_4,
30162306a36Sopenharmony_ci	DA830_UHPI_HD_5,
30262306a36Sopenharmony_ci	DA830_UHPI_HD_6,
30362306a36Sopenharmony_ci	DA830_UHPI_HD_7,
30462306a36Sopenharmony_ci	DA830_LCD_D_8,
30562306a36Sopenharmony_ci	DA830_LCD_D_9,
30662306a36Sopenharmony_ci	DA830_GPIO0_2,
30762306a36Sopenharmony_ci	DA830_GPIO0_3,
30862306a36Sopenharmony_ci	DA830_GPIO0_4,
30962306a36Sopenharmony_ci	DA830_GPIO0_5,
31062306a36Sopenharmony_ci	DA830_GPIO0_6,
31162306a36Sopenharmony_ci	DA830_GPIO0_7,
31262306a36Sopenharmony_ci	DA830_GPIO0_8,
31362306a36Sopenharmony_ci	DA830_GPIO0_9,
31462306a36Sopenharmony_ci	DA830_EMA_D_10,
31562306a36Sopenharmony_ci	DA830_EMA_D_11,
31662306a36Sopenharmony_ci	DA830_EMA_D_12,
31762306a36Sopenharmony_ci	DA830_EMA_D_13,
31862306a36Sopenharmony_ci	DA830_EMA_D_14,
31962306a36Sopenharmony_ci	DA830_EMA_D_15,
32062306a36Sopenharmony_ci	DA830_EMA_A_0,
32162306a36Sopenharmony_ci	DA830_EMA_A_1,
32262306a36Sopenharmony_ci	DA830_UHPI_HD_10,
32362306a36Sopenharmony_ci	DA830_UHPI_HD_11,
32462306a36Sopenharmony_ci	DA830_UHPI_HD_12,
32562306a36Sopenharmony_ci	DA830_UHPI_HD_13,
32662306a36Sopenharmony_ci	DA830_UHPI_HD_14,
32762306a36Sopenharmony_ci	DA830_UHPI_HD_15,
32862306a36Sopenharmony_ci	DA830_LCD_D_7,
32962306a36Sopenharmony_ci	DA830_MMCSD_CLK,
33062306a36Sopenharmony_ci	DA830_LCD_D_10,
33162306a36Sopenharmony_ci	DA830_LCD_D_11,
33262306a36Sopenharmony_ci	DA830_LCD_D_12,
33362306a36Sopenharmony_ci	DA830_LCD_D_13,
33462306a36Sopenharmony_ci	DA830_LCD_D_14,
33562306a36Sopenharmony_ci	DA830_LCD_D_15,
33662306a36Sopenharmony_ci	DA830_UHPI_HCNTL0,
33762306a36Sopenharmony_ci	DA830_GPIO0_10,
33862306a36Sopenharmony_ci	DA830_GPIO0_11,
33962306a36Sopenharmony_ci	DA830_GPIO0_12,
34062306a36Sopenharmony_ci	DA830_GPIO0_13,
34162306a36Sopenharmony_ci	DA830_GPIO0_14,
34262306a36Sopenharmony_ci	DA830_GPIO0_15,
34362306a36Sopenharmony_ci	DA830_GPIO1_0,
34462306a36Sopenharmony_ci	DA830_GPIO1_1,
34562306a36Sopenharmony_ci	DA830_EMA_A_2,
34662306a36Sopenharmony_ci	DA830_EMA_A_3,
34762306a36Sopenharmony_ci	DA830_EMA_A_4,
34862306a36Sopenharmony_ci	DA830_EMA_A_5,
34962306a36Sopenharmony_ci	DA830_EMA_A_6,
35062306a36Sopenharmony_ci	DA830_EMA_A_7,
35162306a36Sopenharmony_ci	DA830_EMA_A_8,
35262306a36Sopenharmony_ci	DA830_EMA_A_9,
35362306a36Sopenharmony_ci	DA830_MMCSD_CMD,
35462306a36Sopenharmony_ci	DA830_LCD_D_6,
35562306a36Sopenharmony_ci	DA830_LCD_D_3,
35662306a36Sopenharmony_ci	DA830_LCD_D_2,
35762306a36Sopenharmony_ci	DA830_LCD_D_1,
35862306a36Sopenharmony_ci	DA830_LCD_D_0,
35962306a36Sopenharmony_ci	DA830_LCD_PCLK,
36062306a36Sopenharmony_ci	DA830_LCD_HSYNC,
36162306a36Sopenharmony_ci	DA830_UHPI_HCNTL1,
36262306a36Sopenharmony_ci	DA830_GPIO1_2,
36362306a36Sopenharmony_ci	DA830_GPIO1_3,
36462306a36Sopenharmony_ci	DA830_GPIO1_4,
36562306a36Sopenharmony_ci	DA830_GPIO1_5,
36662306a36Sopenharmony_ci	DA830_GPIO1_6,
36762306a36Sopenharmony_ci	DA830_GPIO1_7,
36862306a36Sopenharmony_ci	DA830_GPIO1_8,
36962306a36Sopenharmony_ci	DA830_GPIO1_9,
37062306a36Sopenharmony_ci	DA830_EMA_A_10,
37162306a36Sopenharmony_ci	DA830_EMA_A_11,
37262306a36Sopenharmony_ci	DA830_EMA_A_12,
37362306a36Sopenharmony_ci	DA830_EMA_BA_1,
37462306a36Sopenharmony_ci	DA830_EMA_BA_0,
37562306a36Sopenharmony_ci	DA830_EMA_CLK,
37662306a36Sopenharmony_ci	DA830_EMA_SDCKE,
37762306a36Sopenharmony_ci	DA830_NEMA_CAS,
37862306a36Sopenharmony_ci	DA830_LCD_VSYNC,
37962306a36Sopenharmony_ci	DA830_NLCD_AC_ENB_CS,
38062306a36Sopenharmony_ci	DA830_LCD_MCLK,
38162306a36Sopenharmony_ci	DA830_LCD_D_5,
38262306a36Sopenharmony_ci	DA830_LCD_D_4,
38362306a36Sopenharmony_ci	DA830_OBSCLK,
38462306a36Sopenharmony_ci	DA830_NEMA_CS_4,
38562306a36Sopenharmony_ci	DA830_UHPI_HHWIL,
38662306a36Sopenharmony_ci	DA830_AHCLKR2,
38762306a36Sopenharmony_ci	DA830_GPIO1_10,
38862306a36Sopenharmony_ci	DA830_GPIO1_11,
38962306a36Sopenharmony_ci	DA830_GPIO1_12,
39062306a36Sopenharmony_ci	DA830_GPIO1_13,
39162306a36Sopenharmony_ci	DA830_GPIO1_14,
39262306a36Sopenharmony_ci	DA830_GPIO1_15,
39362306a36Sopenharmony_ci	DA830_GPIO2_0,
39462306a36Sopenharmony_ci	DA830_GPIO2_1,
39562306a36Sopenharmony_ci	DA830_NEMA_RAS,
39662306a36Sopenharmony_ci	DA830_NEMA_WE,
39762306a36Sopenharmony_ci	DA830_NEMA_CS_0,
39862306a36Sopenharmony_ci	DA830_NEMA_CS_2,
39962306a36Sopenharmony_ci	DA830_NEMA_CS_3,
40062306a36Sopenharmony_ci	DA830_NEMA_OE,
40162306a36Sopenharmony_ci	DA830_NEMA_WE_DQM_1,
40262306a36Sopenharmony_ci	DA830_NEMA_WE_DQM_0,
40362306a36Sopenharmony_ci	DA830_NEMA_CS_5,
40462306a36Sopenharmony_ci	DA830_UHPI_HRNW,
40562306a36Sopenharmony_ci	DA830_NUHPI_HAS,
40662306a36Sopenharmony_ci	DA830_NUHPI_HCS,
40762306a36Sopenharmony_ci	DA830_NUHPI_HDS1,
40862306a36Sopenharmony_ci	DA830_NUHPI_HDS2,
40962306a36Sopenharmony_ci	DA830_NUHPI_HINT,
41062306a36Sopenharmony_ci	DA830_AXR0_12,
41162306a36Sopenharmony_ci	DA830_AMUTE2,
41262306a36Sopenharmony_ci	DA830_AXR0_13,
41362306a36Sopenharmony_ci	DA830_AXR0_14,
41462306a36Sopenharmony_ci	DA830_AXR0_15,
41562306a36Sopenharmony_ci	DA830_GPIO2_2,
41662306a36Sopenharmony_ci	DA830_GPIO2_3,
41762306a36Sopenharmony_ci	DA830_GPIO2_4,
41862306a36Sopenharmony_ci	DA830_GPIO2_5,
41962306a36Sopenharmony_ci	DA830_GPIO2_6,
42062306a36Sopenharmony_ci	DA830_GPIO2_7,
42162306a36Sopenharmony_ci	DA830_GPIO2_8,
42262306a36Sopenharmony_ci	DA830_GPIO2_9,
42362306a36Sopenharmony_ci	DA830_EMA_WAIT_0,
42462306a36Sopenharmony_ci	DA830_NUHPI_HRDY,
42562306a36Sopenharmony_ci	DA830_GPIO2_10,
42662306a36Sopenharmony_ci};
42762306a36Sopenharmony_ci
42862306a36Sopenharmony_cienum davinci_da850_index {
42962306a36Sopenharmony_ci	/* UART0 function */
43062306a36Sopenharmony_ci	DA850_NUART0_CTS,
43162306a36Sopenharmony_ci	DA850_NUART0_RTS,
43262306a36Sopenharmony_ci	DA850_UART0_RXD,
43362306a36Sopenharmony_ci	DA850_UART0_TXD,
43462306a36Sopenharmony_ci
43562306a36Sopenharmony_ci	/* UART1 function */
43662306a36Sopenharmony_ci	DA850_NUART1_CTS,
43762306a36Sopenharmony_ci	DA850_NUART1_RTS,
43862306a36Sopenharmony_ci	DA850_UART1_RXD,
43962306a36Sopenharmony_ci	DA850_UART1_TXD,
44062306a36Sopenharmony_ci
44162306a36Sopenharmony_ci	/* UART2 function */
44262306a36Sopenharmony_ci	DA850_NUART2_CTS,
44362306a36Sopenharmony_ci	DA850_NUART2_RTS,
44462306a36Sopenharmony_ci	DA850_UART2_RXD,
44562306a36Sopenharmony_ci	DA850_UART2_TXD,
44662306a36Sopenharmony_ci
44762306a36Sopenharmony_ci	/* I2C1 function */
44862306a36Sopenharmony_ci	DA850_I2C1_SCL,
44962306a36Sopenharmony_ci	DA850_I2C1_SDA,
45062306a36Sopenharmony_ci
45162306a36Sopenharmony_ci	/* I2C0 function */
45262306a36Sopenharmony_ci	DA850_I2C0_SDA,
45362306a36Sopenharmony_ci	DA850_I2C0_SCL,
45462306a36Sopenharmony_ci
45562306a36Sopenharmony_ci	/* EMAC function */
45662306a36Sopenharmony_ci	DA850_MII_TXEN,
45762306a36Sopenharmony_ci	DA850_MII_TXCLK,
45862306a36Sopenharmony_ci	DA850_MII_COL,
45962306a36Sopenharmony_ci	DA850_MII_TXD_3,
46062306a36Sopenharmony_ci	DA850_MII_TXD_2,
46162306a36Sopenharmony_ci	DA850_MII_TXD_1,
46262306a36Sopenharmony_ci	DA850_MII_TXD_0,
46362306a36Sopenharmony_ci	DA850_MII_RXER,
46462306a36Sopenharmony_ci	DA850_MII_CRS,
46562306a36Sopenharmony_ci	DA850_MII_RXCLK,
46662306a36Sopenharmony_ci	DA850_MII_RXDV,
46762306a36Sopenharmony_ci	DA850_MII_RXD_3,
46862306a36Sopenharmony_ci	DA850_MII_RXD_2,
46962306a36Sopenharmony_ci	DA850_MII_RXD_1,
47062306a36Sopenharmony_ci	DA850_MII_RXD_0,
47162306a36Sopenharmony_ci	DA850_MDIO_CLK,
47262306a36Sopenharmony_ci	DA850_MDIO_D,
47362306a36Sopenharmony_ci	DA850_RMII_TXD_0,
47462306a36Sopenharmony_ci	DA850_RMII_TXD_1,
47562306a36Sopenharmony_ci	DA850_RMII_TXEN,
47662306a36Sopenharmony_ci	DA850_RMII_CRS_DV,
47762306a36Sopenharmony_ci	DA850_RMII_RXD_0,
47862306a36Sopenharmony_ci	DA850_RMII_RXD_1,
47962306a36Sopenharmony_ci	DA850_RMII_RXER,
48062306a36Sopenharmony_ci	DA850_RMII_MHZ_50_CLK,
48162306a36Sopenharmony_ci
48262306a36Sopenharmony_ci	/* McASP function */
48362306a36Sopenharmony_ci	DA850_ACLKR,
48462306a36Sopenharmony_ci	DA850_ACLKX,
48562306a36Sopenharmony_ci	DA850_AFSR,
48662306a36Sopenharmony_ci	DA850_AFSX,
48762306a36Sopenharmony_ci	DA850_AHCLKR,
48862306a36Sopenharmony_ci	DA850_AHCLKX,
48962306a36Sopenharmony_ci	DA850_AMUTE,
49062306a36Sopenharmony_ci	DA850_AXR_15,
49162306a36Sopenharmony_ci	DA850_AXR_14,
49262306a36Sopenharmony_ci	DA850_AXR_13,
49362306a36Sopenharmony_ci	DA850_AXR_12,
49462306a36Sopenharmony_ci	DA850_AXR_11,
49562306a36Sopenharmony_ci	DA850_AXR_10,
49662306a36Sopenharmony_ci	DA850_AXR_9,
49762306a36Sopenharmony_ci	DA850_AXR_8,
49862306a36Sopenharmony_ci	DA850_AXR_7,
49962306a36Sopenharmony_ci	DA850_AXR_6,
50062306a36Sopenharmony_ci	DA850_AXR_5,
50162306a36Sopenharmony_ci	DA850_AXR_4,
50262306a36Sopenharmony_ci	DA850_AXR_3,
50362306a36Sopenharmony_ci	DA850_AXR_2,
50462306a36Sopenharmony_ci	DA850_AXR_1,
50562306a36Sopenharmony_ci	DA850_AXR_0,
50662306a36Sopenharmony_ci
50762306a36Sopenharmony_ci	/* LCD function */
50862306a36Sopenharmony_ci	DA850_LCD_D_7,
50962306a36Sopenharmony_ci	DA850_LCD_D_6,
51062306a36Sopenharmony_ci	DA850_LCD_D_5,
51162306a36Sopenharmony_ci	DA850_LCD_D_4,
51262306a36Sopenharmony_ci	DA850_LCD_D_3,
51362306a36Sopenharmony_ci	DA850_LCD_D_2,
51462306a36Sopenharmony_ci	DA850_LCD_D_1,
51562306a36Sopenharmony_ci	DA850_LCD_D_0,
51662306a36Sopenharmony_ci	DA850_LCD_D_15,
51762306a36Sopenharmony_ci	DA850_LCD_D_14,
51862306a36Sopenharmony_ci	DA850_LCD_D_13,
51962306a36Sopenharmony_ci	DA850_LCD_D_12,
52062306a36Sopenharmony_ci	DA850_LCD_D_11,
52162306a36Sopenharmony_ci	DA850_LCD_D_10,
52262306a36Sopenharmony_ci	DA850_LCD_D_9,
52362306a36Sopenharmony_ci	DA850_LCD_D_8,
52462306a36Sopenharmony_ci	DA850_LCD_PCLK,
52562306a36Sopenharmony_ci	DA850_LCD_HSYNC,
52662306a36Sopenharmony_ci	DA850_LCD_VSYNC,
52762306a36Sopenharmony_ci	DA850_NLCD_AC_ENB_CS,
52862306a36Sopenharmony_ci
52962306a36Sopenharmony_ci	/* MMC/SD0 function */
53062306a36Sopenharmony_ci	DA850_MMCSD0_DAT_0,
53162306a36Sopenharmony_ci	DA850_MMCSD0_DAT_1,
53262306a36Sopenharmony_ci	DA850_MMCSD0_DAT_2,
53362306a36Sopenharmony_ci	DA850_MMCSD0_DAT_3,
53462306a36Sopenharmony_ci	DA850_MMCSD0_CLK,
53562306a36Sopenharmony_ci	DA850_MMCSD0_CMD,
53662306a36Sopenharmony_ci
53762306a36Sopenharmony_ci	/* MMC/SD1 function */
53862306a36Sopenharmony_ci	DA850_MMCSD1_DAT_0,
53962306a36Sopenharmony_ci	DA850_MMCSD1_DAT_1,
54062306a36Sopenharmony_ci	DA850_MMCSD1_DAT_2,
54162306a36Sopenharmony_ci	DA850_MMCSD1_DAT_3,
54262306a36Sopenharmony_ci	DA850_MMCSD1_CLK,
54362306a36Sopenharmony_ci	DA850_MMCSD1_CMD,
54462306a36Sopenharmony_ci
54562306a36Sopenharmony_ci	/* EMIF2.5/EMIFA function */
54662306a36Sopenharmony_ci	DA850_EMA_D_7,
54762306a36Sopenharmony_ci	DA850_EMA_D_6,
54862306a36Sopenharmony_ci	DA850_EMA_D_5,
54962306a36Sopenharmony_ci	DA850_EMA_D_4,
55062306a36Sopenharmony_ci	DA850_EMA_D_3,
55162306a36Sopenharmony_ci	DA850_EMA_D_2,
55262306a36Sopenharmony_ci	DA850_EMA_D_1,
55362306a36Sopenharmony_ci	DA850_EMA_D_0,
55462306a36Sopenharmony_ci	DA850_EMA_A_1,
55562306a36Sopenharmony_ci	DA850_EMA_A_2,
55662306a36Sopenharmony_ci	DA850_NEMA_CS_3,
55762306a36Sopenharmony_ci	DA850_NEMA_CS_4,
55862306a36Sopenharmony_ci	DA850_NEMA_WE,
55962306a36Sopenharmony_ci	DA850_NEMA_OE,
56062306a36Sopenharmony_ci	DA850_EMA_D_15,
56162306a36Sopenharmony_ci	DA850_EMA_D_14,
56262306a36Sopenharmony_ci	DA850_EMA_D_13,
56362306a36Sopenharmony_ci	DA850_EMA_D_12,
56462306a36Sopenharmony_ci	DA850_EMA_D_11,
56562306a36Sopenharmony_ci	DA850_EMA_D_10,
56662306a36Sopenharmony_ci	DA850_EMA_D_9,
56762306a36Sopenharmony_ci	DA850_EMA_D_8,
56862306a36Sopenharmony_ci	DA850_EMA_A_0,
56962306a36Sopenharmony_ci	DA850_EMA_A_3,
57062306a36Sopenharmony_ci	DA850_EMA_A_4,
57162306a36Sopenharmony_ci	DA850_EMA_A_5,
57262306a36Sopenharmony_ci	DA850_EMA_A_6,
57362306a36Sopenharmony_ci	DA850_EMA_A_7,
57462306a36Sopenharmony_ci	DA850_EMA_A_8,
57562306a36Sopenharmony_ci	DA850_EMA_A_9,
57662306a36Sopenharmony_ci	DA850_EMA_A_10,
57762306a36Sopenharmony_ci	DA850_EMA_A_11,
57862306a36Sopenharmony_ci	DA850_EMA_A_12,
57962306a36Sopenharmony_ci	DA850_EMA_A_13,
58062306a36Sopenharmony_ci	DA850_EMA_A_14,
58162306a36Sopenharmony_ci	DA850_EMA_A_15,
58262306a36Sopenharmony_ci	DA850_EMA_A_16,
58362306a36Sopenharmony_ci	DA850_EMA_A_17,
58462306a36Sopenharmony_ci	DA850_EMA_A_18,
58562306a36Sopenharmony_ci	DA850_EMA_A_19,
58662306a36Sopenharmony_ci	DA850_EMA_A_20,
58762306a36Sopenharmony_ci	DA850_EMA_A_21,
58862306a36Sopenharmony_ci	DA850_EMA_A_22,
58962306a36Sopenharmony_ci	DA850_EMA_A_23,
59062306a36Sopenharmony_ci	DA850_EMA_BA_1,
59162306a36Sopenharmony_ci	DA850_EMA_CLK,
59262306a36Sopenharmony_ci	DA850_EMA_WAIT_1,
59362306a36Sopenharmony_ci	DA850_NEMA_CS_2,
59462306a36Sopenharmony_ci
59562306a36Sopenharmony_ci	/* GPIO function */
59662306a36Sopenharmony_ci	DA850_GPIO2_4,
59762306a36Sopenharmony_ci	DA850_GPIO2_6,
59862306a36Sopenharmony_ci	DA850_GPIO2_8,
59962306a36Sopenharmony_ci	DA850_GPIO2_15,
60062306a36Sopenharmony_ci	DA850_GPIO3_12,
60162306a36Sopenharmony_ci	DA850_GPIO3_13,
60262306a36Sopenharmony_ci	DA850_GPIO4_0,
60362306a36Sopenharmony_ci	DA850_GPIO4_1,
60462306a36Sopenharmony_ci	DA850_GPIO6_9,
60562306a36Sopenharmony_ci	DA850_GPIO6_10,
60662306a36Sopenharmony_ci	DA850_GPIO6_13,
60762306a36Sopenharmony_ci	DA850_RTC_ALARM,
60862306a36Sopenharmony_ci
60962306a36Sopenharmony_ci	/* VPIF Capture */
61062306a36Sopenharmony_ci	DA850_VPIF_DIN0,
61162306a36Sopenharmony_ci	DA850_VPIF_DIN1,
61262306a36Sopenharmony_ci	DA850_VPIF_DIN2,
61362306a36Sopenharmony_ci	DA850_VPIF_DIN3,
61462306a36Sopenharmony_ci	DA850_VPIF_DIN4,
61562306a36Sopenharmony_ci	DA850_VPIF_DIN5,
61662306a36Sopenharmony_ci	DA850_VPIF_DIN6,
61762306a36Sopenharmony_ci	DA850_VPIF_DIN7,
61862306a36Sopenharmony_ci	DA850_VPIF_DIN8,
61962306a36Sopenharmony_ci	DA850_VPIF_DIN9,
62062306a36Sopenharmony_ci	DA850_VPIF_DIN10,
62162306a36Sopenharmony_ci	DA850_VPIF_DIN11,
62262306a36Sopenharmony_ci	DA850_VPIF_DIN12,
62362306a36Sopenharmony_ci	DA850_VPIF_DIN13,
62462306a36Sopenharmony_ci	DA850_VPIF_DIN14,
62562306a36Sopenharmony_ci	DA850_VPIF_DIN15,
62662306a36Sopenharmony_ci	DA850_VPIF_CLKIN0,
62762306a36Sopenharmony_ci	DA850_VPIF_CLKIN1,
62862306a36Sopenharmony_ci	DA850_VPIF_CLKIN2,
62962306a36Sopenharmony_ci	DA850_VPIF_CLKIN3,
63062306a36Sopenharmony_ci
63162306a36Sopenharmony_ci	/* VPIF Display */
63262306a36Sopenharmony_ci	DA850_VPIF_DOUT0,
63362306a36Sopenharmony_ci	DA850_VPIF_DOUT1,
63462306a36Sopenharmony_ci	DA850_VPIF_DOUT2,
63562306a36Sopenharmony_ci	DA850_VPIF_DOUT3,
63662306a36Sopenharmony_ci	DA850_VPIF_DOUT4,
63762306a36Sopenharmony_ci	DA850_VPIF_DOUT5,
63862306a36Sopenharmony_ci	DA850_VPIF_DOUT6,
63962306a36Sopenharmony_ci	DA850_VPIF_DOUT7,
64062306a36Sopenharmony_ci	DA850_VPIF_DOUT8,
64162306a36Sopenharmony_ci	DA850_VPIF_DOUT9,
64262306a36Sopenharmony_ci	DA850_VPIF_DOUT10,
64362306a36Sopenharmony_ci	DA850_VPIF_DOUT11,
64462306a36Sopenharmony_ci	DA850_VPIF_DOUT12,
64562306a36Sopenharmony_ci	DA850_VPIF_DOUT13,
64662306a36Sopenharmony_ci	DA850_VPIF_DOUT14,
64762306a36Sopenharmony_ci	DA850_VPIF_DOUT15,
64862306a36Sopenharmony_ci	DA850_VPIF_CLKO2,
64962306a36Sopenharmony_ci	DA850_VPIF_CLKO3,
65062306a36Sopenharmony_ci};
65162306a36Sopenharmony_ci
65262306a36Sopenharmony_ci#define PINMUX(x)		(4 * (x))
65362306a36Sopenharmony_ci
65462306a36Sopenharmony_ci#ifdef CONFIG_DAVINCI_MUX
65562306a36Sopenharmony_ci/* setup pin muxing */
65662306a36Sopenharmony_ciextern int davinci_cfg_reg(unsigned long reg_cfg);
65762306a36Sopenharmony_ciextern int davinci_cfg_reg_list(const short pins[]);
65862306a36Sopenharmony_ci#else
65962306a36Sopenharmony_ci/* boot loader does it all (no warnings from CONFIG_DAVINCI_MUX_WARNINGS) */
66062306a36Sopenharmony_cistatic inline int davinci_cfg_reg(unsigned long reg_cfg) { return 0; }
66162306a36Sopenharmony_cistatic inline int davinci_cfg_reg_list(const short pins[])
66262306a36Sopenharmony_ci{
66362306a36Sopenharmony_ci	return 0;
66462306a36Sopenharmony_ci}
66562306a36Sopenharmony_ci#endif
66662306a36Sopenharmony_ci
66762306a36Sopenharmony_ci
66862306a36Sopenharmony_ci#define MUX_CFG(soc, desc, muxreg, mode_offset, mode_mask, mux_mode, dbg)\
66962306a36Sopenharmony_ci[soc##_##desc] = {							\
67062306a36Sopenharmony_ci			.name =  #desc,					\
67162306a36Sopenharmony_ci			.debug = dbg,					\
67262306a36Sopenharmony_ci			.mux_reg_name = "PINMUX"#muxreg,		\
67362306a36Sopenharmony_ci			.mux_reg = PINMUX(muxreg),			\
67462306a36Sopenharmony_ci			.mask_offset = mode_offset,			\
67562306a36Sopenharmony_ci			.mask = mode_mask,				\
67662306a36Sopenharmony_ci			.mode = mux_mode,				\
67762306a36Sopenharmony_ci		},
67862306a36Sopenharmony_ci
67962306a36Sopenharmony_ci#define INT_CFG(soc, desc, mode_offset, mode_mask, mux_mode, dbg)	\
68062306a36Sopenharmony_ci[soc##_##desc] = {							\
68162306a36Sopenharmony_ci			.name =  #desc,					\
68262306a36Sopenharmony_ci			.debug = dbg,					\
68362306a36Sopenharmony_ci			.mux_reg_name = "INTMUX",			\
68462306a36Sopenharmony_ci			.mux_reg = INTMUX,				\
68562306a36Sopenharmony_ci			.mask_offset = mode_offset,			\
68662306a36Sopenharmony_ci			.mask = mode_mask,				\
68762306a36Sopenharmony_ci			.mode = mux_mode,				\
68862306a36Sopenharmony_ci		},
68962306a36Sopenharmony_ci
69062306a36Sopenharmony_ci#define EVT_CFG(soc, desc, mode_offset, mode_mask, mux_mode, dbg)	\
69162306a36Sopenharmony_ci[soc##_##desc] = {							\
69262306a36Sopenharmony_ci			.name =  #desc,					\
69362306a36Sopenharmony_ci			.debug = dbg,					\
69462306a36Sopenharmony_ci			.mux_reg_name = "EVTMUX",			\
69562306a36Sopenharmony_ci			.mux_reg = EVTMUX,				\
69662306a36Sopenharmony_ci			.mask_offset = mode_offset,			\
69762306a36Sopenharmony_ci			.mask = mode_mask,				\
69862306a36Sopenharmony_ci			.mode = mux_mode,				\
69962306a36Sopenharmony_ci		},
70062306a36Sopenharmony_ci
70162306a36Sopenharmony_ci#endif /* _MACH_DAVINCI_MUX_H */
702