root/arch/arm/mach-pxa/pxa2xx.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. pxa2xx_clear_reset_status
  2. pxa2xx_transceiver_mode

   1 // SPDX-License-Identifier: GPL-2.0-only
   2 /*
   3  * linux/arch/arm/mach-pxa/pxa2xx.c
   4  *
   5  * code specific to pxa2xx
   6  *
   7  * Copyright (C) 2008 Dmitry Baryshkov
   8  */
   9 
  10 #include <linux/module.h>
  11 #include <linux/kernel.h>
  12 #include <linux/device.h>
  13 #include <linux/io.h>
  14 
  15 #include <mach/hardware.h>
  16 #include <mach/pxa2xx-regs.h>
  17 #include "mfp-pxa25x.h"
  18 #include <mach/reset.h>
  19 #include <linux/platform_data/irda-pxaficp.h>
  20 
  21 void pxa2xx_clear_reset_status(unsigned int mask)
  22 {
  23         /* RESET_STATUS_* has a 1:1 mapping with RCSR */
  24         RCSR = mask;
  25 }
  26 
  27 static unsigned long pxa2xx_mfp_fir[] = {
  28         GPIO46_FICP_RXD,
  29         GPIO47_FICP_TXD,
  30 };
  31 
  32 static unsigned long pxa2xx_mfp_sir[] = {
  33         GPIO46_STUART_RXD,
  34         GPIO47_STUART_TXD,
  35 };
  36 
  37 static unsigned long pxa2xx_mfp_off[] = {
  38         GPIO46_GPIO | MFP_LPM_DRIVE_LOW,
  39         GPIO47_GPIO | MFP_LPM_DRIVE_LOW,
  40 };
  41 
  42 void pxa2xx_transceiver_mode(struct device *dev, int mode)
  43 {
  44         if (mode & IR_OFF) {
  45                 pxa2xx_mfp_config(pxa2xx_mfp_off, ARRAY_SIZE(pxa2xx_mfp_off));
  46         } else if (mode & IR_SIRMODE) {
  47                 pxa2xx_mfp_config(pxa2xx_mfp_sir, ARRAY_SIZE(pxa2xx_mfp_sir));
  48         } else if (mode & IR_FIRMODE) {
  49                 pxa2xx_mfp_config(pxa2xx_mfp_fir, ARRAY_SIZE(pxa2xx_mfp_fir));
  50         } else
  51                 BUG();
  52 }
  53 EXPORT_SYMBOL_GPL(pxa2xx_transceiver_mode);

/* [<][>][^][v][top][bottom][index][help] */