|
| 1 | + |
| 2 | +// REF: https://wiki.odroid.com/odroid_go/odroid_go |
| 3 | + |
| 4 | +// Target definition |
| 5 | +#define RG_TARGET_NAME "brutzelboy" |
| 6 | + |
| 7 | +// Storage |
| 8 | +#define RG_STORAGE_ROOT "/sd" |
| 9 | +#define RG_STORAGE_SDSPI_HOST SPI3_HOST |
| 10 | +#define RG_STORAGE_SDSPI_SPEED SDMMC_FREQ_DEFAULT |
| 11 | +// #define RG_STORAGE_SDMMC_HOST SDMMC_HOST_SLOT_1 |
| 12 | +// #define RG_STORAGE_SDMMC_SPEED SDMMC_FREQ_DEFAULT |
| 13 | +// #define RG_STORAGE_FLASH_PARTITION "vfs" |
| 14 | + |
| 15 | +// Audio |
| 16 | +#define RG_AUDIO_USE_INT_DAC 0 // 0 = Disable, 1 = GPIO25, 2 = GPIO26, 3 = Both |
| 17 | +#define RG_AUDIO_USE_EXT_DAC 1 // 0 = Disable, 1 = Enable |
| 18 | + |
| 19 | +// Video |
| 20 | +#define RG_SCREEN_DRIVER 0 // 0 = ILI9341 |
| 21 | +#define RG_SCREEN_HOST SPI2_HOST |
| 22 | +#define RG_SCREEN_SPEED SPI_MASTER_FREQ_40M // SPI_MASTER_FREQ_80M |
| 23 | +#define RG_SCREEN_BACKLIGHT 1 |
| 24 | +#define RG_SCREEN_WIDTH 320 |
| 25 | +#define RG_SCREEN_HEIGHT 240 |
| 26 | +#define RG_SCREEN_ROTATE 0 |
| 27 | +#define RG_SCREEN_MARGIN_TOP 0 |
| 28 | +#define RG_SCREEN_MARGIN_BOTTOM 0 |
| 29 | +#define RG_SCREEN_MARGIN_LEFT 0 |
| 30 | +#define RG_SCREEN_MARGIN_RIGHT 36 |
| 31 | +#define RG_SCREEN_INIT() \ |
| 32 | + ILI9341_CMD(0xCF, 0x00, 0xc3, 0x30); \ |
| 33 | + ILI9341_CMD(0xED, 0x64, 0x03, 0x12, 0x81); \ |
| 34 | + ILI9341_CMD(0xE8, 0x85, 0x00, 0x78); \ |
| 35 | + ILI9341_CMD(0xCB, 0x39, 0x2c, 0x00, 0x34, 0x02); \ |
| 36 | + ILI9341_CMD(0xF7, 0x20); \ |
| 37 | + ILI9341_CMD(0xEA, 0x00, 0x00); \ |
| 38 | + ILI9341_CMD(0xC0, 0x1B); /* Power control //VRH[5:0] */ \ |
| 39 | + ILI9341_CMD(0xC1, 0x12); /* Power control //SAP[2:0];BT[3:0] */ \ |
| 40 | + ILI9341_CMD(0xC5, 0x32, 0x3C); /* VCM control */ \ |
| 41 | + ILI9341_CMD(0xC7, 0x91); /* VCM control2 */ \ |
| 42 | + ILI9341_CMD(0x36, (0x20 | 0x80 | 0x08)); /* Memory Access Control thebrutzler hat ((0x60|0x08)^0xC0))*/ \ |
| 43 | + ILI9341_CMD(0xB1, 0x00, 0x10); /* Frame Rate Control (1B=70, 1F=61, 10=119) */ \ |
| 44 | + ILI9341_CMD(0xB6, 0x0A, 0xA2); /* Display Function Control */ \ |
| 45 | + ILI9341_CMD(0xF6, 0x01, 0x30); \ |
| 46 | + ILI9341_CMD(0xF2, 0x00); /* 3Gamma Function Disable */ \ |
| 47 | + ILI9341_CMD(0x26, 0x01); /* Gamma curve selected */ \ |
| 48 | + ILI9341_CMD(0xE0, 0x0F, 0x31, 0x2B, 0x0C, 0x0E, 0x08, 0x4E, 0xF1, 0x37, 0x07, 0x10, 0x03, 0x0E, 0x09, 0x00); \ |
| 49 | + ILI9341_CMD(0xE1, 0x00, 0x0E, 0x14, 0x03, 0x11, 0x07, 0x31, 0xC1, 0x48, 0x08, 0x0F, 0x0C, 0x31, 0x36, 0x0F); |
| 50 | + |
| 51 | + |
| 52 | +// Input |
| 53 | +#define RG_GAMEPAD_ADC_FILTER_WINDOW 150 // this is a filter value, to be sure, the adc is in stable situation (not falling or rizing) |
| 54 | +#define RG_GAMEPAD_ADC_MAP {\ |
| 55 | + {RG_KEY_UP, ADC_UNIT_1, ADC_CHANNEL_6, ADC_ATTEN_DB_11, 2000, 4096},\ |
| 56 | + {RG_KEY_RIGHT, ADC_UNIT_1, ADC_CHANNEL_5, ADC_ATTEN_DB_11, 1500, 1900},\ |
| 57 | + {RG_KEY_DOWN, ADC_UNIT_1, ADC_CHANNEL_6, ADC_ATTEN_DB_11, 1500, 1900},\ |
| 58 | + {RG_KEY_LEFT, ADC_UNIT_1, ADC_CHANNEL_5, ADC_ATTEN_DB_11, 2000, 4096},\ |
| 59 | +} |
| 60 | + |
| 61 | +#define RG_GAMEPAD_GPIO_MAP {\ |
| 62 | + {RG_KEY_SELECT, GPIO_NUM_16, GPIO_PULLUP_ONLY, 0},\ |
| 63 | + {RG_KEY_START, GPIO_NUM_17, GPIO_PULLUP_ONLY, 0},\ |
| 64 | + {RG_KEY_MENU, GPIO_NUM_18, GPIO_PULLUP_ONLY, 0},\ |
| 65 | + {RG_KEY_OPTION, GPIO_NUM_8, GPIO_PULLUP_ONLY, 0},\ |
| 66 | + {RG_KEY_A, GPIO_NUM_15, GPIO_PULLUP_ONLY, 0},\ |
| 67 | + {RG_KEY_B, GPIO_NUM_5, GPIO_PULLUP_ONLY, 0},\ |
| 68 | +} |
| 69 | + |
| 70 | +// Battery |
| 71 | +#define RG_BATTERY_DRIVER 1 |
| 72 | +#define RG_BATTERY_ADC_UNIT ADC_UNIT_1 |
| 73 | +#define RG_BATTERY_ADC_CHANNEL ADC1_CHANNEL_3 |
| 74 | +#define RG_BATTERY_CALC_PERCENT(raw) (((raw) * 2.7f - 2000.f) / (2700.f - 2000.f) * 100.f) |
| 75 | +#define RG_BATTERY_CALC_VOLTAGE(raw) ((raw) * 2.7f * 0.001f) |
| 76 | + |
| 77 | +// Status LED |
| 78 | +#define RG_GPIO_LED GPIO_NUM_38 |
| 79 | + |
| 80 | +// SPI Display (back up working) |
| 81 | +#define RG_GPIO_LCD_MISO GPIO_NUM_NC |
| 82 | +#define RG_GPIO_LCD_MOSI GPIO_NUM_12 |
| 83 | +#define RG_GPIO_LCD_CLK GPIO_NUM_48 |
| 84 | +#define RG_GPIO_LCD_CS GPIO_NUM_NC |
| 85 | +#define RG_GPIO_LCD_DC GPIO_NUM_47 |
| 86 | +#define RG_GPIO_LCD_BCKL GPIO_NUM_39 |
| 87 | +#define RG_GPIO_LCD_RST GPIO_NUM_3 |
| 88 | + |
| 89 | +#define RG_GPIO_SDSPI_MISO GPIO_NUM_9 |
| 90 | +#define RG_GPIO_SDSPI_MOSI GPIO_NUM_11 |
| 91 | +#define RG_GPIO_SDSPI_CLK GPIO_NUM_13 |
| 92 | +#define RG_GPIO_SDSPI_CS GPIO_NUM_10 |
| 93 | + |
| 94 | +// External I2S DAC |
| 95 | +#define RG_GPIO_SND_I2S_BCK 41 |
| 96 | +#define RG_GPIO_SND_I2S_WS 42 |
| 97 | +#define RG_GPIO_SND_I2S_DATA 40 |
| 98 | +// #define RG_GPIO_SND_AMP_ENABLE 18 |
0 commit comments