Commit Graph

41 Commits

Author SHA1 Message Date
Adrian Schmutzler
f52081bcf9 treewide: provide global default for SUPPORTED_DEVICES
The majority of our targets provide a default value for the variable
SUPPORTED_DEVICES, which is used in images to check against the
compatible on a running device:

  SUPPORTED_DEVICES := $(subst _,$(comma),$(1))

At the moment, this is implemented in the Device/Default block of
the individual targets or even subtargets. However, since we
standardized device names and compatible in the recent past, almost
all targets are following the same scheme now:

  device/image name:  vendor_model
  compatible:         vendor,model

The equal redundant definitions are a symptom of this process.

Consequently, this patch moves the definition to image.mk making it
a global default. For the few targets not using the scheme above,
SUPPORTED_DEVICES will be defined to a different value in
Device/Default anyway, overwriting the default. In other words:
This change is supposed to be cosmetic.

This can be used as a global measure to get the current compatible
with: $(firstword $(SUPPORTED_DEVICES))
(Though this is not precisely an achievement of this commit.)

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2021-01-23 12:45:21 +01:00
Daniel Golle
b0b7f2b8f3 oxnas: now longer build KD20 factory image
The image never worked in any release and is also broken in snapshots
due to stock bootloader not loading more than 4 MiB.
Hence it's better to remove the image for now, users who want to flash
OpenWrt on new devices may build LEDE 17.01 with everything possible
disabled to get a small enough and working factory image.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2020-12-23 21:04:31 +00:00
Daniel Golle
d75e753063 oxnas: kd20: revert accedintally commited change
Changing the factory image of KD20 was used during testing and wasn't
intended to be included in the commit fixing a SATA bug on oxnas.
Revert that part of the commit.

Fixes: 5793112f75 ("oxnas: reduce size of ATA DMA descriptor space")
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2020-08-29 01:16:24 +01:00
Petr Štetiar
a14f5bb4bd treewide: use wpad-basic-wolfssl as default
In order to support SAE/WPA3-Personal in default images. Replace almost
all occurencies of wpad-basic and wpad-mini with wpad-basic-wolfssl for
consistency. Keep out ar71xx from the list as it won't be in the next
release and would only make backports harder.

Build-tested (build-bot settings):
ath79: generic, ramips: mt7620/mt76x8/rt305x, lantiq: xrx200/xway,
sunxi: a53

Signed-off-by: Petr Štetiar <ynezz@true.cz>
[rebase, extend commit message]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2020-08-20 14:19:39 +02:00
Daniel Golle
5793112f75 oxnas: reduce size of ATA DMA descriptor space
After years of trying to find the reason for random kernel crashes
while both CPU and SATA are under load it has been found.
Some odd commented-out #defines in kref's single-port driver [1] which
were copied from the vendor driver made me develop a theory:
The IO-mapped memory area for DMA descriptors apparetly got some holes
just before the alignment boundaries.
This feels like an off-by-one bug in the hardware or maybe those fields
are used internally by the SATA controller's firmware.
Whatever the cause is: they cannot be used and trying to use them
results in reading back unexpected stuff and ends up with oopsing
Unable to handle kernel paging request at virtual address d085c004

Work around the issue by reducing the area used for bmdma descriptors.
This reduces SATA performance (iops) quite a bit, but finally makes
things work reliably. Possibly one could optimize this much more by
really just skipping the holes in that memory area -- however, that
seems to be non-trivial with the driver and libata in it's current form
(suggestions are welcome).
The 'proper' way to have good SATA performance would be to make use of
the hardware RAID features (one can use the JBOD mode to access even
just a single disc transparently through the RAID controller integrated
in the SATA host instead of accessing the SATA ports 'raw' as we do
now).

[1]: https://github.com/kref/linux-oxnas/blob/master/drivers/ata/sata_oxnas.c#L25

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2020-08-11 00:16:04 +01:00
Adrian Schmutzler
1e55df2e41 oxnas: use vendor_model scheme for ox810se
Most newer targets have been converted to consistently use
vendor_model scheme for device definitions/image names, ox820 is
using it as well, so let's just convert ox810se for consistency.

