93 Commits

Author SHA1 Message Date
Heinz Junkes
de0badf2c3 if_mve: Add MV643XX Ethernet driver
Update #4345.
2022-03-07 10:52:52 +01:00
Christian Mauderer
17ac5a8cfe ppp: Fix transmitting data
The pppstart expected that a driver write would somehow magically
process all data passed to the write function. Because ppp disables all
buffering that originally has been in termios, that assumption is not
true for all but polled drivers.

With this patch, the pppstart now gets and processes the feedback that
is returned from the driver via rtems_termios_dequeue_characters.

Fixes #4493
2022-02-10 09:19:06 +01:00
Chris Johns
25a883272a Add support for Xilinx Versal APAC 2021-10-21 11:29:14 +11:00
Chris Johns
6514d56158 sys/kern: Add VFS support
- Refactor the libio interface

- Move syscalls into an rtemsbsd location

- Provide a root directory mount point

Update #4475
2021-08-28 10:25:46 +10:00
Christian Mauderer
b1ecc253ee st-sdmmc: Handle short not cache aligned buffers
Possible data sources for SD driver:

- mmc_sd_switch():
    - length: 64 byte;
    - buffer on stack
- mmc_test_bus_width():
    - length: 4 or 8 byte
    - buffer in program memory or on stack
- mmc_app_send_scr():
    - length: 8 byte
    - buffer from device ivar structure
- mmc_app_sd_status():
    - length: 64 byte
    - buffer from device ivar structure
- mmc_send_ext_csd():
    - length: MMC_EXTCSD_SIZE = 512
    - buffer from device ivar structure
- rtems_bsd_mmcsd_disk_read_write():
    - length: depends on read
    - buffer from rtems_blkdev buffer -> already aligned
- mmcsd_ioctl_cmd():
    - length: depends on call
    - buffer malloced, not aligned -> patched in RTEMS

So the problematic buffers are only the ones up to 512 bytes. Copy these data
into a buffer to avoid that problem.
2021-04-19 09:02:30 +02:00
Christian Mauderer
aef7a74b94 STM32H7: Fix SDMMC build for all other BSPs 2021-04-01 16:04:44 +02:00
Christian Mauderer
e0fcb31f01 STM32H7: Add SDMMC driver
Update #4372
2021-04-01 09:05:13 +02:00
Kinsey Moore
e256668d6e nexus: Add ZynqMP SLCR driver
Add a System Level Control Register driver for the Xilinx Zynq
Ultrascale+ MPSoC with basic clock control functionality for use with
the Cadence GEM. This also removes the Zynq-7000 clock control weakref
from compilation depending on the BSP in use.
2021-03-10 08:57:59 -06:00
Kinsey Moore
68e79b6d18 zynq: Add support for SDHCI devices 2020-12-22 16:12:58 -06:00
Sebastian Huber
9ebb4e2025 dwc_otg: Enable voltage detector
Update #3910.
2020-10-27 06:29:39 +01:00
Sebastian Huber
0e7108f940 dwc_otg: Add support for nexus bus
Update #3910.
2020-10-27 06:29:37 +01:00
Sebastian Huber
1189f7147a if_stmac: Add driver for STM32H7 ethernet module
Update #3910.
2020-10-27 06:28:47 +01:00
Sebastian Huber
06896e4842 NVD(4): Fix logical block count calculation
Update #4164.
2020-10-27 06:26:34 +01:00
Sebastian Huber
b057293e6b NVD(4): Fix NULL pointer access in nvd_sync()
Update #4164.
2020-10-27 06:26:22 +01:00
Sebastian Huber
6b38edaf21 tsc_lpc32xx.c: Update due to API changes 2020-09-29 14:09:53 +02:00
Christian Mauderer
1398d9329f imx: Use RTEMS GPIO driver instead of FreeBSD one
Update 3869
2020-07-29 13:09:11 +02:00
Sebastian Huber
e7291f7ac3 NVD(4): Add RTEMS-specific NVMe disk driver
Update #3821.
2019-11-13 13:22:23 +01:00
Sebastian Huber
eeb3fd5d9b if_atsam: Remove WDT_Disable()
The watchdog timer (WDT) can be configure only once.  Do not touch it in
the BSP since the application may want to use it.
2019-06-13 08:57:41 +02:00
Sebastian Huber
66c9481b07 dpaa: Use if_transmit instead of legacy if_start
This avoids a lock contention on the send queue.
2019-01-21 09:35:06 +01:00
Sebastian Huber
06e155a667 dpaa: Fix FMan MAC SGT zone alignment 2019-01-21 09:35:06 +01:00
Christian Mauderer
61575f5c44 Add PHY-driver for KSZ8091RNB with 50MHz.
This adds a driver for the KSZ8091RNB PHY. This PHY needs some special
treatment if it is clocked with a 50MHz clock.
2018-09-27 11:03:21 +02:00
Sebastian Huber
610349693d if_ffec_mpc8xx: Fix incoming data invalidation
With a write-back cache dirty cache lines may be evicted which could
overwrite new data.

