aboutsummaryrefslogtreecommitdiff
path: root/target/linux/generic/files/drivers/platform
Commit message (Collapse)AuthorAge
* generic: routerboot sysfs: soft_config support for ath79 cpufreqThibaut VARÈNE2020-05-28
| | | | | | | | | | | | This commit introduces support for R/W access to the CPU frequency setting of routerboot on ath79 hardware. On unsupported hardware, the sysfs attribute will expose the raw tag value (read-only) to help with reverse engineering its meaning. Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com> Tested-by: Roger Pueyo Centelles <roger.pueyo@guifi.net> Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
* generic: routerboot sysfs: move tag_show_u32()Thibaut VARÈNE2020-05-28
| | | | | | | | This routine will be shared between hard and soft config drivers. Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com> Tested-by: Roger Pueyo Centelles <roger.pueyo@guifi.net> Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
* generic: routerboot sysfs: add support for soft_configThibaut VARÈNE2020-05-28
| | | | | | | | | | | | | | | | | | | This driver exposes the data encoded in the "soft_config" flash segment of MikroTik RouterBOARDs devices. It presents the data in a sysfs folder named "soft_config" through a set of human-and-machine-parseable attributes. Changes can be discarded by writing 0 to the 'commit' attribute, or they can be committed to flash storage by writing 1. This driver does not reuse any of the existing code previously found in the "rbcfg" utility and makes this utility obsolete by providing a clean sysfs interface. Like "rbcfg", this driver requires 4K_SECTORS support since the flash partition in which these parameters are stored is typically 4KB in size. Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com> Tested-by: Roger Pueyo Centelles <roger.pueyo@guifi.net> Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
* generic: routerboot sysfs: move tag_show_string()Thibaut VARÈNE2020-05-28
| | | | | | | | | This routine will be shared between hard and soft config drivers. Also use scnprintf() instead of snprintf(). Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com> Tested-by: Roger Pueyo Centelles <roger.pueyo@guifi.net> Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
* generic: platform/mikrotik: rb_hardconfig.c minor fixesThibaut VARÈNE2020-05-28
| | | | | | | | | | | | | For the sake of strictly typed code, add a missing const qualifier. Add a missing return value in error path. Check the return value of mtd_read(), for good measure. Also demote the error printks of failed sysfs file creation to warn level since they are not fatal in the init() sequence. Finally, add a note regarding PAGE_SIZE and clarify a comment. Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com> Tested-by: Roger Pueyo Centelles <roger.pueyo@guifi.net> Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
* generic: platform/mikrotik: reorder KconfigThibaut VARÈNE2020-05-28
| | | | | | | | | The depends and select should apply to the sysfs driver, not the meta config. Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com> Tested-by: Roger Pueyo Centelles <roger.pueyo@guifi.net> Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
* generic: platform/mikrotik: disambiguate SPDX-License-IdentifierThibaut VARÈNE2020-05-20
| | | | | | I meant it to be GPL-2.0-only, as evidenced by the boilerplate. Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
* generic: platform/mikrotik: fix LZOR supportThibaut VARÈNE2020-05-16
| | | | | | | | | | | | 31e99fe3da which introduced this code was unfortunately untested. This commit fixes a number of issues and works around the fact that in this particular scheme, the LZO payload may be padded at the end which will trigger a harmless lzo decompression error. This commit also disambiguates the debug printks. Tested-by: Robert Marko <robimarko@gmail.com> Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org> Fixes: 31e99fe3da ("generic: platform/mikrotik: support LZOR encoding")
* generic: add MikroTik hw bit descriptionKoen Vandeputte2020-05-11
| | | | | | | | | An e-mail response from MikroTik contained a minimal overview on hardware option bits which mentioned a currently unknown bit. While not being too detailed what it does, add it for documentation purposes. Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* generic: platform/mikrotik: support LZOR encodingThibaut VARÈNE2020-05-08
| | | | | | | | Some newer MikroTik RouterBOARD devices use a new encoding scheme for their WLAN calibration data. This patch provides support for decoding this new scheme. Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>
* generic: routerboot sysfs platform driverThibaut VARÈNE2020-05-08
This driver exposes the data encoded in the "hard_config" flash segment of MikroTik RouterBOARDs devices. It presents the data in a sysfs folder named "hard_config". The WLAN calibration data is available on demand via the 'wlan_data' sysfs file in that folder. This driver permanently allocates a chunk of RAM as large as the "hard_config" MTD partition (typically 4KB), although it is technically possible to operate entirely from the MTD device without using a local buffer (except when requesting WLAN calibration data), at the cost of a performance penalty. This driver does not reuse any of the existing code previously found in routerboot.c. This driver has been successfully tested on BE (ath79) and LE (ipq40xx and ramips) hardware. Tested-by: Roger Pueyo Centelles <roger.pueyo@guifi.net> Tested-by: Baptiste Jonglez <git@bitsofnetworks.org> Tested-by: Tobias Schramm <t.schramm@manjaro.org> Tested-by: Christopher Hill <ch6574@gmail.com> Signed-off-by: Thibaut VARÈNE <hacks@slashdirt.org>