require '_h2ph_pre.ph';

no warnings 'redefine';

unless(defined(&_SDMMC_IOREG_H)) {
    eval 'sub _SDMMC_IOREG_H () {1;}' unless defined(&_SDMMC_IOREG_H);
    eval 'sub SD_IO_SEND_OP_COND () {5;}' unless defined(&SD_IO_SEND_OP_COND);
    eval 'sub SD_IO_RW_DIRECT () {52;}' unless defined(&SD_IO_RW_DIRECT);
    eval 'sub SD_IO_RW_EXTENDED () {53;}' unless defined(&SD_IO_RW_EXTENDED);
    eval 'sub SD_ARG_CMD52_READ () {(0<<31);}' unless defined(&SD_ARG_CMD52_READ);
    eval 'sub SD_ARG_CMD52_WRITE () {(1<<31);}' unless defined(&SD_ARG_CMD52_WRITE);
    eval 'sub SD_ARG_CMD52_FUNC_SHIFT () {28;}' unless defined(&SD_ARG_CMD52_FUNC_SHIFT);
    eval 'sub SD_ARG_CMD52_FUNC_MASK () {0x7;}' unless defined(&SD_ARG_CMD52_FUNC_MASK);
    eval 'sub SD_ARG_CMD52_EXCHANGE () {(1<<27);}' unless defined(&SD_ARG_CMD52_EXCHANGE);
    eval 'sub SD_ARG_CMD52_REG_SHIFT () {9;}' unless defined(&SD_ARG_CMD52_REG_SHIFT);
    eval 'sub SD_ARG_CMD52_REG_MASK () {0x1ffff;}' unless defined(&SD_ARG_CMD52_REG_MASK);
    eval 'sub SD_ARG_CMD52_DATA_SHIFT () {0;}' unless defined(&SD_ARG_CMD52_DATA_SHIFT);
    eval 'sub SD_ARG_CMD52_DATA_MASK () {0xff;}' unless defined(&SD_ARG_CMD52_DATA_MASK);
    eval 'sub SD_R5_DATA {
        my($resp) = @_;
	    eval q((($resp)[0] & 0xff));
    }' unless defined(&SD_R5_DATA);
    eval 'sub SD_ARG_CMD53_READ () {(0<<31);}' unless defined(&SD_ARG_CMD53_READ);
    eval 'sub SD_ARG_CMD53_WRITE () {(1<<31);}' unless defined(&SD_ARG_CMD53_WRITE);
    eval 'sub SD_ARG_CMD53_FUNC_SHIFT () {28;}' unless defined(&SD_ARG_CMD53_FUNC_SHIFT);
    eval 'sub SD_ARG_CMD53_FUNC_MASK () {0x7;}' unless defined(&SD_ARG_CMD53_FUNC_MASK);
    eval 'sub SD_ARG_CMD53_BLOCK_MODE () {(1<<27);}' unless defined(&SD_ARG_CMD53_BLOCK_MODE);
    eval 'sub SD_ARG_CMD53_INCREMENT () {(1<<26);}' unless defined(&SD_ARG_CMD53_INCREMENT);
    eval 'sub SD_ARG_CMD53_REG_SHIFT () {9;}' unless defined(&SD_ARG_CMD53_REG_SHIFT);
    eval 'sub SD_ARG_CMD53_REG_MASK () {0x1ffff;}' unless defined(&SD_ARG_CMD53_REG_MASK);
    eval 'sub SD_ARG_CMD53_LENGTH_SHIFT () {0;}' unless defined(&SD_ARG_CMD53_LENGTH_SHIFT);
    eval 'sub SD_ARG_CMD53_LENGTH_MASK () {0x1ff;}' unless defined(&SD_ARG_CMD53_LENGTH_MASK);
    eval 'sub MMC_R4 {
        my($resp) = @_;
	    eval q((($resp)[0]));
    }' unless defined(&MMC_R4);
    eval 'sub MMC_R5 {
        my($resp) = @_;
	    eval q((($resp)[0]));
    }' unless defined(&MMC_R5);
    eval 'sub SD_IO_OCR_MEM_READY () {(1<<31);}' unless defined(&SD_IO_OCR_MEM_READY);
    eval 'sub SD_IO_OCR_NUM_FUNCTIONS {
        my($ocr) = @_;
	    eval q(((($ocr) >> 28) & 0x3));
    }' unless defined(&SD_IO_OCR_NUM_FUNCTIONS);
    eval 'sub SD_IO_OCR_MEM_PRESENT () {(0xf<<24);}' unless defined(&SD_IO_OCR_MEM_PRESENT);
    eval 'sub SD_IO_OCR_MASK () {0xfffff0;}' unless defined(&SD_IO_OCR_MASK);
    eval 'sub SD_IO_CCCR_START () {0x;}' unless defined(&SD_IO_CCCR_START);
    eval 'sub SD_IO_CCCR_SIZE () {0x100;}' unless defined(&SD_IO_CCCR_SIZE);
    eval 'sub SD_IO_CCCR_FN_ENABLE () {0x2;}' unless defined(&SD_IO_CCCR_FN_ENABLE);
    eval 'sub SD_IO_CCCR_CTL () {0x6;}' unless defined(&SD_IO_CCCR_CTL);
    eval 'sub CCCR_CTL_RES () {(1<<3);}' unless defined(&CCCR_CTL_RES);
    eval 'sub SD_IO_CCCR_BUS_WIDTH () {0x7;}' unless defined(&SD_IO_CCCR_BUS_WIDTH);
    eval 'sub CCCR_BUS_WIDTH_4 () {(1<<1);}' unless defined(&CCCR_BUS_WIDTH_4);
    eval 'sub CCCR_BUS_WIDTH_1 () {(1<<0);}' unless defined(&CCCR_BUS_WIDTH_1);
    eval 'sub SD_IO_CCCR_CISPTR () {0x9;}' unless defined(&SD_IO_CCCR_CISPTR);
    eval 'sub SD_IO_FBR_START () {0x100;}' unless defined(&SD_IO_FBR_START);
    eval 'sub SD_IO_FBR_SIZE () {0x700;}' unless defined(&SD_IO_FBR_SIZE);
    eval 'sub SD_IO_CIS_START () {0x1000;}' unless defined(&SD_IO_CIS_START);
    eval 'sub SD_IO_CIS_SIZE () {0x17000;}' unless defined(&SD_IO_CIS_SIZE);
    eval 'sub SD_IO_CISTPL_VERS_1 () {0x15;}' unless defined(&SD_IO_CISTPL_VERS_1);
    eval 'sub SD_IO_CISTPL_MANFID () {0x20;}' unless defined(&SD_IO_CISTPL_MANFID);
    eval 'sub SD_IO_CISTPL_FUNCID () {0x21;}' unless defined(&SD_IO_CISTPL_FUNCID);
    eval 'sub SD_IO_CISTPL_FUNCE () {0x22;}' unless defined(&SD_IO_CISTPL_FUNCE);
    eval 'sub SDMMC_FUNCTION_WLAN () {0xc;}' unless defined(&SDMMC_FUNCTION_WLAN);
}
1;