Close #3523.
2018-09-21 10:29:43 +02:00
Sebastian Huber
1b70957bd1 if_ffec_mpc8xx: Use M_NOWAIT for incoming frames
Update #3523.
2018-09-21 10:29:43 +02:00
Sebastian Huber
d101ed8614 if_ffec_mpc8xx: New MDIO driver support
Update #3523.
2018-09-21 10:29:43 +02:00
Sebastian Huber
457b4fc927 if_ffec_mpc8xx: Port driver to libbsd
Update #3523.
2018-09-21 10:29:43 +02:00
Sebastian Huber
860d833e05 if_ffec_mpc8xx: Import legacy driver from RTEMS
Imported from RTEMS commit 1fe1b820de02c274c2b2b3431340152734ee9fb6
(2018-09-12).

Update #3523.
2018-09-21 10:29:43 +02:00
Sebastian Huber
3489e3b639 Update to FreeBSD head 2018-09-17
Git mirror commit 6c2192b1ef8c50788c751f878552526800b1e319.

Update #3472.
2018-09-21 10:29:41 +02:00
Sebastian Huber
bcdce02d9b Update to FreeBSD head 2018-06-01
Git mirror commit fb63610a69b0eb7f69a201ba05c4c1a7a2739cf9.

Update #3472.
2018-09-21 10:29:41 +02:00
Sebastian Huber
18fa92c2dc Update to FreeBSD head 2018-02-01
Git mirror commit d079ae0442af8fa3cfd6d7ede190d04e64a2c0d4.

Update #3472.
2018-09-21 10:29:39 +02:00
Sebastian Huber
0f9d58f58b dw_mmc: Avoid conflicting device ivars
Do not overwrite the device ivars used by the simplebus.  Use
unspecified unit number for child device.
2018-09-11 11:36:28 +02:00
Sebastian Huber
8993827a73 DEVFS(5): Properly initialize fp->f_cdevpriv 2018-03-27 14:42:46 +02:00
Christian Mauderer
b2a210ca3e if_atsam: Add checksum offload. 2018-03-21 09:14:25 +01:00
Sebastian Huber
bcaa8a28a2 dw_mmc: Properly init/reset DMA 2018-02-06 09:56:35 +01:00
Sebastian Huber
138bf250c2 dw_mmc: Add MMCBR_IVAR_TIMING 2018-02-06 09:56:35 +01:00
Sebastian Huber
c30fa94277 Add device tree support for Altera/Intel Cyclone V
Close #3290.
2018-02-06 09:55:31 +01:00
Sebastian Huber
d62a3df1c7 sdk_dpaa: Port to RTEMS
Update #3277.
2018-01-23 14:55:31 +01:00
Sebastian Huber
cfc149bff3 linux/of_irq.h: Generalize of_irq_to_resource()
Determine interrupt cells via device tree.

Update #3277.
2018-01-23 14:55:02 +01:00
Sebastian Huber
e4923c85c9 linux/of_address.h: of_address_to_resource()
Translate address in of_address_to_resource().

Update #3277.
2018-01-23 14:54:59 +01:00
Sebastian Huber
0f1d2f6174 linux/of_address.h: Add of_translate_address()
Update #3277.
2018-01-23 14:54:56 +01:00
Sebastian Huber
81fc57de35 linux/of.h: Add of_find_node_by_path()
Update #3277.
2018-01-23 14:54:53 +01:00
Sebastian Huber
44fca38058 linux/of.h: Add of_read_number()
Update #3277.
2018-01-23 14:54:50 +01:00
Sebastian Huber
26ce2ac428 linux/of.h: Add of_n_size_cells()
Update #3277.
2018-01-23 14:54:47 +01:00
Sebastian Huber
0d421d850e linux/of.h: Add of_n_addr_cells()
Update #3277.
2018-01-23 14:54:44 +01:00
Sebastian Huber
13c409362d ehci_mpc83xx.c: Fix for qoriq hypervisor guest 2018-01-19 14:51:53 +01:00
Sebastian Huber
a677fe9932 dpaa: Use only one FMan MAC SGT zone 2017-10-23 09:24:08 +02:00
Sebastian Huber
de5791b345 dpaa: Add "libbsd,dedicated-portal" to QMan portals
By default, the network interfaces use a pool channel, see
dpaa_get_channel() in dpaa_eth_priv_probe().  To enable a dedicated QMan
software portal, use libbsd,dedicated-portal = "enabled";.  This option
is useful for special purpose 10Gbit/s Ethernet processing.

/ {
        soc: soc@ffe000000 {
                fman0: fman@400000 {
                        enet7: ethernet@f2000 {
                                libbsd,dedicated-portal = "enabled";
                        };
                };
        };
};
2017-10-23 09:24:07 +02:00
Sebastian Huber
e3dc39ee0c dpaa: Add <soc/fsl/dpaa.h> 2017-10-23 09:24:07 +02:00
Sebastian Huber
07c8680872 dpaa: Get c45 ids 2017-10-23 09:24:06 +02:00
Sebastian Huber
03d142659f dpaa: No error if MII attach failed 2017-10-23 09:24:06 +02:00
Sebastian Huber
9da83e7886 dpaa: Support c45 phys 2017-10-23 09:24:06 +02:00