This patch moves the common SoC device tree entries
from the currently four supported platforms into a
common apm82181.dtsi.
Furthermore, this patch also changes the GPIO, IRQ and
input definitions of the supported platforms to use the
defined dt-bindings macros for GPIO_ACTIVE_LOW|HIGH,
KEY_WPS|RESTART|*, IRQ_TYPE_* when it's appropriate.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
This patch adds support for the amcc,usb-otg-405ex device
which is found in all APM82181 SoCs.
Note: The system can't use the generic "snps,dwc2" compatible
because of the special ahbcfg configuration. The default
GAHBCFG_HBSTLEN_INCR4 of snps,dwc2 can cause a system hang
when the USB and SATA is used concurrently.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Because the WAN port is handled by the internal AR8327N switch, the
device should use swconfig_leds trigger to handle the link activity
of the WAN LED. This has the added bonus that the WAN LED will now
go dark if there's no ethernet cable connected to the WAN port.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
The old usbdev trigger never supported assigning more than 1 USB port.
This code we got was never working as expected and it was missing 2 more
ports. Switch to usbport to have LED working with all ports.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Tested-by: Christian Lamparter <chunkeey@gmail.com>
This makes init.d script handle existing UCI entries using the new
trigger. It also switches all targets to use its package.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
The patch "images: bump default rootfs size to 256 MB"
a1f83bad60 caused a crash
during boot for the recovery images. This is because
both variants of the MyBook Live only have 256MB of RAM
and for the recovery option, the ext4 rootfs was simply
stored in the RAMDISK.
This patch replaces recovery image for the MBL with an
initramfs kernel.
In order to boot the initramfs (for recovery or development):
0. copy the initramfs and device tree into tftp's server directory
# cp *-initramfs-kernel.bin to /tftp-server/mbl.bin
# cp *-ext4-kernel.dtb to /tftp-server/fdt.bin
1. Connect the MyBook Live (Duo) serial port.
(Warning! Use a 3.3v level shifter).
2. Hit Enter during u-boot and insert these three lines:
# setenv serverip 192.168.1.254; setenv ipaddr 192.168.1.1;
# tftp ${kernel_addr_r} mbl.bin; tftp ${fdt_addr_r} fdt.bin
# run addtty addmisc; bootm ${kernel_addr_r} - ${fdt_addr_r}
Where 192.168.1.254 is your TFTP server.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
The insertion or removal of the sd-card cannot be detected
by the hardware itself. This is by design. To workaround this,
for the WNDR4700 unload/load the dwc2 module in case the
the special SD CARD GPIO line is low/high.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Russell Senior reported an issue with the MR24 initramfs kernels:
> ## Booting kernel from Legacy Image at 00c10000 ...
> Image Name: POWERPC LEDE Linux-4.4.19
> Created: 2016-08-31 11:57:05 UTC
> Image Type: PowerPC Linux Kernel Image (gzip compressed)
> Data Size: 2155723 Bytes = 2.1 MiB
> Load Address: 00000000
> Entry Point: 00000000
> Verifying Checksum ... OK
>Wrong Ramdisk Image Format
>Ramdisk image is corrupt or invalid
For the MR24, the kernel is uploaded to 0x10000. The ramdisk starts
at 0x200000. This leaves the kernel with just 0x1f0000 bytes = 1984kb.
This patch adds a size check so the image creation script will abort
instead of producing a unbootable initramfs image. A separate patch
"apm821xx: Fix initramfs image for the Meraki MR24" which fixed the
reported issue was submitted earlier.
Cc: Russell Senior <russell@personaltelco.net>
Cc: Chris Blake <chrisrblake93@gmail.com>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
When gzip is used, our kernel is too large and this causes the ramdisk
to be at the wrong offset. Fix by moving to lzma.
Signed-off-by: Chris Blake <chrisrblake93@gmail.com>
Refresh patches for all targets that support kernel 4.4.
Compile-tested on all targets that use kernel 4.4 and aren't marked broken.
Runtime-tested on ar71xx, octeon and x86/64.
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Change the image build code to generate the DTB files as part of the kernel
build phase in order to fix the image build in the ImageBuilder environment.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
Now that the "sysupgrade-nand" step is used by non-NAND targets as well,
rename it to "sysupgrade-tar" to make it more generic.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
The consolidation of the MR24 and WNDR4700 subtargets
into the nand subtarget broke MR24's atheros wlan.
This was because the wndr4700's board code used a
pci_fixup routines to supply the ath9k module with
the calibration data.
This is not necessary on the MR24 as it has standard
mini-pcie ports. Hence the two AR9380 mini-pcie cards
do not need any calibration data overrides.
Cc: chrisrblake93@gmail.com
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
The MR24's u-boot takes it sweet time decompressing the
LZMA-packed initramfs image. A user reported that
compared to the old gzip method in v2: it "takes a ton
longer to decompress like 4\x the old boot time for
decompression".
This patch also fixes a issue with the WNDR4700's initramfs
image getting to big and causing the following u-boot crash
during the decompression:
"Uncompressing Multi-File Image ... Error: inflate() returned -5
out-of-mem or overwrite error - must RESET board to recover"
This patch fixes both issues by reverting the MR24's initramfs
compression method back to gzip. And choosing to compress the
initramfs within the initramfs image as LZMA by default.
Cc: chrisrblake93@gmail.com
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
This reverts commit 8c68c104ea.
It is used for apm821xx, which needs ext2 (not ext4) images for some
devices.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
This patch adds support for Netgear Centria N900 WNDR4700/WNDR4720
hardware highlights:
CPU: AMCC PowerPC APM82181 Rev. E at 1000 MHz (PLB=166, OPB=83, EBC=83 MHz)
Security support, Boot ROM Location NAND wo/ECC 2k page (8 bits)
32 kB I-Cache 32 kB D-Cache, 256 kB L2-Cache, 32 kB OnChip Memory
Board: AMCC APM82181 Evaluation Board, PCIE0/SATA1, 1*USB OTG
DRAM: 256 MB (ECC not enabled, 500 Mb/s, 32-bit, CL3)
NAND: 128 MiB (SLC, erase size: 128 KiB, page size: 2048, OOB size: 64)
ETH: Atheros AR8327N Gigabit Switch (4 x LAN, 1 x WAN)
USB: 2 x 3.0 (Renesas uPD720202K8-711-BAA-A, firmware not included)
SATA: 1 x SATA-II 3.5" Hard Drive Bay for HDDs (DesignWare SATA).
WLAN1: Atheros AR9380 5GHz 802.11an 3:3x3
WLAN2: Atheros AR9581 2.4GHz 802.11bgn 3:3x3
SDCARD: GL827L SD/MMC/MS Flash Card Reader (on internal dwc2 USB 2.0 host)
I2C: GMT G781 (i2c-0 @ 0x4d - lm90 compatible temperature sensor)
TC654 (i2c-0 @ 0x1b - Dual PWM fan Speed controller)
WARNING: The serial port needs a TTL/RS-232 v3.3 level converter!
INFO: Since this device only has a NAND chip. I opted for going with
root.squashfs in a UBI volume. There's no squashfs/jffs2 image.
This target produces three images.
a. netgear factory image
This image can be used to flash the Netgear WNDR4700 via the
firmware recovery mechanism and the web admin site.
The bootloader can be instructed to do a firmware recovery via the
# fw_recovery
command. It will start a tftp server and listen on 192.168.1.1
(the ipaddr variable in u-boot) for incoming, binary tftp clients.
The firmware recovery mechanism is also started if any of the flash
content which contains the kernel, device-tree definitions or the
(fake)rootfs fails to verify or load.
b. sysupgrade.tar image for sysupgrade
An sysupgrade will replace the entire current LEDE installation
with a newer version. This does include the kernel and the ubi rootfs
partition. The configuration can be carried over automatically as well
if desired.
simply copy the sysupgrade.tar to a the WNDR4700 running LEDE and run:
root@lede:~# sysupgrade sysupgrade.tar
and let it reboot.
Note: The devicetree flash area is NOT updated. Until the devicetree
definition is stable, this can lead to all sorts of hardware
detection problems! So make sure, if you experience issues: try
the fw_recovery. If you are unsure whenever this affects you:
test if you can reproduce your issue with the initramfs method.
As it will always have up-to-date device-tree definitions.
c. initramfs image for TFTP (for development and testing)
To use the initramfs method, follow the following steps:
1) Move the "lede-apm821xx-netgear-WNDR4700-initramfs-kernel.bin"
file to to the root directory of your TFTP server.
2) rename it to wndr4700.bin
3) On the WNDR4700 - Hit Enter during u-boot and insert:
# tftp 400000 wndr4700.bin; run addtty; bootm 400000 -
This will boot the LEDE image.
Note: The default tftp server is 192.168.1.7, if you want to change it:
# setenv serverip 192.168.8.7;
Note2: The default address for the WNDR4700 is 192.168.1.1:
# setenv ipaddr 192.168.8.8;
Note: Connect you tftp server on the last LAN port (not the WAN)
Note: The firmware for the USB 3.0 Host chip is not included anymore.
Therefore the two USB 3.0 ports will not work without the
uPD7070x-firmware package installed.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
From 912-hwmon-lm90-expose-to-thermal-fw-via-DT.patch:
"This patch adds to lm90 temperature sensor the possibility
to expose itself as thermal zone device, registered on the
thermal framework.
The thermal zone is built only if a device tree node
describing a thermal zone for this sensor is present
inside the lm90 DT node. Otherwise, the driver behavior
will be the same."
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
This patch adds a hwmon driver for the Microchip TC654 and TC655
Dual SMBus PWM Fan Speed Controllers with Fan Fault detection.
The chip is described in the DS2001734C Spec Document from Microchip.
It supports:
- Shared PWM Fan Drive for two fans
- Provides RPM
- automatic PWM controller (needs additional
NTC/PTC Thermistors.)
- Overtemperature alarm (when using NTC/PTC
Thermistors)
The TC654 is used by the Netgear WNDR47X0 to control its
system fan.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Hardware Highlights:
This patch adds support for Western Digital MyBook Live Series:
CPU: AMCC PowerPC UNKNOWN (PVR=12c41c83) at 800 MHz (PLB=200, OPB=100, EBC=100 MHz)
32 kB I-Cache 32 kB D-Cache, 256 kB L2-Cache, 32 kB OnChip Memory
Board: Apollo-3G - APM82181 Board, 1*SATA
DRAM: 256 MB (2x NT5TU64M16GG-AC)
FLASH: 512 kB (SST 39VF040)
Ethernet: 1xRGMII - 1 Gbit - Broadcom PHY BCM54610
WARNING: The serial port needs a TTL/RS-232 v3.3 level converter!
The MyBook Live Duo additionally features a 1x USB 2.0 host port
and can support a second hard-drive.
This target produces two images for a target.
1. ext4 image
The extracted/raw image can be directly installed on
the internal HDD via "dd if=img.ext4 of=/dev/sdX".
This can either be done in place with the stock MyBook Live
firmware via ssh. Or by removing the HDD and writing the image
with a different PC.
The the compressed images are useful for sysupgrade.
2. recovery.tar image for TFTP and Serial.
extract the recovery.tar to a TFTP server directory.
On the MyBook Live (Duo) serial port - Hit Enter during u-boot and insert:
# setenv serverip 192.168.1.254; setenv ipaddr 192.168.1.1; run net_self
Where 192.168.1.254 is your TFTP server.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
This patch fixes the sata_dwc_460ex SATA driver which is used
by the SATA controllers in the MyBook Live Series and WNDR4700.
The code was backported from the upstream kernel.
It can be dropped completely on 4.7+.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
This patch fixes the dw_dmac dma engine which is used
by the SATA controllers in the MyBook Live Series and WNDR4700.
The code was backported from the upstream kernel.
It can be dropped completely on 4.7+.
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
This adds a new target for PowerPC APM82181 and APM82161
(464-based) boards, as well as adds support for the booke-wdt
watchdog package.
Signed-off-by: Chris Blake <chrisrblake93@gmail.com>