root/arch/arm/common/sharpsl_param.c

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

DEFINITIONS

This source file includes following definitions.
  1. sharpsl_save_param

   1 // SPDX-License-Identifier: GPL-2.0-only
   2 /*
   3  * Hardware parameter area specific to Sharp SL series devices
   4  *
   5  * Copyright (c) 2005 Richard Purdie
   6  *
   7  * Based on Sharp's 2.4 kernel patches
   8  */
   9 
  10 #include <linux/kernel.h>
  11 #include <linux/module.h>
  12 #include <linux/string.h>
  13 #include <asm/mach/sharpsl_param.h>
  14 #include <asm/memory.h>
  15 
  16 /*
  17  * Certain hardware parameters determined at the time of device manufacture,
  18  * typically including LCD parameters are loaded by the bootloader at the
  19  * address PARAM_BASE. As the kernel will overwrite them, we need to store
  20  * them early in the boot process, then pass them to the appropriate drivers.
  21  * Not all devices use all parameters but the format is common to all.
  22  */
  23 #ifdef CONFIG_ARCH_SA1100
  24 #define PARAM_BASE      0xe8ffc000
  25 #define param_start(x)  (void *)(x)
  26 #else
  27 #define PARAM_BASE      0xa0000a00
  28 #define param_start(x)  __va(x)
  29 #endif
  30 #define MAGIC_CHG(a,b,c,d) ( ( d << 24 ) | ( c << 16 )  | ( b << 8 ) | a )
  31 
  32 #define COMADJ_MAGIC    MAGIC_CHG('C','M','A','D')
  33 #define UUID_MAGIC      MAGIC_CHG('U','U','I','D')
  34 #define TOUCH_MAGIC     MAGIC_CHG('T','U','C','H')
  35 #define AD_MAGIC        MAGIC_CHG('B','V','A','D')
  36 #define PHAD_MAGIC      MAGIC_CHG('P','H','A','D')
  37 
  38 struct sharpsl_param_info sharpsl_param;
  39 EXPORT_SYMBOL(sharpsl_param);
  40 
  41 void sharpsl_save_param(void)
  42 {
  43         memcpy(&sharpsl_param, param_start(PARAM_BASE), sizeof(struct sharpsl_param_info));
  44 
  45         if (sharpsl_param.comadj_keyword != COMADJ_MAGIC)
  46                 sharpsl_param.comadj=-1;
  47 
  48         if (sharpsl_param.phad_keyword != PHAD_MAGIC)
  49                 sharpsl_param.phadadj=-1;
  50 
  51         if (sharpsl_param.uuid_keyword != UUID_MAGIC)
  52                 sharpsl_param.uuid[0]=-1;
  53 
  54         if (sharpsl_param.touch_keyword != TOUCH_MAGIC)
  55                 sharpsl_param.touch_xp=-1;
  56 
  57         if (sharpsl_param.adadj_keyword != AD_MAGIC)
  58                 sharpsl_param.adadj=-1;
  59 }
  60 
  61 

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