arm64: dts: imx8mp: Add pinctrl config definitions

Currently to configure each IOMUXC_SW_PAD_CTL_PAD the raw value of this
register is written in the dts, these values are not obvious. Add defines
which describe the fields of this register which can be or-ed together to
produce readable settings.

Reviewed-by: Frank Li <Frank.Li@nxp.com>
Acked-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Maud Spierings <maudspierings@gocontroll.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
pull/1279/head
Maud Spierings 2025-05-20 08:34:51 +02:00 committed by Shawn Guo
parent 40567fa4ef
commit 31ff106017
1 changed files with 33 additions and 0 deletions

View File

@ -6,6 +6,39 @@
#ifndef __DTS_IMX8MP_PINFUNC_H
#define __DTS_IMX8MP_PINFUNC_H
/* Drive Strength */
#define MX8MP_DSE_X1 0x0
#define MX8MP_DSE_X2 0x4
#define MX8MP_DSE_X4 0x2
#define MX8MP_DSE_X6 0x6
/* Slew Rate */
#define MX8MP_FSEL_FAST 0x10
#define MX8MP_FSEL_SLOW 0x0
/* Open Drain */
#define MX8MP_ODE_ENABLE 0x20
#define MX8MP_ODE_DISABLE 0x0
#define MX8MP_PULL_DOWN 0x0
#define MX8MP_PULL_UP 0x40
/* Hysteresis */
#define MX8MP_HYS_CMOS 0x0
#define MX8MP_HYS_SCHMITT 0x80
#define MX8MP_PULL_ENABLE 0x100
#define MX8MP_PULL_DISABLE 0x0
/* SION force input mode */
#define MX8MP_SION 0x40000000
/* long defaults */
#define MX8MP_USDHC_DATA_DEFAULT (MX8MP_FSEL_FAST | MX8MP_PULL_UP | \
MX8MP_HYS_SCHMITT | MX8MP_PULL_ENABLE)
#define MX8MP_I2C_DEFAULT (MX8MP_DSE_X6 | MX8MP_PULL_UP | MX8MP_HYS_SCHMITT | \
MX8MP_PULL_ENABLE | MX8MP_SION)
/*
* The pin function ID is a tuple of
* <mux_reg conf_reg input_reg mux_mode input_val>