aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/mediatek/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* treewide: use wpad-basic for not small flash targetsMathias Kresin2018-10-161-1/+1
| | | | | | | | | | | | Add out of the box support for 802.11r and 802.11w to all targets not suffering from small flash. Signed-off-by: Mathias Kresin <dev@kresin.me> Mathias did all the heavy lifting on this, but I'm the one who should get shouted at for committing. Signed-off-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>
* mediatek: add mt7622 subtargetJohn Crispin2018-05-241-1/+1
| | | | Signed-off-by: John Crispin <john@phrozen.org>
* mediatek: backport upstream mediatek patchesJohn Crispin2018-05-241-3/+1
| | | | Signed-off-by: John Crispin <john@phrozen.org>
* mediatek: disable ubifsFelix Fietkau2018-04-201-1/+1
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mediatek: enable ramdisk support by defaultFelix Fietkau2018-04-171-1/+1
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mediatek: fix target FPU settingsFelix Fietkau2018-04-171-1/+1
| | | | | | | | | | This reverts commit 5555545494c876adedf4f0038db49c1d85527e78. The target supports both NEON and VFPv4, but for this to work properly, a few more changes are needed: - enable NEON support in the kernel config - add the fpu feature flag to the makefile Signed-off-by: Felix Fietkau <nbd@nbd.name>
* mediatek: bump to v4.14John Crispin2018-02-141-1/+1
| | | | | | | This drops support for all the !emmc EVB and adds banannaPi-R2 Also drop mtkhnat until the nftables offoad driver is ready Signed-off-by: John Crispin <john@phrozen.org>
* Revert "mediatek: activate fpu feature flag"John Crispin2018-02-121-1/+1
| | | | | | | | This reverts commit 3594447a7d0398c55ea78f658b52b7d8084ae9f9. This causes the userland to not come up properly Signed-off-by: John Crispin <john@phrozen.org>
* mediatek: activate fpu feature flagHauke Mehrtens2018-02-111-1/+1
| | | | | | | | | | | The arm CPUs uses in the supported Mediatket SoCs have a FPU accordingly to the datasheet, activate it also. The CPU subtype "neon-vfpv4" is selected, but the toolcahin generated for this SoC will still be compiled with soft float and not with the hard float ABI as we haven't the fpu feature flag set. If this toolchain is reused by other targets this will even affect other targets. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* mediatek: move mt7623 support into a 32bit subtargetJohn Crispin2017-08-011-2/+1
| | | | | | this is in preparation for adding the new 64bit mt7622 support. Signed-off-by: John Crispin <john@phrozen.org>
* mediatek: various fixes for v4.9John Crispin2017-04-071-1/+1
| | | | | | | | | | | | | | | * adds MT7530 DSA support * backport latest ethernet driver * add PMIC leds * add auxadc support * add efuse support * add thermal sensor support * add irq affinity support for ethernet still todo * DSA multi cpu support Signed-off-by: John Crispin <john@phrozen.org>
* mediatek: bump to v4.9John Crispin2017-02-161-1/+1
| | | | Signed-off-by: John Crispin <john@phrozen.org>
* mediatek: enable support for vfpv4 and neonChristian Lamparter2016-12-201-0/+1
| | | | | | | | | | | | | | | | | | | While researching for the armvirt target, I looked at the existing arm platforms. It turns out that the mediatek target with its sole MT7623N/A chip is sold as a "highly integrated multimedia network router system-on-chip". To that end, it lists support for the "NEON multimedia processing engine with SIMDv2 / VFPv4 ISA support". <http://topics.mediatek.com/en/products/connectivity/wifi/home-network/wifi-ap/mt7623na/> So this patch enables the CPU_SUBTYPE to use this information. This should have the nice side effect that LEDE's phase2 builders no longer need to built a separate "cortex-a7" target, so this should free up some resources. Cc: John Crispin <john@phrozen.org> Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* medaitek: convert the NAND target to UBIJohn Crispin2016-06-171-1/+1
| | | | Signed-off-by: John Crispin <john@phrozen.org>
* mediatek/ralink: fix boardnamesJohn Crispin2016-06-141-1/+1
| | | | Signed-off-by: John Crispin <john@phrozen.org>
* mediatek: update patchesJohn Crispin2016-05-231-1/+1
| | | | | | | * fixes NAND * adds latest ethernet patches Signed-off-by: John Crispin <john@phrozen.org>
* global: change my email addressJohn Crispin2016-05-121-1/+1
| | | | Signed-off-by: John Crispin <john@phrozen.org>
* mediatek: bump to v4.4John Crispin2016-03-211-2/+3
| | | | | | Signed-off-by: John Crispin <blogic@openwrt.org> SVN-Revision: 49064
* mediatek: add support for the new MT7623 Arm SoCJohn Crispin2015-11-021-0/+20
the support is still WIP. next steps are to make the pmic and ethernet work. this is the first commit to make sure nothing gets lost. Signed-off-by: John Crispin <blogic@openwrt.org> SVN-Revision: 47354
> } /* * Check if coreboot last image size is 0 or not a multiple of 1k or * bigger than the chip or if the pointers to vendor ID or mainboard ID * are outside the image of if the start of ID strings are nonsensical * (nonprintable and not \0). */ mb_part_offset = *(walk - 1); mb_vendor_offset = *(walk - 2); if ((*walk) == 0 || ((*walk) & 0x3ff) != 0 || (*walk) > size || mb_part_offset > size || mb_vendor_offset > size) { printf("Flash image seems to be a legacy BIOS. Disabling checks.\n"); return 0; } mb_part = (char *)(bios + size - mb_part_offset); mb_vendor = (char *)(bios + size - mb_vendor_offset); if (!isprint((unsigned char)*mb_part) || !isprint((unsigned char)*mb_vendor)) { printf("Flash image seems to have garbage in the ID location." " Disabling checks.\n"); return 0; } printf_debug("coreboot last image size " "(not ROM size) is %d bytes.\n", *walk); mainboard_part = strdup(mb_part); mainboard_vendor = strdup(mb_vendor); printf_debug("Manufacturer: %s\n", mainboard_vendor); printf_debug("Mainboard ID: %s\n", mainboard_part); /* * If lb_vendor is not set, the coreboot table was * not found. Nor was -m VENDOR:PART specified. */ if (!lb_vendor || !lb_part) { printf("Note: If the following flash access fails, " "try -m <vendor>:<mainboard>.\n"); return 0; } /* These comparisons are case insensitive to make things * a little less user^Werror prone. */ if (!strcasecmp(mainboard_vendor, lb_vendor) && !strcasecmp(mainboard_part, lb_part)) { printf_debug("This firmware image matches " "this motherboard.\n"); } else { if (force) { printf("WARNING: This firmware image does not " "seem to fit to this machine - forcing it.\n"); } else { printf("ERROR: Your firmware image (%s:%s) does not " "appear to\n be correct for the detected " "mainboard (%s:%s)\n\nOverride with --force if you " "are absolutely sure that you\nare using a correct " "image for this mainboard or override\nthe detected " "values with --mainboard <vendor>:<mainboard>.\n\n", mainboard_vendor, mainboard_part, lb_vendor, lb_part); exit(1); } } return 0; } int read_romlayout(char *name) { FILE *romlayout; char tempstr[256]; int i; romlayout = fopen(name, "r"); if (!romlayout) { fprintf(stderr, "ERROR: Could not open ROM layout (%s).\n", name); return -1; } while (!feof(romlayout)) { char *tstr1, *tstr2; if (2 != fscanf(romlayout, "%s %s\n", tempstr, rom_entries[romimages].name)) continue; #if 0 // fscanf does not like arbitrary comments like that :( later if (tempstr[0] == '#') { continue; } #endif tstr1 = strtok(tempstr, ":"); tstr2 = strtok(NULL, ":"); if (!tstr1 || !tstr2) { fprintf(stderr, "Error parsing layout file.\n"); fclose(romlayout); return 1; } rom_entries[romimages].start = strtol(tstr1, (char **)NULL, 16); rom_entries[romimages].end = strtol(tstr2, (char **)NULL, 16); rom_entries[romimages].included = 0; romimages++; } for (i = 0; i < romimages; i++) { printf_debug("romlayout %08x - %08x named %s\n", rom_entries[i].start, rom_entries[i].end, rom_entries[i].name); } fclose(romlayout); return 0; } int find_romentry(char *name) { int i; if (!romimages) return -1; printf("Looking for \"%s\"... ", name); for (i = 0; i < romimages; i++) { if (!strcmp(rom_entries[i].name, name)) { rom_entries[i].included = 1; printf("found.\n"); return i; } } printf("not found.\n"); // Not found. Error. return -1; } int handle_romentries(uint8_t *buffer, uint8_t *content) { int i; // This function does not safe flash write cycles. // // Also it does not cope with overlapping rom layout // sections. // example: // 00000000:00008fff gfxrom // 00009000:0003ffff normal // 00040000:0007ffff fallback // 00000000:0007ffff all // // If you'd specify -i all the included flag of all other // sections is still 0, so no changes will be made to the // flash. Same thing if you specify -i normal -i all only // normal will be updated and the rest will be kept. for (i = 0; i < romimages; i++) { if (rom_entries[i].included) continue; memcpy(buffer + rom_entries[i].start, content + rom_entries[i].start, rom_entries[i].end - rom_entries[i].start); } return 0; }