Seems to be working fine on my a64-olinuxino, it's 99.9% upstream stuff
anyway. Lets start wider userbase testing.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
This is backport of v5.6 patch.
Allwinner A64 SoC has separate supplies for PC, PD, PE, PG and PL. This
patch adds regulators for them to the pinctrl node.
Exception is PL which is used by the RSB bus. To avoid circular
dependencies, VCC-PL is omitted.
On boards with eMMC, VCC-PC is supplied by ELDO1, instead of DCDC1.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
There is a red LED marked as `GPIO_LED1` on the silkscreen and connected
to PE17, so use this LED for status signalization.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Specifications:
SoC: Allwinner A64 (1.2 GHz Quad-Core ARM Cortex-A53 64-bit)
RAM: 1GB or 2GB RAM DDR3L @ 672Mhz
Flash: 0/4/16GB eMMC flash memory for storage and boot
MicroSD card connector for cards up to 32GB
Debug: serial UART debug header with 0.1" pins
Wired connectivity: 10/100/1000Mbps GbE Ethernet
Wireless connectivity: on-board RTL8723BS 1T1R 802.11bgn WiFi and
Bluetooth 4.0 module with built-in antenna
(only available in the A64-OLinuXino-1G4GW)
Flashing instructions:
Standard sunxi SD card installation procedure - copy eMMC image to SD
card, insert in into SD card slot on the device and boot. You should see
something like following if the eMMC is detected correctly:
mmcblk2: mmc2:0001 P1XXXX 3.60 GiB
mmcblk2boot0: mmc2:0001 P1XXXX partition 1 16.0 MiB
mmcblk2boot1: mmc2:0001 P1XXXX partition 2 16.0 MiB
Then flash SD card eMMC image straight into the mmcblk2 device:
dd if=/mnt/openwrt...a64-olinuxino-emmc-squashfs-sdcard.img of=/dev/mmcblk2
It also possible to boot from boot0 partition[1]:
1. Compile U-Boot with CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x40
otherwise the U-Boot will get stuck in bootloop
2. Configure eMMC to boot from boot0 partition inside U-Boot:
mmc bootbus 1 1 0 0; mmc partconf 1 1 1 0
3. echo 0 > /sys/block/mmcblk2boot0/force_ro
4. Write U-Boot from offset 0 (not offset 8k as with SD card) into
boot0 partition
dd if=u-boot-sunxi-with-spl.bin of=/dev/mmcblk2boot0
Known issues:
Wireless doesn't work properly via netifd.
1. https://linux-sunxi.org/index.php?title=Bootable_eMMC
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Specifications:
SoC: Allwinner A64 (1.2 GHz Quad-Core ARM Cortex-A53 64-bit)
RAM: 1GB or 2GB RAM DDR3L @ 672Mhz
Flash: 0/4/16GB eMMC flash memory for storage and boot
MicroSD card connector for cards up to 32GB
Debug: serial UART debug header with 0.1" pins
Wired connectivity: 10/100/1000Mbps GbE Ethernet
Wireless connectivity: on-board RTL8723BS 1T1R 802.11bgn WiFi and
Bluetooth 4.0 module with built-in antenna
(only available in the A64-OLinuXino-1G4GW)
Flashing instructions:
Standard sunxi SD card installation procedure - copy image to SD card,
insert in into SD card slot on the device and boot.
Known issues:
Wireless doesn't work properly via netifd.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Place DEVICE_VARS assignments at the top of the file or above Device/Default
to make them easier to find.
For ramips, remove redundant values already present in parent file.
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
[do not touch ar71xx, extend commit message]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
There is no such role as target maintainer anymore, one should always
send corresponding changes for the review and anyone from the commiters
is allowed to merge them or eventually use the hand break and NACK them.
Lets make it clear, that it is solely a community doing the maintenance
tasks.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
Acked-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Acked-by: Piotr Dymacz <pepe2k@gmail.com>
These new options are common for all subtargets and can be moved into target kconfig.
Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
This was done by executing these command for all subtargets:
$ time make -j9 kernel_oldconfig CONFIG_TARGET=subtarget
Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
These patches are already in mainline 5.4 kernel:
* 010-v5.3-drivers-ata-ahci_sunxi-Increased-SATA-AHCI-DMA-TX-RX.patch
* 101-arm64-dts-allwinner-a64-Enable-A64-timer-workaround.patch
Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
This target was switched to kernel 4.19 more than 6 months ago in commit
f342ffd300 ("treewide: kernel: bump some targets to 4.19") and now
with kernel 5.4 support being added it gets harder to support kernel
4.14 in addition to kernel 4.19 and 5.4.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Currently kmod-ata-* will not get into images unless kmod-ata-core is added to
DEVICE_PACKAGES as well. By changing the dependencies from "depends on" to
"select", we do not have the issue anymore.
Furthermore, we can remove most occurrences of the package from DEVICE_PACKAGES
and similar variables, as it is now pulled by dependent modules such as:
- kmod-ata-ahci
- kmod-ata-ahci-mtk
- kmod-ata-sunxi
While at it, use AddDepends/ata for kmod-ata-pdc202xx-old.
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
All SUNXI_UBOOT usages were removed in e018c4d7ab ("uboot-sunxi: clean up,
switch to u-boot.mk"). Now drop the variable completely.
Signed-off-by: Sungbo Eo <mans0n@gorani.run>
This backports SATA performance boost from 5.3 kernel:
Increasing the SATA/AHCI DMA TX/RX FIFOs (P0DMACR.TXTS and .RXTS, ie.
TX_TRANSACTION_SIZE and RX_TRANSACTION_SIZE) from default 0x0 each to
0x3 each, gives a write performance boost of 120 MiB/s to 132 MiB/s from
lame 36 MiB/s to 45 MiB/s previously. Read performance is above 200
MiB/s. [tested on SSD using dd bs=4K/8K/12K/16K/20K/24K/32K: peak-perf
at 12K]
dd bs Before MB/s After MB/s Increase
4k 14.4 16.5 15%
64k 34.5 74.4 116%
1M 40.5 93.2 130%
Ref: https://forum.openwrt.org/t/sunxi-sata-write-speed-patch/54555/5
Signed-off-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
[commit subject & description tweaks]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
This tidies up the image Makefiles for the sunxi target by:
- Move the if-condition for the subtarget to the parent Makefile
- Remove lots of unnecessary empty lines
- Sort device definitions alphabetically
- Harmonize line wrapping for DEVICE_PACKAGES
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
CONFIG_PINCTRL_SUN4I_A10 controls both the A10 and the A20 enablong of
the pinctrl driver, this is necessary since upstream commit
5d8d349618a9464714c07414c5888bfd9416638f ("pinctrl: sunxi: add A20
support to A10 driver") which has been included in v4.13 and onwards.
Fixes: ad2b3bf310 ("sunxi: Add support for kernel 4.14")
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
This has nothing that needs bash.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
[add prefix to commit title]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Hardware:
Allwinner H3 upto 1.2GHz
512MB DDR3 RAM
8GB on-board eMMC - mountable, can be used as boot with custom boot.scr
microSD-card slot
WiFi 802.11n (AP6212A) - working
Bluetooth (AP6212A) - not working for now
Micro-USB OTG + 2*USB headers
UART 3.3V - working
GPIO/I2C/SPI 2.54mm headers
Standard sunxi SD-card installation procedure - copy image to SD card,
insert in into slot and boot. First time you will need UART adapter to
enable on-board wireless (or just build custom image with enabled WiFi).
To boot from eMMC:
- boot from SD
- copy SD image to emmc (dd bs=... if=.... of=/dev/mmcblk2)
- mount eMMC boot partition and replace boot script on it
- unmount, reboot
To use i2c, spi and more uarts - replace dtb on boot partition with
fixed one (use dtc or fdt-tools).
Signed-off-by: Roman Bazalevsky <rvb@rvb.name>
[rebase onto device name consolidation patches]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
The device part in the SUNXI_DTS variable always corresponds to
device node name. This is another redundancy that can be removed
by calculating the DTS name from a newly introduced SUNXI_SOC
variable and the node name.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
This changes device definition to resemble the vendor_device scheme
already present for the majority of device compatible strings.
By doing this, we achieve several advantages at once:
- Image names and node names are more consistent with other targets.
- SUPPORTED_DEVICES can be set automatically for all but two cases.
- Image names and node names are in line with DEVICE_TITLEs.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
Remove CC_HAS_ASM_GOTO, CC_IS_GCC and GCC_VERSION kernel config options
which are set at runtime and which should be ignored now.
Signed-off-by: Petr Štetiar <ynezz@true.cz>
This replaces deprecated backticks by more versatile $(...) syntax.
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
[decapitalized patch subject at submitter's request]
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
It's a variable set by procd that should replace hardcoded
/tmp/sysupgrade.tgz.
This change requires the most recent procd with the commit 0f3c136
("sysupgrade: set UPGRADE_BACKUP env variable").
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
$CONF_TAR shouldn't be assumed to always point to the sysupgrade.tgz.
This change makes code more generic and allows refactoring $CONF_TAR.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
1) Add BACKUP_FILE and use it when copying an archive to be restored
after sysupgrade (on the next preinit).
2) Use CONF_TAR for copying backup prepared by the /sbin/sysupgrade
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
This explicitly lets stage2 know if partitions should be preserved. No
more "touch /tmp/sysupgrade.always.overwrite.bootdisk.partmap" hack.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Lets bump kernel to 4.19 on targets which were run tested or got ACKed
so we've enough time to make it ready for next release:
armvirt/32 (runtested in qemu)
armvirt/64 (runtested in qemu)
ath79/generic (runtested on Carambola2)
gemini/generic (runtested on DIR-685, DNS-313, SQ201, SL93512R)
imx6/generic (runtested on Apalis)
ipq40xx/generic (runtested on nbg6617)
malta/be64 (runtested in qemu)
malta/be (runtested in qemu)
malta/le (runtested in qemu)
malta/le64 (runtested in qemu)
mpc85xx/generic (runtested on TL-WDR4900)
mpc85xx/p2020 (runtested on P2020RDB)
mvebu/cortexa53
mvebu/cortexa72
mvebu/cortexa10
octeon/generic (runtested on EdgeRouter Lite)
sunxi/cortexa53 (build tested only)
sunxi/cortexa7 (runtested on Lime2-K)
sunxi/cortexa8 (build tested only)
tegra/generic
x86/64 (runtested in qemu)
Acked-by: Zoltan HERPAI <wigyori@uid0.hu> [sunxi]
Tested-by: Linus Walleij <linus.walleij@linaro.org> [gemini]
Tested-by: Tomasz Maciej Nowak <tomek_n@o2.pl> [mvebu, tegra]
Tested-by: Daniel Engberg <daniel.engberg.lists@pyret.net> [octeon]
Tested-by: Pawel Dembicki <paweldembicki@gmail.com> [mpc85xx/generic mpc85xx/p2020]
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
CONFIG_BINFMT_MISC allows it to add support for new executable formats
to the kernel from user space, the kernel will then detect for example a
java binary and call the java execution program automatically. I am not
aware that this feature is used in OpenWrt and this could be used to
exploit something. Deactivate it for all targets for now.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This removes support for executing old 32 bit applications on 64 bit ARM
and MIPS kernels.
On OpenWrt we normally compile all the user space applications on our
own and do not support third party binary only modules especial not 32
bit applications on 64 bit CPUs.
This reduces the attack surface on such systems and should also save
some memory.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This activates "Emulate Privileged Access Never using TTBR0_EL1
switching" on ARM64.
This should prevent the kernel from reading code from user space in
kernel context.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Recently, upgrade device autodetection has been added to the mvebu target.
This exposes some shortcomings of the generic export_bootdevice function,
e.g. on the Turris Omnia: export_bootdevice silently reports the root
partition to be the boot device. This makes the sysupgrade process fail at
several places.
Fix this by clearly distinguishing between /proc/cmdline arguments which
specify the boot disk, and those which specify the root partition. Only in
the latter case, strip off the partition, and do it consistently.
root=PARTUUID=<pseudo PARTUUID for MBR> (any partition) and root=/dev/*
(any partition) are accepted.
The root of the problem is that the *existing* export_bootdevice in
/lib/upgrade/common.sh behaves differently, if the kernel is booted with
root=/dev/..., or if it is booted with root=PARTUUID=...
In the former case, it reports back major/minor of the root partition,
in the latter case it reports back major/minor of the complete boot disk.
Targets, which boot with root=/dev/... *and* use export_bootdevice /
export_partdevice, have added workarounds to this behaviour, by specifying
*negative* increments to the export_partdevice function.
Consequently, those targets have to be adapted to use positive increments,
otherwise they are broken by the change to export_bootdevice.
Fixes: 4e8345ff68 ("mvebu: base-files: autodetect upgrade device")
Signed-off-by: Klaus Kudielka <klaus.kudielka@gmail.com>
Tested-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
If the target supports a newer kernel version that is not used by default
yet, it can be enabled with this option
Signed-off-by: Felix Fietkau <nbd@nbd.name>