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