Lines Matching +full:pad +full:- +full:select
1 // SPDX-License-Identifier: GPL-2.0+
3 * Copyright 2004-2006,2010 Freescale Semiconductor, Inc. All Rights Reserved.
14 #include <asm/arch/imx-regs.h>
23 #error "Please select CONFIG_MX23 or CONFIG_MX28"
27 * configures a single pad in the iomuxer
29 int mxs_iomux_setup_pad(iomux_cfg_t pad) in mxs_iomux_setup_pad() argument
37 ofs += PAD_BANK(pad) * 0x20 + PAD_PIN(pad) / 16 * 0x10; in mxs_iomux_setup_pad()
38 bp = PAD_PIN(pad) % 16 * 2; in mxs_iomux_setup_pad()
42 reg |= PAD_MUXSEL(pad) << bp; in mxs_iomux_setup_pad()
47 ofs += PAD_BANK(pad) * 0x40 + PAD_PIN(pad) / 8 * 0x10; in mxs_iomux_setup_pad()
49 if (PAD_MA_VALID(pad)) { in mxs_iomux_setup_pad()
50 bp = PAD_PIN(pad) % 8 * 4; in mxs_iomux_setup_pad()
54 reg |= PAD_MA(pad) << bp; in mxs_iomux_setup_pad()
58 if (PAD_VOL_VALID(pad)) { in mxs_iomux_setup_pad()
59 bp = PAD_PIN(pad) % 8 * 4 + 2; in mxs_iomux_setup_pad()
61 if (PAD_VOL(pad)) in mxs_iomux_setup_pad()
62 writel(1 << bp, &mxs_reg->reg_set); in mxs_iomux_setup_pad()
64 writel(1 << bp, &mxs_reg->reg_clr); in mxs_iomux_setup_pad()
68 if (PAD_PULL_VALID(pad)) { in mxs_iomux_setup_pad()
70 ofs += PAD_BANK(pad) * 0x10; in mxs_iomux_setup_pad()
71 bp = PAD_PIN(pad); in mxs_iomux_setup_pad()
73 if (PAD_PULL(pad)) in mxs_iomux_setup_pad()
74 writel(1 << bp, &mxs_reg->reg_set); in mxs_iomux_setup_pad()
76 writel(1 << bp, &mxs_reg->reg_clr); in mxs_iomux_setup_pad()