static inline int _gpio_setup_bank_bit(cmd_t *op) { switch (op->bank) { case 'a': //bank a op->bank = GPIOA_bank_bit0_27(0); if (op->bit < 28) { //bit0..27 op->bit = GPIOA_bit_bit0_27(op->bit); } else { return -1; } break; case 'b': //bank b op->bank = GPIOB_bank_bit0_23(0); if (op->bit < 24) { //bit0..23 op->bit = GPIOB_bit_bit0_23(op->bit); } else { return -1; } break; case 'c': //bank c op->bank = GPIOC_bank_bit0_15(0); if (op->bit < 16) { //bit0..15 op->bit = GPIOC_bit_bit0_15(op->bit); } else { return -1; } break; case 'd': //bank d op->bank = GPIOD_bank_bit0_9(0); if (op->bit < 10) { //bit0..9 op->bit = GPIOD_bit_bit0_9(op->bit); } else { return -1; } break; case 'x': //bank x if (op->bit < 32) { //bit0..31 ,bit no change . op->bank = GPIOX_bank_bit0_31(0); //bit 0..15 16..21 share one bank } else if (op->bit <36) { //bit 32..35 op->bank = GPIOX_bank_bit32_35(0); op->bit = GPIOX_bit_bit32_35(op->bit); } else { return -1; } break; case 'y': //bank y if (op->bit < 23) { //bit0..22 ,bit no change . op->bank = GPIOY_bank_bit0_22(0); //bit 0..15 16..21 share one bank } else { return -1; } break; case 'o': //bank ao if (op->bit < 12) { //bit0..11 ,bit no change . op->bank = GPIOAO_bank_bit0_11(0); //bit 0..11 op->bit = GPIOAO_bit_bit0_11(op->bit); } else { return -1; } break; /* FIXME AO/BOOT/CARD GPIO can not controle todo */ default: printk("GPIO, invalid selection.\n"); return -1; } return 0; }
.name = "frontend0_demod_addr" }, [2] = { .start = (GPIOD_bank_bit0_9(8)<<16)|GPIOD_bit_bit0_9(8), //reset pin .end = (GPIOD_bank_bit0_9(8)<<16)|GPIOD_bit_bit0_9(8), .flags = IORESOURCE_MEM, .name = "frontend0_reset_pin" }, [3] = { .start = 0, //reset enable value .end = 0, .flags = IORESOURCE_MEM, .name = "frontend0_reset_value_enable" }, [4] = { .start = (GPIOB_bank_bit0_23(23)<<16)|GPIOB_bit_bit0_23(23), //DVBS2 LNBON/OFF pin .end = (GPIOB_bank_bit0_23(23)<<16)|GPIOB_bit_bit0_23(23), .flags = IORESOURCE_MEM, .name = "frontend0_LNBON/OFF" }, [5] = { .start = 0xc0, //is avl6211 .end = 0xc0, .flags = IORESOURCE_MEM, .name = "frontend0_tuner_addr" }, [6] = { .start = (GPIOB_bank_bit0_23(21)<<16)|GPIOB_bit_bit0_23(21), //is avl6211 .end = (GPIOB_bank_bit0_23(21)<<16)|GPIOB_bit_bit0_23(21), .flags = IORESOURCE_MEM, .name = "frontend0_POWERON/OFF"