While at it, use generic setup for DEVICE_DTS and add SUPPORTED_DEVICES.
The latter have been introduced for ox820 already in
cf7896117b ("oxnas: enable image metadata by setting SUPPORTED_DEVICES")

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2020-07-25 21:04:11 +02:00
Adrian Schmutzler
bb39fea11a treewide: simplify inclusion of subtarget image files
Many target use a repetitive if-include scheme for their subtarget
image files, though their names are consistent with the subtarget
names.

This patch removes these redundant conditions and just uses the
variable for the include where the target setup allows it.

For sunxi, this includes a trivial rename of the subtarget image
Makefiles.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2020-06-11 01:44:13 +02:00
Daniel Golle
9f14216a2c oxnas: some improvements for Shuttle KD20
* install kmod-hwmon-drivetemp by default
 * wire up thermal zone
 * fix fan GPIO polarity
 * fix i2c-gpio GPIO_OPEN_DRAIN

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2020-03-31 21:41:23 +01:00
Sungbo Eo
9e129c9d95 oxnas: enable sata on Pogoplug V3/Pro
Pogoplug V3/Pro has an interanl SATA port. To use it, DTS sata node should be
enabled, and kmod-ata-oxnas-sata package needs to be installed.

Fixes: FS#2542

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
2020-03-17 17:36:34 +09:00
Sungbo Eo
688d41bf93 oxnas: harmonize line breaks in ox820.mk
Follow the guideline suggested in e417ff88f1 ("ramips: harmonize line breaks
in image Makefiles").

While at it, fix typos in the device title of Akitio MyCloud.

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
2020-03-16 17:11:56 +09:00
Sungbo Eo
4159054fbb kernel: make kmod-hwmon-core selected by dependent modules
Currently kmod-hwmon-* will not get into images unless kmod-hwmon-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-hwmon-gpiofan
- kmod-hwmon-lm63
- kmod-hwmon-lm75
- kmod-hwmon-lm85
- kmod-hwmon-lm90

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
[do not touch ar71xx, adjust line wrapping]
Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2020-03-13 14:23:33 +01:00
Sungbo Eo
aebe6ef308 oxnas: clean up DEVICE_VARS
DTS variable is not used in any device. Just drop it.
UBIFS_OPTS is not device-dependent here. Remove it from DEVICE_VARS.

Signed-off-by: Sungbo Eo <mans0n@gorani.run>
2020-03-11 19:20:39 +01:00
Daniel Golle
08e0db3e98 oxnas: convert DEVICE_TITLE to new variables
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2019-07-10 16:56:16 +02:00
Daniel Golle
8c593804d0 oxnas: install wireless driver on pogoplugpro
PogoPlug Pro comes with AzureWave AW-NE762H PCIe module containing
Ralink's Rt3090 chip supported by the rt2x00 driver.
Install the driver as well as wpad-basic.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2019-03-12 14:18:42 +01:00
Daniel Golle
35a7f79096 oxnas: use generic filenames for image and DTS
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2019-03-11 03:43:30 +01:00
Daniel Golle
5fac36d5aa oxnas: switch to kmod-ledtrig-usb-port
Add port handles for both USB 2.0 ports so they can be used as
trigger-source for USB LEDs.
Suggestions for pogoplug and akitio,mycloud devices are welcome.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2019-03-01 04:09:00 +01:00
Daniel Golle
cf7896117b oxnas: enable image metadata by setting SUPPORTED_DEVICES
For each board, set the legacy name as well as the new based on the
compatible-string from devicetree.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2018-11-04 21:43:37 +01:00
Daniel Golle
dcc34574ef oxnas: bring in new oxnas target
Reboot the oxnas target based on Linux 4.14 by rebasing our support on
top of the now-existing upstream kernel support.
This commit brings oxnas support to the level of v4.17 having upstream
drivers for Ethernet, Serial and NAND flash.
Botch up OpenWrt's local drivers for EHCI, SATA and PCIe based on the
new platform code and device-tree.
Re-introduce base-files from old oxnas target which works for now but
needs further clean-up towards generic board support.

Functional issues:
 * PCIe won't come up (hence no USB3 on Shuttle KD20)
 * I2C bus of Akitio myCloud device is likely not to work (missing
   debounce support in new pinctrl driver)

Code-style issues:
 * plla/pllb needs further cleanup -- currently their users or writing
   into the syscon regmap after acquireling the clk instead of using
   defined clk_*_*() functions to setup multipliers and dividors.
 * PCIe phy needs its own little driver.
 * SATA driver is a monster and should be split into an mfd having
   a raidctrl regmap, sata controller, sata ports and sata phy.

Tested on MitraStar STG-212 aka. Medion Akoya MD86xxx and Shuttle KD20.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2018-06-01 15:45:06 +02:00
Daniel Golle
17511a7ea8 oxnas: kill old oxnas target
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2018-06-01 15:45:06 +02:00
Jo-Philipp Wich
7f9d537f21 oxnas: put u-boot images into image staging directory
Do not put the u-boot images into the kernel build directory as this directory
might get removed after kernel updates while the u-boot packages InstallDev
recipe is not getting re-executed because it is still considered current,
leading to image build failures later on due to missing images.

To ensure that built bootloader images persist over kernel version updates in
the buildroot, put them into the new STAGING_DIR_IMAGE directory.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
2017-01-27 16:53:31 +01:00
Daniel Golle
3e2c60e476 oxnas: append metadata to sysupgrade image
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2017-01-01 10:08:04 +01:00
Mathias Kresin
1cd0a4c688 image: add KERNEL_SIZE to the default device vars
This reverts commit ec37a56587 and fixes
the underlying issue.
2016-09-13 19:36:41 +02:00
Mathias Kresin
e7ec7a08aa image: use k as unit suffix for blocksize
Use k as unit suffix for kilobyte to have a the same unit regardless of
the used filesystem.

Signed-off-by: Mathias Kresin <dev@kresin.me>
2016-09-04 08:56:05 +02:00
Daniel Golle
943cf08fb7 oxnas: small image improvements for kd20
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2016-09-09 02:16:22 +02:00
Daniel Golle
c773a2c46e oxnas: kd20: generate image compatible with stock firmware
* adjust MTD partitions to match vendor's scheme
 * generate *factory.tar.gz image compatible with stock web-if
   firmware upgrade interface

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2016-09-04 04:58:36 +02:00
Jo-Philipp Wich
db49dd894e build: rename sysupgrade-nand to sysupgrade-tar
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>
2016-07-29 16:53:03 +02:00
Felix Fietkau
e0ed6ec667 image: clean up UBI related device variable definitions
Move UBI related variable export to core, since the variables are used
by a core Build/ template

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-14 10:27:30 +02:00
Felix Fietkau
f6c3f830a0 oxnas: install kernel binaries into bin/ for use with external storage
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-07 08:58:41 +02:00
Felix Fietkau
e90245237c oxnas: use global UBIFS_OPTS, all profiles use the same settings
Fixes build when selecting a device profile

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-05-22 15:58:41 +02:00
Daniel Golle
70eb03469f oxnas: reorganize image build code and nuke profiles
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2016-05-16 18:00:34 +02:00
Hauke Mehrtens
012da658a4 oxnas: add support for Akitio MyCloud mini
Signed-off-by: Daniel Golle <daniel@makrotopia.org>

SVN-Revision: 49197
2016-04-19 20:12:41 +00:00
John Crispin
28b6e5e225 oxnas: set ubifs parameters for Default profile
Work-around obsolete mkfs/ubifs code.
Unlike squashfs, ubifs images should be generated per-device so
minimum I/O unit size, logical erase block size, maximum logical erase
block count can be defined for the specific flash-chips parameters.
Also, generating ubinized images is unrelated to rootfs being ubifs or
squashfs, but rather depends on the device supporting UBI or not.
In the meantime and in order to fix an error which currently causes the
image generation on buildbot to fail, work-around by defining
UBIFS_OPTS for the Default profile.
See also
http://buildbot.openwrt.org:8010/builders/oxnas/builds/246/steps/compile_8/logs/stdio

Signed-off-by: Daniel Golle <daniel@makrotopia.org>

SVN-Revision: 49068
2016-03-23 12:52:05 +00:00
John Crispin
174bc392ff oxnas: switch to new image generation template
Signed-off-by: Daniel Golle <daniel@makrotopia.org>

SVN-Revision: 49041
2016-03-20 14:41:17 +00:00
Felix Fietkau
ea23d796f6 oxnas: image: Remove custom mkfs targz override as base should be fine now
It was wrong anyway, missing file sort order parameter which was fixed
in base month ago.

Signed-off-by: Petr Štetiar <ynezz@true.cz>

SVN-Revision: 47314
2015-10-31 09:28:42 +00:00
Felix Fietkau
74d9ef96f1 oxnas: image: Refactor sanitize_profile_name using PROFILE_SANITIZED variable
Signed-off-by: Petr Štetiar <ynezz@true.cz>

SVN-Revision: 47310
2015-10-31 09:28:05 +00:00
Jonas Gorski
bed330204a image.mk: move KDIR_TMP definition to a central location
Instead of each target defining it the same, move the KDIR_TMP
definition to include/image.mk. In addition Image/Build/SysupgradeNAND
already requires KDIR_TMP to be set, so it makes sense to have it
globally defined.

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 46592
2015-08-14 10:20:53 +00:00
Felix Fietkau
c41a1affb8 oxnas: change file extension of u-boot+initramfs image
The *u-boot-initramfs* images are not ITB/FIT images but are rather
supposed to be loaded to RAM and jumped-into.
To avoid confusion, change the file extension from itb to bin.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>

SVN-Revision: 45963
2015-06-14 17:42:00 +00:00
John Crispin
5a8d78d710 oxnas: fix itb generation
- according to imx6 Makefile and u-Boot documentation is itb
  and probably should not be changed
- this fixes build error if CONFIG_TARGET_ROOTFS_INCLUDE_FIT is set
  (missing .itb file)
- use DTS_DIR (like in imx6 Makefile)

only compile tested

Signed-off-by: Dirk Neukirchen <dirkneukirchen@web.de>
Acked-by: Daniel Golle <daniel@makrotopia.org>

SVN-Revision: 44468
2015-02-16 21:18:48 +00:00
John Crispin
ba1904056d oxnas: copy ubinized images to binary folder
Since r43778 ubinized images are stored inside KDIR. This makes sense
when using an uninized image to generate a factory image.
On oxnas ubinized images were used for sysupgrade before proper NAND
support was implemented in OpenWrt.
For users still on old builds before sysupgrade.tar was introduced,
ubinized image is thus the only option to conveniantly upgrade to a
more recent build.
Copy ubinized image also to BIN_DIR, so it will be easier for users
to find them.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>

SVN-Revision: 44357
2015-02-09 12:16:04 +00:00
John Crispin
58a4113c5e oxnas: use u-boot.bin in KDIR
This fixes building *u-boot-initramfs.bin images using ImageBuilder

Signed-off-by: Daniel Golle <daniel@makrotopia.org>

SVN-Revision: 43663
2014-12-12 16:16:57 +00:00
John Crispin
72b58f2eb1 add new target 'oxnas'
This is the oxnas target previously developed at
http://gitorious.org/openwrt-oxnas
Basically, this consolidates the changes and addtionas from
http://github.org/kref/linux-oxnas
into a new OpenWrt hardware target 'oxnas' adding support for
 PLX Technology NAS7820/NAS7821/NAS7825/...
formally known as
 Oxford Semiconductor OXE810SE/OXE815/OX820/...

For now there are 4 supported boards:
Cloud Engines Pogoplug V3 (without PCIe)
 fully supported

Cloud Engines Pogoplug Pro (with PCIe)
 fully supported

MitraStar STG-212
 aka ZyXEL NSA-212,
 aka Medion Akoya P89625 / P89636 / P89626 / P89630,
 aka Medion MD 86407 / MD 86805 / MD 86517 / MD 86587
 fully supported, see http://wiki.openwrt.org/toh/medion/md86587

Shuttle KD-20
 partially supported (S-ATA driver lacks support for 2nd port)

Signed-off-by: Daniel Golle <daniel@makrotopia.org>

SVN-Revision: 43388
2014-11-26 09:00:08 +00:00