Exemplo n.º 1
0
/*
 * PM8917 adds 6 LDOs and a boost regulator beyond those available on PM8921.
 * It also replaces SMPS 3 with FTSMPS 3.  PM8917 does not have an NCP.
 */
static struct pm8xxx_vreg pm8917_regulator_data[] = {
	/*   name	     pc_name	    ctrl   test   hpm_min */
	PLDO("8917_l30",     "8917_l30_pc", 0x0A3, 0x0A4, LDO_150),
	PLDO("8917_l31",     "8917_l31_pc", 0x0A5, 0x0A6, LDO_150),
	PLDO("8917_l32",     "8917_l32_pc", 0x0A7, 0x0A8, LDO_150),
	PLDO("8917_l33",     "8917_l33_pc", 0x0C6, 0x0C7, LDO_150),
	PLDO("8917_l34",     "8917_l34_pc", 0x0D2, 0x0D3, LDO_150),
	PLDO("8917_l35",     "8917_l35_pc", 0x0D4, 0x0D5, LDO_300),
	PLDO("8917_l36",     "8917_l36_pc", 0x0A9, 0x0AA, LDO_50),

	/*    name          ctrl */
	BOOST("8917_boost", 0x04B),
};

#define MAX_NAME_COMPARISON_LEN 32

static int __devinit match_regulator(enum pm8xxx_version version,
	struct pm8xxx_regulator_core_platform_data *core_data, const char *name)
{
	int found = 0;
	int i;

	for (i = 0; i < ARRAY_SIZE(regulator_data); i++) {
		if (regulator_data[i].rdesc.name
		    && strncmp(regulator_data[i].rdesc.name, name,
				MAX_NAME_COMPARISON_LEN) == 0) {
			core_data->is_pin_controlled = false;
Exemplo n.º 2
0
int
main(int argc, char **argv)
{
    int i;
    int fudge;
    ColorMap cmap;
    ColorMap *cp = &cmap;
    FBIO *fbp;

    if (! pars_Argv(argc, argv)) {
	usage();
	return 1;
    }

    if ((fbp = fb_open(framebuffer, scr_width, scr_height)) == NULL)
	return 1;

    switch (flavor) {

	case 0 : /* Standard - Linear color map */
	    (void) fprintf(stderr, "Color map #0, linear (standard).\n");
	    cp = (ColorMap *) NULL;
	    break;

	case 1 : /* Reverse linear color map */
	    (void) fprintf(stderr, "Color map #1, reverse-linear (negative).\n");
	    for (i = 0; i < 256; i++) {
		cp->cm_red[255-i] =
		    cp->cm_green[255-i] =
		    cp->cm_blue[255-i] = i << 8;
	    }
	    break;

	case 2 :
	    /* Experimental correction, for POLAROID 8x10 print film */
	    (void) fprintf(stderr,
			   "Color map #2, corrected for POLAROID 809/891 film.\n");
	    /* First entry black */
#define BOOST(point, bias) \
	((int)((bias)+((float)(point)/256.*(255-(bias)))))
	    for (i = 1; i < 256; i++) {
		fudge = BOOST(i, 70);
		cp->cm_red[i] = fudge << 8;		/* B */
	    }
	    for (i = 1; i < 256; i++) {
		fudge = i;
		cp->cm_green[i] = fudge << 8;	/* G */
	    }
	    for (i = 1; i < 256; i++) {
		fudge = BOOST(i, 30);
		cp->cm_blue[i] = fudge << 8;	/* R */
	    }
	    break;

	case 3 : /* Standard, with low intensities set to black */
	    (void) fprintf(stderr, "Color map #3, low 100 entries black.\n");
	    for (i = 100; i < 256; i++) {
		cp->cm_red[i] =
		    cp->cm_green[i] =
		    cp->cm_blue[i] = i << 8;
	    }
	    break;

	case 4 : /* Amplify middle of the range, for Moss's dim pictures */
#define UPSHIFT 64
	    (void) fprintf(stderr,
			   "Color map #4, amplify middle range to boost dim pictures.\n");
	    /* First entry black */
	    for (i = 1; i< 256-UPSHIFT; i++) {
		int j = i + UPSHIFT;
		cp->cm_red[i] =
		    cp->cm_green[i] =
		    cp->cm_blue[i] = j << 8;
	    }
	    for (i = 256-UPSHIFT; i < 256; i++) {
		cp->cm_red[i] =
		    cp->cm_green[i] =
		    cp->cm_blue[i] = 255 << 8;	/* Full Scale */
	    }
	    break;

	case 5 : /* University of Utah's color map */
	    (void) fprintf(stderr,
			   "Color map #5, University of Utah's gamma correcting map.\n");
	    for (i = 0; i < 256; i++)
		cp->cm_red[i] =
		    cp->cm_green[i] =
		    cp->cm_blue[i] = utah_cmap[i] << 8;
	    break;

	case 6 :	/* Delta's */
	    (void) fprintf(stderr, "Color map #6, color deltas.\n");
	    /* white at zero */
	    cp->cm_red[0] = 65535;
	    cp->cm_green[0] = 65535;
	    cp->cm_blue[0] = 65535;
	    /* magenta at 32 */
	    cp->cm_red[32] = 65535;
	    cp->cm_blue[32] = 65535;
	    /* Red at 64 */
	    cp->cm_red[32*2] = 65535;
	    /* Yellow ... */
	    cp->cm_red[32*3] = 65535;
	    cp->cm_green[32*3] = 65535;
	    /* Green */
	    cp->cm_green[32*4] = 65535;
	    /* Cyan */
	    cp->cm_green[32*5] = 65535;
	    cp->cm_blue[32*5] = 65535;
	    /* Blue */
	    cp->cm_blue[32*6] = 65535;
	    break;

	case 8:
	    (void) fprintf(stderr, "Color map #8, Ikcmap 8.\n");
	    for (i = 0; i < 256; i++) {
		cp->cm_red[i] = utah8[3*i] << 8;
		cp->cm_green[i] = utah8[3*i+1] << 8;
		cp->cm_blue[i] = utah8[3*i+2] << 8;
	    }
	    break;

	case 9:
	    (void) fprintf(stderr, "Color map #9, Ikcmap 9.\n");
	    for (i = 0; i < 256; i++) {
		cp->cm_red[i] = utah9[3*i] << 8;
		cp->cm_green[i] = utah9[3*i+1] << 8;
		cp->cm_blue[i] = utah9[3*i+2] << 8;
	    }
	    break;

	case 10:	/* Black */
	    (void) fprintf(stderr, "Color map #10, solid black.\n");
	    break;

	case 11:	/* White */
	    (void) fprintf(stderr, "Color map #11, solid white.\n");
	    for (i = 0; i < 256; i++) {
		cp->cm_red[i] =
		    cp->cm_green[i] =
		    cp->cm_blue[i] = 255 << 8;
	    }
	    break;

	case 12:	/* 18% Grey */
	    (void) fprintf(stderr, "Color map #12, 18%% neutral grey.\n");
	    for (i = 0; i < 256; i++) {
		cp->cm_red[i] =
		    cp->cm_green[i] =
		    cp->cm_blue[i] = 46 << 8;
	    }
	    break;

	default:
	    (void) fprintf(stderr,
			   "Color map #%d, flavor not implemented!\n",
			   flavor);
	    usage();
	    return 1;
    }
    fb_wmap(fbp, cp);
    return fb_close(fbp);
}