summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-05-19board: ls2080aqds: transition to DM_ETHIoana Ciornei
In case CONFIG_DM_ETH is enabled, no hardcoding is necessary for DPAA2 Ethernet devices. Compile out any unnecessary setup when CONFIG_DM_ETH is activated. Also, force the PCI devices to be enumerated at probe time. Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2020-05-19configs: ls1088aqds_tfa_defconfig: enable DM_ETH and relatedIoana Ciornei
Enable CONFIG_DM_ETH and CONFIG_DM_MDIO and related configs for the LS1088AQDS board. Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2020-05-19board: ls1088aqds: transition to DM_ETHIoana Ciornei
In case CONFIG_DM_ETH is enabled, no hardcoding is necessary for DPAA2 Ethernet devices. Compile out any unnecessary setup when CONFIG_DM_ETH is activated. Also, force the PCI devices to be enumerated at probe time. Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2020-05-19arm: dts: ls1088aqds: add CONFIG_MULTI_DTB_FIT supportIoana Ciornei
Add support for selecting the appropriate DTS file depending on the SERDES protocol used. The fsl-ls2088a-qds DTS will be used by default if there isn't a DTS file specifically made for the current SERDES protocol. This patch adds support for the on-board ports (DPMAC 1,2 and 4,5) found on the SERDES protocols 21(0x15) and 29(0x1d) for SD#1. On the LS1088AQDS board EMDIO1 is used with two onboard RGMII PHYs (Realtek RTL8211FD-CG), as well as 2 input/output connectors for mezzanine cards. Configuration signals from the Qixis FPGA control the routing of the external MDIOs. Register 0x54 of the Qixis FPGA controls the routing of the EMDIO1 one of the 2 IO slots. As a consequence, a new node is added to describe register 0x54 as a MDIO mux controlled with child nodes describing all the IO slots as MDIO buses. Also, in case CONFIG_DM_ETH and CONFIG_MULTI_DTB_FIT are enabled implement the board_fit_config_name_match() function in order to choose the appropriate DTS. Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com> Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
2020-05-19include/configs: ls1046afrwy: add support for boot targets.Pramod Kumar
ls1046afrwy does not support sata boot. So Override default BOOT_TARGET_DEVICES and support only mmc, usb and dhcp as boot targets. Signed-off-by: Pramod Kumar <pramod.kumar_1@nxp.com> [Rebased] Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
2020-05-19net: fsl-mc: fixup DPC: add /board/ports node if missingRazvan Ionut Cirjan
The DPC fixup for MAC address and enet_if is not made if /board/ports node is missing in DPC file. Add /board/ports or /ports nodes if them are missing. Signed-off-by: Razvan Ionut Cirjan <razvanionut.cirjan@nxp.com> Reviewed-by: Ioana Ciornei <Ioana.ciornei@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2020-05-19board_r: Detect ifc-nor flash at run-timePankit Garg
CONFIG_MTD_NOR_FLASH flag needs to be enable for all boot sources,as all flash drivers need to compile in TFA Boot.Probe ifc nor flash only when there is nor flash available on board.So needs to detect ifc-nor flash at run-time for probing. Signed-off-by: Pankit Garg <pankit.garg@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2020-05-19configs: lx2160aqds_tfa_defconfig: enable DM_ETH and relatedIoana Ciornei
Enable CONFIG_DM_ETH and CONFIG_DM_MDIO and related configs for the LX2160AQDS board. Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com> Reviewed-by: Razvan Ionut Cirjan <razvanionut.cirjan@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2020-05-19board: lx2160aqds: implement board_fit_config_name_matchIoana Ciornei
In case CONFIG_DM_ETH and CONFIG_MULTI_DTB_FIT are enabled implement the board_fit_config_name_match() function in order to choose the appropriate DTS for the current SERDES protocol configuration. Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com> Reviewed-by: Razvan Ionut Cirjan <razvanionut.cirjan@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2020-05-19board: lx2160aqds: transition to DM_ETHIoana Ciornei
In case CONFIG_DM_ETH is enabled, no hardcoding is necessary for DPAA2 Ethernet devices. Compile out any unnecessary setup when CONFIG_DM_ETH is activated. Also, force the PCI devices to be enumerated at probe time. Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com> Reviewed-by: Razvan Ionut Cirjan <razvanionut.cirjan@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2020-05-19arm: dts: lx2160aqds: add nodes describing possible mezzanine cardsIoana Ciornei
Add device trees describing possible uses of mezzanine cards depending on the SERDES protocol employed. This patch adds DPAA2 networking support for the following protocols on each SERDES block: * SD #1: 3, 7, 19, 20 * SD #2: 11 Each SERDES block has a different device tree file per protocol supported, where the IO SLOTs used are enabled and PHYs located on the mezzanine cards are described. Also, dpmac nodes are edited and their associated phy-connection-type and phy-handle are added. Top DTS files are also added for each combination of protocol on the 3 SERDES blocks. Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com> Reviewed-by: Razvan Ionut Cirjan <razvanionut.cirjan@nxp.com> [Rebased] Signed-off-by: Priyanka Jain <priyanka.jain@nxp.com>
2020-05-19arm: dts: lx2160aqds: add MDIO slotsIoana Ciornei
The LX2160A processor has two external MDIO interfaces, described in the DTS as emdio1 and emdio2. On the LX2160AQDS board EMDIO1 is used with two onboard RGMII PHYs (Realtek RTL8211FD-CG), as well as eight input/output connectors for mezzanine cards. Configuration signals from the Qixis FPGA control the routing of the external MDIOs. Register 0x54 of the Qixis FPGA controls the routing of the EMDIO1 one of the 8 IO slots. As a consequence, a new node is added to describe register 0x54 as a MDIO mux controlled with child nodes describing all the IO slots as MDIO buses. Also, DPMAC 17 and 18 are updated to reference the on-board PHYs. Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com> Reviewed-by: Razvan Ionut Cirjan <razvanionut.cirjan@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2020-05-19arm: dts: lx2160a: add noted for dpmacs 1, 2, 5-6Ioana Ciornei
Add nodes for DPMACs 1, 2 and 5-6 which were missing from the description. These will be later used on the LX2160AQDS specific DTS. Signed-off-by: Ioana Ciornei <ioana.ciornei@nxp.com> Reviewed-by: Razvan Ionut Cirjan <razvanionut.cirjan@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2020-05-19drivers: net: fsl-mc: fixup msi-map propertyLaurentiu Tudor
Similarly to iommu-map, the msi-map property must also be fixed up in the device tree, in order for the icid -> streamid translation be possible in the MSI case as well. Signed-off-by: Laurentiu Tudor <laurentiu.tudor@nxp.com> Reviewed-by: Diana Craciun <diana.craciun@oss.nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2020-05-19driver: net: fm: minor fix in DM ETH supportMadalin Bucur
Bus callback functions for read/write/reset need to be set only for DM_ETH, moving endif a bit lower. Signed-off-by: Madalin Bucur <madalin.bucur@oss.nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2020-05-19configs: ls1012a: Unset ENV_ADDR valueKuldeep Singh
LS1012A-FRWY and LS1012A-RDB crashes in flash environment when CONFIG_ENV_ADDR value is set. Unset the config value in *_tfa_defconfig* to resolve booting crash. Following crash is observed: Using SERDES1 Protocol: 13576 (0x3508) "Synchronous Abort" handler, esr 0x96000006 elr: 00000000820452c0 lr : 0000000082013f54 (reloc) elr: 00000000b7b932c0 lr : 00000000b7b61f54 x0 : 0000000000000000 x1 : 000000007604e004 x2 : 0000000000000001 x3 : 0000000000000000 ... Code: 54ffff80 9100c000 17fffff7 f9402241 (3860c820) Resetting CPU ... Signed-off-by: Kuldeep Singh <kuldeep.singh@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2020-05-19configs: nxp: Enable CONFIG_SYS_RELOC_GD_ENV_ADDRKuldeep Singh
Commit 323d3af59fe4 ("configs: ls1012ardb: Enable CONFIG_SYS_RELOC_GD_ENV_ADDR") enables the config only for LS1012ARDB. Apart from LS1012A-RDB, other platforms such as LS1012A-FRWY, LS2088A and LS1046A-RDB/FRWY also require this config to be enabled. This also helps in resolving booting crash observed in flash environment. Signed-off-by: Kuldeep Singh <kuldeep.singh@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2020-05-19configs: ls1012a: Reduce CONFIG_ENV_SIZE to 0x2000Ashish Kumar
All LS1012A board variants have same CONFIG_ENV_SECT_SIZE and CONFIG_ENV_SIZE values. If both config values are same, flash environment cannot be saved. Since, CONFIG_ENV_SECT_SIZE needs to be same as that of flash sector size, this entry cannot be changed. Reduce CONFIG_ENV_SIZE value to 0x2000. This also helps in making config value aligned with other boards environemt size. Signed-off-by: Kuldeep Singh <kuldeep.singh@nxp.com> Signed-off-by: Ashish Kumar <Ashish.kumar@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2020-05-19configs: ls1012a: Increase CONFIG_SYS_MALLOC_LEN sizeKuldeep Singh
CONFIG_SYS_MALLOC_LEN is currently set to low value and leaves very less space to do malloc in flash environmet. Increase the value to get more memory and also make it align with other boards(ls1046a, ls1043a etc.) config values. Signed-off-by: Kuldeep Singh <kuldeep.singh@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2020-05-19configs: ls2080ardb: Make BOOT command access flash memory as per spi-memKuldeep Singh
BOOT command currently access spi-nor flash memory directly. As per spi-mem framework, flash memory access via absolute addresses is no more possible. Use flash APIs to access memory instead of directly using it. Signed-off-by: Kuldeep Singh <kuldeep.singh@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2020-05-19configs: ls2080ardb: Make MC_INIT access flash memory as per spi-memKuldeep Singh
MC_INIT command currently access spi-nor flash memory directly. As per spi-mem framework, flash memory access via absolute addresses is no more possible. Use flash APIs to access memory instead of directly using it. Signed-off-by: Kuldeep Singh <kuldeep.singh@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2020-05-19configs: ls1046a: Define ENV_ADDR valueKuldeep Singh
CONFIG_ENV_ADDR helps in picking environment from flash before DDR init. The macro value is already defined in ls1046ardb_tfa_defconfig, also define the value as 0x40300000 in qspi_defconfig. ls1046aqds has one spansion flash "S25FL128S_64K" of size 16M with sector size 64K. Correct ENV_ADDR and ENV_SECT_SIZE value for QSPI and TFA defconfigs of the board. Signed-off-by: Kuldeep Singh <kuldeep.singh@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2020-05-19configs: ls2080a: Correct ENV_ADDR valueKuldeep Singh
CONFIG_ENV_ADDR helps in picking environment from flash before DDR init. QSPI region in LS2088ARDB and LS2088AQDS starts from 0x20000000 offset. Correct the config value i.e 0x80500000 -> 0x20500000. Also, define config value as 0x20300000 in qspi defconfig. Signed-off-by: Kuldeep Singh <kuldeep.singh@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2020-05-19configs: ls1088a: Correct ENV_ADDR valueKuldeep Singh
CONFIG_ENV_ADDR helps in picking environment from flash before DDR init. QSPI region starts from 0x20000000 offset. Correct the config value i.e 0x80500000 -> 0x20500000. Signed-off-by: Kuldeep Singh <kuldeep.singh@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2020-05-19treewide: Update fsl qspi node dt properties as per spi-mem driverKuldeep Singh
According to new qspi driver, some properties like "bus-num, num-cs, big-endian" are no longer used. Device endiannes can be determined from device-type data in driver. Now use board specific compatibles, generic node names and specific labels to align with linux device-tree properties. Also consolidate spi-max-frequency to 50Mhz treewide. Signed-off-by: Kuldeep Singh <kuldeep.singh@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2020-05-19configs: ls1046a: Move SPI_FLASH_SPANSION to defconfigKuldeep Singh
Enable CONFIG_SPI_FLASH_SPANSION in defconfigs of LS1046ARDB and LS1046AQDS which have two spansion flases i.e s25fs512s each of size 64M. Signed-off-by: Kuldeep Singh <kuldeep.singh@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2020-05-19configs: ls1012a: Enable CONFIG_SPI_FLASH_SPANSION in defconfigsKuldeep Singh
Since CONFIG_FSL_QSPI is already enabled for LS1012A in defconfigs. Also enable CONFIG_SPI_FLASH_SPANSION for LS1012A boards having spansion flashes. Signed-off-by: Ashish Kumar <Ashish.Kumar@nxp.com> Signed-off-by: Kuldeep Singh <kuldeep.singh@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2020-05-19configs: ls1043a: Move CONFIG_FSL_QSPI and SPI_FLASH_SPANSION to defconfigKuldeep Singh
Move CONFIG_FSL_QSPI to the board defconfigs and while at it also move CONFIG_SPI_FLASH_SPANSION for LS1043AQDS. Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de> Signed-off-by: Kuldeep Singh <kuldeep.singh@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2020-05-19treewide: Remove unused FSL QSPI config options for Layerscape platformsKuldeep Singh
Some of these options are not used by the driver anymore and some of them are obsolete as the information is gathered from the dt. Also consolidating defines in common headers. Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de> Signed-off-by: Ashish Kumar <Ashish.Kumar@nxp.com> Signed-off-by: Kuldeep Singh <kuldeep.singh@nxp.com> Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
2020-05-18Merge tag 'efi-2020-07-rc3' of ↵Tom Rini
https://gitlab.denx.de/u-boot/custodians/u-boot-efi Pull request for UEFI sub-system for efi-2020-07-rc3 A series of patches introduces the possibility to manage UEFI variables via an OP-TEE module. CONFIG_EFI_MM_COMM_TEE enables this. If this option is not specified the U-Boot behavior remains unchanged. A defconfig is provided for compile testing (lx2160ardb_tfa_stmm_defconfig). An incorrect UEFI memory allocation for fsl-layerscape is fixed
2020-05-17dts: nxp2160ardb: add op-tee nodeIlias Apalodimas
A defconfig is added on lx2160ardb which allows UEFI variable management via OP-TEE. Enable the the node in the relevant DTS file. Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2020-05-17configs: lx2160a: Add default config for lx2160a using StMM in OP-TEEIlias Apalodimas
Previous patches allow UEFI secure variables to be stored in an RPMB device using OPTEE. Add a config for the lx2160a hardware so the feature gets at least compiled. Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Remove superfluous differences to lx2160ardb_tfa_defconfig. Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2020-05-17doc: uefi.rst: Add OP-TEE variable storage config optionsIlias Apalodimas
If OP-TEE is compiled with an EDK2 application running in secure world it can process and store UEFI variables in an RPMB. Add documentation for the config options enabling this. Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2020-05-17MAINTAINERS: Add maintainer for EFI variables via OP-TEEIlias Apalodimas
Add myself as maintainer for the OP-TEE related UEFI variable storage. Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2020-05-17cmd: efidebug: Add support for querying UEFI variable storageIlias Apalodimas
With the previous patches that use OP-TEE and StandAloneMM for UEFI variable storage we've added functionality for efi_query_variable_info. So let's add the relevant command to efidebug and retrieve information about the container used to store UEFI variables Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2020-05-17efi_loader: Implement EFI variable handling via OP-TEEIlias Apalodimas
In OP-TEE we can run EDK2's StandAloneMM on a secure partition. StandAloneMM is responsible for the UEFI variable support. In combination with OP-TEE and it's U-Boot supplicant, variables are authenticated/validated in secure world and stored on an RPMB partition. So let's add a new config option in U-Boot implementing the necessary calls to OP-TEE for the variable management. Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Signed-off-by: Pipat Methavanitpong <pipat1010@gmail.com> Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org> Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2020-05-17efi_loader: Add headers for EDK2 StandAloneMM communicationSughosh Ganu
In Arm devices OP-TEE has the ability to run StandAloneMM (from EDK2) in a separate partition and handle UEFI variables. A following patch introduces this functionality. Add the headers needed for OP-TEE <--> StandAloneMM communication Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org> Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2020-05-17efi_loader: round the memory area in efi_add_memory_map()Michael Walle
Virtually all callers of this function do the rounding on their own. Some do it right, some don't. Instead of doing this in each caller, do the rounding in efi_add_memory_map(). Change the size parameter to bytes instead of pages and remove aligning and size calculation in all callers. There is no more need to make the original efi_add_memory_map() (which takes pages as size) available outside the module. Thus rename it to efi_add_memory_map_pg() and make it static to prevent further misuse outside the module. Signed-off-by: Michael Walle <michael@walle.cc> Add missing comma in sunxi_display.c. Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
2020-05-15Merge branch '2020-05-15-kconfig-migrations'Tom Rini
- Convert CONFIG_DELAY_ENVIRONMENT to Kconfig and update initr_pci to be Kconfig'd.
2020-05-15qemu-x86*_defconfig: Enable CONFIG_PCI_INIT_ROvidiu Panait
Enable CONFIG_PCI_INIT_R for qemux86 and qemux86-64 pci enumeration during boot in order to eliminate the custom preboot commands in include/configs/qemu-x86.h. Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
2020-05-15qemu_arm_defconfig: Enable CONFIG_PCI_INIT_ROvidiu Panait
Replace the "pci enum" preboot sequence with CONFIG_PCI_INIT_R=y. Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
2020-05-15qemu_arm64_defconfig: Enable CONFIG_PCI_INIT_ROvidiu Panait
Replace the "pci enum" preboot sequence with CONFIG_PCI_INIT_R=y. Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
2020-05-15board_r: Introduce CONFIG_PCI_INIT_R Kconfig optionOvidiu Panait
With CONFIG_DM_PCI enabled, PCI buses are not enumerated at boot, as they are without that config option enabled. However, there are cases such as DM PCI-based Ethernet devices that need the PCI bus enumerated so that they can be discovered by their drivers. Currently, to solve this, some boards enumerate the pci bus using "pci enum" preboot command, while others do it manually in board files (in board_init/board_late_init/etc. functions). In order to possibly make the pci enumeration process uniform across all boards, introduce CONFIG_PCI_INIT_R Kconfig option. This change also preserves the current behavior in the !DM_PCI case (pci_init is run unconditionally at boot). Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
2020-05-15board_r: env: Use IS_ENABLED() instead of #ifdefsOvidiu Panait
Use IS_ENABLED() instead of #ifdef in should_load_env and initr_env functions. No functional change intended. Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
2020-05-15env: Convert CONFIG_DELAY_ENVIRONMENT to KconfigOvidiu Panait
This converts ad-hoc CONFIG_DELAY_ENVIRONMENT to Kconfig. Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
2020-05-15configs: Resync with savedefconfigTom Rini
Rsync all defconfig files using moveconfig.py Signed-off-by: Tom Rini <trini@konsulko.com>
2020-05-15Merge branch '2020-05-15-misc-bugfixes'Tom Rini
- A number of symbol name consistency updates - JFFS2 bugfix - Use /* fallthrough */ for now to help at least gcc know when we're intentionally not 'break;'ing in a switch statement, we'll adopt fallthrough; later on. - Assorted other fixes
2020-05-15lib: rsa: avoid overriding the object name when already specifiedJan Luebbe
If "object=" is specified in "keydir" when using the pkcs11 engine do not append another "object=<key-name-hint>". This makes it possible to use object names other than the key name hint. These two string identifiers are not necessarily equal. Signed-off-by: Jan Luebbe <jlu@pengutronix.de> Signed-off-by: Bastian Krause <bst@pengutronix.de> Reviewed-by: George McCollister <george.mccollister@gmail.com>
2020-05-15MAINTAINERS: POWERPC MPC8XX: Update email addressChristophe Leroy
Our email addresses have changed from @c-s.fr to @csgroup.eu Update entry in MAINTAINERS Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
2020-05-15tools: ftdgrep: use /* fallthrough */ as neededHeinrich Schuchardt
GCC recognizes /* fallthrough */ if -Wimplicit-fallthrough=3 is enabled. Let's use it consistently. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>