• Bryan O'Donoghue's avatar
    imx: imx_io_mux: Define an IO-mux layer · 965bda4d
    Bryan O'Donoghue authored
    
    
    This patch defines:
    
    - The full range of IO-mux register offsets relative to the base address of
      the IO-mux block base address.
    
    - The bits for muxing the UART1 TX/RX lines.
    
    - The bits for muxing the UART6 TX/RX lines.
    
    - The pad control pad bits for the UART
    
    Two functions are provided to configure pad muxes:
    
    - void io_muxc_set_pad_alt_function(pad_mux_offset, alt_function)
      Takes a pad_mux_offset and sets the alt_function bit-mask supplied.
      This will have the effect of switching the pad into one of its defined
      peripheral functions. These peripheral function modes are defined in the
      NXP documentation and need to be referred to in order to correctly
      configure a new alternative-function.
    
    - void io_muxc_set_pad_features(pad_feature_offset, pad_features)
      Takes a pad_feature_offset and applies a pad_features bit-mask to the
      indicated pad.
      This function allows the setting of PAD drive-strength, pull-up values,
      hysteresis glitch filters and slew-rate settings.
    Signed-off-by: default avatarBryan O'Donoghue <bryan.odonoghue@linaro.org>
    965bda4d
imx_io_mux.c 582 Bytes