Home | History | Annotate | Download | only in mach-tegra

Lines Matching refs:pin

12 #define pmux_pingrp_isvalid(pin) (((pin) >= 0) && ((pin) < PMUX_PINGRP_COUNT))
95 #define REG(pin) _R(0x3000 + ((pin) * 4))
97 #define MUX_REG(pin) REG(pin)
98 #define MUX_SHIFT(pin) 0
100 #define PULL_REG(pin) REG(pin)
101 #define PULL_SHIFT(pin) 2
103 #define TRI_REG(pin) REG(pin)
104 #define TRI_SHIFT(pin) 4
157 void pinmux_set_func(enum pmux_pingrp pin, enum pmux_func func)
159 u32 *reg = MUX_REG(pin);
166 /* Error check on pin and func */
167 assert(pmux_pingrp_isvalid(pin));
175 if (tegra_soc_pingroups[pin].funcs[i] == func) {
184 val &= ~(3 << MUX_SHIFT(pin));
185 val |= (mux << MUX_SHIFT(pin));
189 void pinmux_set_pullupdown(enum pmux_pingrp pin, enum pmux_pull pupd)
191 u32 *reg = PULL_REG(pin);
194 /* Error check on pin and pupd */
195 assert(pmux_pingrp_isvalid(pin));
199 val &= ~(3 << PULL_SHIFT(pin));
200 val |= (pupd << PULL_SHIFT(pin));
204 static void pinmux_set_tristate(enum pmux_pingrp pin, int tri)
206 u32 *reg = TRI_REG(pin);
209 /* Error check on pin */
210 assert(pmux_pingrp_isvalid(pin));
215 val |= (1 << TRI_SHIFT(pin));
217 val &= ~(1 << TRI_SHIFT(pin));
221 void pinmux_tristate_enable(enum pmux_pingrp pin)
223 pinmux_set_tristate(pin, PMUX_TRI_TRISTATE);
226 void pinmux_tristate_disable(enum pmux_pingrp pin)
228 pinmux_set_tristate(pin, PMUX_TRI_NORMAL);
232 void pinmux_set_io(enum pmux_pingrp pin, enum pmux_pin_io io)
234 u32 *reg = REG(pin);
240 /* Error check on pin and io */
241 assert(pmux_pingrp_isvalid(pin));
254 static void pinmux_set_lock(enum pmux_pingrp pin, enum pmux_pin_lock lock)
256 u32 *reg = REG(pin);
262 /* Error check on pin and lock */
263 assert(pmux_pingrp_isvalid(pin));
281 static void pinmux_set_od(enum pmux_pingrp pin, enum pmux_pin_od od)
283 u32 *reg = REG(pin);
289 /* Error check on pin and od */
290 assert(pmux_pingrp_isvalid(pin));
305 static void pinmux_set_ioreset(enum pmux_pingrp pin,
308 u32 *reg = REG(pin);
314 /* Error check on pin and ioreset */
315 assert(pmux_pingrp_isvalid(pin));
330 static void pinmux_set_rcv_sel(enum pmux_pingrp pin,
333 u32 *reg = REG(pin);
339 /* Error check on pin and rcv_sel */
340 assert(pmux_pingrp_isvalid(pin));
355 static void pinmux_set_e_io_hv(enum pmux_pingrp pin,
358 u32 *reg = REG(pin);
364 /* Error check on pin and e_io_hv */
365 assert(pmux_pingrp_isvalid(pin));
380 static void pinmux_set_schmt(enum pmux_pingrp pin, enum pmux_schmt schmt)
390 assert(pmux_pingrp_isvalid(pin));
405 static void pinmux_set_hsm(enum pmux_pingrp pin, enum pmux_hsm hsm)
415 assert(pmux_pingrp_isvalid(pin));
431 enum pmux_pingrp pin = config->pingrp;
433 pinmux_set_func(pin, config->func);
434 pinmux_set_pullupdown(pin, config->pull);
435 pinmux_set_tristate(pin, config->tristate);
437 pinmux_set_io(pin, config->io);
440 pinmux_set_lock(pin, config->lock);
443 pinmux_set_od(pin, config->od);
446 pinmux_set_ioreset(pin, config->ioreset);
449 pinmux_set_rcv_sel(pin, config->rcv_sel);
452 pinmux_set_e_io_hv(pin, config->e_io_hv);
455 pinmux_set_schmt(pin, config->schmt);
458 pinmux_set_hsm(pin, config->hsm);