aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ath79/dts/qca9531_glinet_gl-ar300m.dtsi
Commit message (Collapse)AuthorAgeFilesLines
* ath79: allow use GPIO17 as regular gpio on GL-AR300M devicesPtilopsis Leucotis2022-06-071-3/+3
| | | | | | | | | Small update to my previous path 'fix I2C on GL-AR300M devices'. This update allow using GPIO17 as regular GPIO in case it not used as I2C SDA line. Signed-off-by: Ptilopsis Leucotis <PtilopsisLeucotis@yandex.com> (cherry picked from commit 493080815d2ba6e3b7740dbd45c44310935aeebc)
* ath79: fix I2C on GL-AR300M devicesPtilopsis Leucotis2022-05-151-0/+9
| | | | | | | | | | | | On GL-AR300M Series GPIO17 described as I2C SDA in Device Tree. Because of GPIO_OUT_FUNCTION4 register was not initialized on start, GPIO17 was uncontrollable, it always in high state. According to QCA9531 documentation, default setting of GPIO17 is SYS_RST_L. In order to make GPIO17 controllable, it should write value 0x00 on bits [15:8] of GPIO_OUT_FUNCTION4 register, located at 0x1804003C address. Signed-off-by: Ptilopsis Leucotis <PtilopsisLeucotis@yandex.com> (cherry picked from commit 57efdd6a2d815d2491c5b7f22ffaeb6a845bfd0a)
* ath79: add USB power control for GL-AR300M seriesPtilopsisLeucotis2022-05-011-0/+11
| | | | | | | | | | | Add USB power control in DTS for GL.iNet models: - AR300M; - AR300M-Ext; - AR300M16; - AR300M16-Ext. Signed-off-by: PtilopsisLeucotis <PtilopsisLeucotis@yandex.com> (cherry picked from commit 6e9c814022e41a7cfa4db3b1a41e257fd1515bea)
* ath79: convert mtd-mac-address to nvmem implementationAnsuel Smith2021-07-191-2/+14
| | | | | | | Define nvmem-cells and convert mtd-mac-address to nvmem implementation. The conversion is done with an automated script. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* treewide: convert mtd-mac-address-increment* to generic implementationAnsuel Smith2021-07-191-1/+1
| | | | | | | | | | | | | Rework patch 681-NET-add-mtd-mac-address-support to implement only the function to read the mac-address from mtd. Generalize mtd-mac-address-increment function so it can be applied to any source of of_get_mac_address. Rename any mtd-mac-address-increment to mac-address-increment. Rename any mtd-mac-address-increment-byte to mac-address-increment-byte. This should make simplify the conversion of target to nvmem implementation. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* ath79: enable UART in SoC DTSI filesAdrian Schmutzler2021-02-241-4/+0
| | | | | | | | | | | | | | | The uart node is enabled on all devices except one (GL-USB150 *). Thus, let's not have a few hundred nodes to enable it, but do not disable it in the first place. Where the majority of devices is using it, also move the serial0 alias to the DTSI. *) Since GL-USB150 even defines serial0 alias, the missing uart is probably just a mistake. Anyway, disable it for now so this patch stays cosmetic. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: drop num-cs for SPI controllerAdrian Schmutzler2020-12-041-2/+0
| | | | | | | | None of the spi drivers on ath79 uses the num-cs property. Cc: Chuanhong Guo <gch981213@gmail.com> Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Acked-by: Chuanhong Guo <gch981213@gmail.com>
* ath79: remove model name from LED labelsAdrian Schmutzler2020-10-021-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, we request LED labels in OpenWrt to follow the scheme modelname:color:function However, specifying the modelname at the beginning is actually entirely useless for the devices we support in OpenWrt. On the contrary, having this part actually introduces inconvenience in several aspects: - We need to ensure/check consistency with the DTS compatible - We have various exceptions where not the model name is used, but the vendor name (like tp-link), which is hard to track and justify even for core-developers - Having model-based components will not allow to share identical LED definitions in DTSI files - The inconsistency in what's used for the model part complicates several scripts, e.g. board.d/01_leds or LED migrations from ar71xx where this was even more messy Apart from our needs, upstream has deprecated the label property entirely and introduced new properties to specify color and function properties separately. However, the implementation does not appear to be ready and probably won't become ready and/or match our requirements in the foreseeable future. However, the limitation of generic LEDs to color and function properties follows the same idea pointed out above. Generic LEDs will get names like "green:status" or "red:indicator" then, and if a "devicename" is prepended, it will be the one of an internal device, like "phy1:amber:status". With this patch, we move into the same direction, and just drop the boardname from the LED labels. This allows to consolidate a few definitions in DTSI files (will be much more on ramips), and to drop a few migrations compared to ar71xx that just changed the boardname. But mainly, it will liberate us from a completely useless subject to take care of for device support review and maintenance. To also drop the boardname from existing configurations, a simple migration routine is added unconditionally. Although this seems unfamiliar at first look, a quick check in kernel for the arm/arm64 dts files revealed that while 1033 lines have labels with three parts *:*:*, still 284 actually use a two-part labelling *:*, and thus is also acceptable and not even rare there. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: move dts-v1 statement to ath79.dtsiAdrian Schmutzler2020-09-251-2/+1
| | | | | | | | | | | | | | | | | | | The "/dts-v1/;" identifier is supposed to be present once at the top of a device tree file after the includes have been processed. In ath79, we therefore requested to have in the DTS files so far, and omit it in the DTSI files. However, essentially the syntax of the parent ath79.dtsi file already determines the DTS version, so putting it into the DTS files is just a useless repetition. Consequently, this patch puts the dts-v1 statement into the parent ath79.dtsi, which is (indirectly) included by all DTS files. All other occurences are removed. Since the dts-v1 statement needs to be before any other definitions, this also moves the includes to make sure the ath79.dtsi or its descendants are always included first. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: harmonize appearance of ethX nodes in qca953x DTSesAdrian Schmutzler2020-08-121-1/+3
| | | | | | | | | | | This harmonizes the appearance of ethX nodes in qca953x DTSes by: - having the same order of nodes and properties - removing redundant status property on eth1 (set in qca953x.dtsi) This is meant to help both copy-pasters and reviewers, since deviations and errors can be spotted easier. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: add new ar934x spi driverChuanhong Guo2020-02-061-1/+0
| | | | | | | | | | | A new shift mode was introduced since ar934x which has a way better performance than current bitbang driver and can handle higher spi clock properly. This commit adds a new driver to make use of this new feature. This new driver has chipselect properly configured and we don't need cs-gpios hack in dts anymore. Remove them. Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
* treewide: remove dts-v1 identifier from DTSI filesAdrian Schmutzler2019-12-081-1/+0
| | | | | | | | | | | | | | | | The "/dts-v1/;" identifier is supposed to be put once at the beginning of a device tree file. Thus, it makes no sense to provide it a second time in to-be-included DTSI files. This removes the identifier from all DTSI files in /target/linux. Most of the DTS files in OpenWrt do contain the "/dts-v1/;". It is missing for most of the following targets, though: mvebu, ipq806x, mpc85xx, ipq40xx This does not touch ipq806x for now, as the bump to 4.19 is close. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: GL-AR300M: provide NAND support; increase to 4 MB kernelJeff Kletsky2019-11-141-8/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The GL.iNet GL-AR300M has been supported by the ar71xx and ath79 platforms with access to its 16 MB NOR flash, but not its 128 MB SPI NAND flash. This commit provides support for the NAND through the upstream SPI-NAND framework. Devices with both NOR and NAND flash can support independent firmware on each, with U-Boot able to boot from either. The OEM U-Boot will fall back to the NOR firmware after three "unsuccessful" boots. The family of GL-AR300M devices on the ath79 platform now includes: * glinet,gl-ar300m-lite "generic" target, NOR-only board * glinet,gl-ar300m-nand "nand" target * glinet,gl-ar300m-nor "nand" target (NAND-aware) NB: This commit increases the kernel size from 2 MB to 4 MB "Force-less" sysupgrade is presently supported from the current versions of following NOR-based firmwre images to the version of glinet,gl-ar300m-nor firmware produced by this commit: * gl-ar300m -- OEM v3 NOR ar71xx (openwrt-ar300m16-*.bin) * gl-ar300m -- OpenWrt 18.06 ar71xx * gl-ar300m -- OpenWrt 19.07 ar71xx Other upgrades to these images should be performed through U-Boot. The GL-AR300M OEM U-Boot allows upload and flashing of either NOR firmware (sysupgrade.bin) or NAND firmware (factory.img) through its HTTP-based GUI. Serial connectivity is not required. The glinet,gl-ar300m-nand and glinet,gl-ar300m-nor images generated after this commit should safely flash each other using sysupgrade. The boot counter is implemented by the OEM using u-boot-env. At this time, it does not appear that the switch on the side of the unit can be used to select NOR vs. NAND boot and the fail-over is only from NAND to NOR. To save flash wear, it is only reset when running the glinet,gl-ar300m-nand firmware. NAND-specific base-files are used to remove impact on existing generic and tiny targets. As there is now no "generic" build appropriate for the GL-AR300M16, (or for users of the GL-AR300M that do not need access to NAND) it will be introduced in a subsequent commit. Note: `mtd_get_mac_binary art 0x6` does not return the proper MAC and the GL.iNet source indicates that only the 0x0 offset is valid The ar71xx targets are unmodified. Signed-off-by: Jeff Kletsky <git-commits@allycomm.com>
* ath79: replace generic button node namesAdrian Schmutzler2019-11-071-3/+3
| | | | | | | | | | In several DTS files, button nodes are just named buttonX or xxx_button. This replaces the names with more specific names matching the majority of key definitions. While at it, fix name of keys node in one case. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: remove redundant mtd-mac-address for wmacAdrian Schmutzler2019-10-271-1/+0
| | | | | | | | | | | | | | For several devices, wmac MAC address is set from art 0x1002 explicitly by using mtd-mac-address although mtd-cal-data is pulled from art 0x1000. With the MAC address in 0x1002, the driver should automatically use it when reading caldata from 0x1000. Thus, remove the redundant mtd-mac-address for those devices. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Tested-by: Jeff Kletsky <git-commits@allycomm.com> Tested-by: Karl Palsson <karlp@etactica.com>
* ath79: GL-AR300M series: Add I2C SupportJeff Kletsky2019-10-241-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The GL-AR300M series have an internal header for I2C. Provide DTS definitions for the i2c-gpio driver. The I2C drivers; kmod-i2c-core, kmod-i2c-gpio consume ~20 kB of flash and can be loaded as modules, Default clock measured ~11.4 ms period, ~88 kHz The board has two sets of (unpopulated) headers. While facing the back of the board (looking into the Ethernet jacks), and looking from the top, the one on the left edge of the baord with four holes is the I2C header. It appears to be labeled J8 on "GL-AR300M-V1.4.0" boards. | (Patch antenna) | | | O GND | O SDA / GPIO 17 | O SCL / GPIO 16 | ⊡ 3V3 (square land) | | (Ethernet jacks) https://docs.gl-inet.com/en/3/hardware/ar300m/#pcb-pinout states "Note: I2C is not working in some early version of the router." Signed-off-by: Jeff Kletsky <git-commits@allycomm.com>
* ath79: convert devices to interrupt-driven gpio-keysAdrian Schmutzler2019-09-221-2/+2
| | | | | | | | | | | | | This converts all remaining devices to use interrupt-driven gpio-keys compatible instead of gpio-keys-polled. The poll-interval is removed. Only ar7240_netgear_wnr612-v2 is kept at gpio-keys-polled, as this one is using ath9k keys. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de> Tested-by: Karl Palsson <karlp@etactica.com> Tested-by: Dmitry Tunin <hanipouspilot@gmail.com>
* ath79: provide label MAC addressAdrian Schmutzler2019-09-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds the label MAC address for several devices in ath79. Some devices require setting the MAC address in 02_network: For the following devices, the netif device can be linked in device tree, but the MAC address cannot be read: - alfa-network,ap121f - avm,fritz300e - ubnt-xm devices For the following devices, label MAC address is tied to lan or wan, so no node to link to exists in device tree: - adtran,bsap1800-v2 - adtran,bsap1840 - dlink,dir-842-c1/-c2/-c3 - engenius,ecb1750 - iodata,etg3-r - iodata,wn-ac1167dgr - iodata,wn-ac1600dgr - iodata,wn-ac1600dgr2 - iodata,wn-ag300dgr - nec,wg800hp - nec,wg1200cr - trendnet,tew-823dru Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: Add missing read-only propertiesAdrian Schmutzler2019-05-111-0/+1
| | | | | | | | | Add some read-only properties to protect partitions from accidental changes. Also fixed two whitespaces error on the way. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* ath79: Add GL.iNet AR-300M-LiteJeff Kletsky2019-03-131-8/+49
| | | | | | | | | | | | | | | | | | | | | AR300M-Lite is single-Ethernet variant of the AR300M series Its eth0 would otherwise be assigned to the WAN interface making it unreachable firstboot or failsafe. Installation instructions from OEM (OpenWrt variant): * Install sysupgrade.bin using OEM's "Advanced" GUI (LuCI), * Do not preserve settings * Access rebooted device via Ethernet at OpenWrt default address Add previously missing LED defaults for all three variants; -nand, -nor, -lite to the definitions in 01_leds Non-lite variants thanks to Andreas Ziegler https://patchwork.ozlabs.org/patch/1049396/ Runtime-tested: GL.iNet AR300M-Lite Signed-off-by: Jeff Kletsky <git-commits@allycomm.com>
* ath79: Modify glinet x750 and AR300m MAC address offsetsLuo chongjun2019-02-281-1/+2
| | | | | | | | In the production of glinet, the MAC address of ethernet port is only written at the position where the ART area offset address is 0, and the MAC address of eth1 is added 1 on the basis of eth0. Signed-off-by: Luo chongjun <luochongjun@gl-inet.com>
* ath79: fix GL.iNet AR300M family GPIOs/LEDsJeff Kletsky2019-01-261-14/+2
| | | | | | | | | | | | | | | | | Change the "status" LED to proper GPIO 12 and "red" naming. Remove GPIO 2 from definition as a USB LED. GPIO 2 is used to control power to the USB socket, not an LED. As such, PWM on the line or typical LED triggers are inappropriate. Users who wish to control the USB power for custom applications can manipulate the GPIO through code, or for example, export it through /sys/class/gpio/export. Runtime-tested:  GL.iNet AR300M-Lite Signed-off-by: Jeff Kletsky <git-commits@allycomm.com>
* ath79: add status LED on GL.iNet AR300MPaul Wassi2018-12-311-1/+8
| | | | | | This adds the triggers for the status LED of this device. Signed-off-by: Paul Wassi <p.wassi@gmx.at>
* ath79: fix boardname of GL.iNet GL-AR300MPaul Wassi2018-12-311-0/+99
This device is called GL-AR300M, therefore rename the board(s) to 'gl-ar300m-nor' and 'gl-ar300m-nand' Signed-off-by: Paul Wassi <p.wassi@gmx.at> [change boardname in uboot envtools as well, don't use wildcards for boardname] Signed-off-by: Mathias Kresin <dev@kresin.me>