195 Commits

Author SHA1 Message Date
Kinsey Moore
beb423ba5b freebsd/mmcsd: Disable on-device cache usage
This disables any usage of the on-device R/W cache since all device
cache maintenance functions are compiled out under RTEMS leaving no way
to flush the cache before system reset and making data loss possible.
2024-03-05 08:50:46 -06:00
Christian Mauderer
f5e9bae508 if_ffec: Allow PHY that is connected to other FFEC
The i.MX6UL (and some others from the i.MX family) have shared MDIO
lines for multiple FFECs. This patch allows to use the MDIO interface
from another Ethernet controller.

Note that you have to make sure that the FFECs are initialized in the
right order. Normally that can be done via FDT.
2022-06-07 09:07:15 +02:00
Christian Mauderer
91afe3a020 if_ffec: Reduce buffer size
Typical embedded systems don't have that much memory. Reduce the buffer
size to something more sensible for the usual type of application.
2022-06-07 09:07:08 +02:00
Christian Mauderer
8aa3ddfbd7 MMCSD: Use cache aligned alloc for ioctl
Some drivers can't easily work with buffers that are not cache aligned
and have an arbitrary length. Therefore use an aligned malloc instead.
2021-04-19 09:03:37 +02:00
Moyano, Gabriel
b16b47774e ehci_pci: Import from freebsd-org
Updates #4264
2021-03-08 17:46:09 +01:00
Christian Mauderer
182aac377d if_ffec: Fix cache handling on tx
With the previous fix, it could happen that the end of the packet hasn't
been flushed. For example assume the following addresses:

ds_addr: 0x81c804A
ds_len: 0x57

In that case the data ends at 0x81c80a1. But due to the rounding the
area from 0x81c8040 to 0x81c80a0 would have been flushed.

This fix now first calculates the start and end address, aligns these
addresses and then recalculates the len that has to be flushed.

Update #4180
2020-11-20 08:56:40 +01:00
Sebastian Huber
6c83023331 dwc_otg: Add support for nexus bus
Update #3910.
2020-10-27 06:33:05 +01:00
Sebastian Huber
2237f4b053 dwc_otg: Update host frame interval
Update the host frame interval after a device connection.  Select also
the FS/LS PHY clock.  It is not clear if this works on all platforms.

Update #3910.
2020-10-27 06:33:04 +01:00
Jan Sommer
514ffab353 iflib.c: Deactivate use of ifc_cpus
- cpusets and SMP are currently not supported in libbsd for RTEMS
- Disable the ifc_cpus context variable and replace its usage,
essentially hard-coding for cpu 0
2020-09-16 15:52:58 +10:00
Christian Mauderer
4a05b2e41c if_ffec: Align send buffers to cache if necessary. 2020-07-29 11:19:24 +02:00
Christian Mauderer
36b588eb8b rtwn_usb: Make sure buffers are cache aligned 2020-07-29 11:19:14 +02:00
Christian Mauderer
4820ccecc9 busdma: Option to round to cache lines on sync
Some targets support only flushing or invalidating complete cache lines.
In this cases misaligned buffers might lead to unexpected results. This
patch adds a flag that allows drivers to signal to the bus dma driver
that it is OK to round a buffer to the next full cache line. That's for
example necessary if a driver wants to send out 14 byte via a USB DMA.
Only the driver knows whether these 14 bytes are located in an otherwise
unused cache line aligned buffer.
2020-07-29 11:19:14 +02:00
Christian Mauderer
469cc8fbb7 gpioregulator: Remove.
There is a bug in the #ifdef regarding FDT so this file hasn't been
compiled. If that bug is solved, the driver doesn't work for some other
reason.

With the FDT-bug the driver hasn't been used by anyone. So just remove
it again.
2020-07-29 11:15:42 +02:00
Christian Mauderer
a6cf310fb2 regulator: Disable FDT parts for non-FDT targets 2020-04-17 14:43:58 +02:00
Christian Mauderer
db78c8c52f imx: Fix build for all other BSPs. 2020-04-16 10:49:36 +02:00
Christian Mauderer
9dfb3bdef2 ehci_imx: Set/clear ENHOSTDISCONNECT in USB PHY.
This is not a nice solution but it should work on all chips. As soon as
FreeBSD has a nice solution via the USB PHY driver, this should be
replaced.

Update #3869.
2020-04-15 16:32:34 +02:00
Christian Mauderer
c9c4d79898 ehci_imx: Port to RTEMS
Update #3869.
2020-04-15 16:32:34 +02:00
Sebastian Huber
7c34c62c42 ehci_imx: Import from FreeBSD
Update #3869.
2020-04-15 16:32:34 +02:00
Christian Mauderer
9d69204a39 regulator: Import from FreeBSD.
Update #3869.
2020-04-15 16:30:33 +02:00
Sebastian Huber
bd7af5fcee usb_busdma: Add USB_NEED_BUSDMA_COHERENT_ALLOC
Some BSPs have a cache-coherent memory area, however, it should not be
used for the USB controller.
2020-04-15 16:18:43 +02:00
Christian Mauderer
fa81c95416 mmcsd: Don't handle multiple hardware partitions.
The rtems_bsd_mmcsd_attach_worker acquired the bus without releasing it.
If a MMC device has multiple hardware partitions (like eMMC which
typically has at least one boot partition) the
rtems_bsd_mmcsd_attach_worker would try to acquire the bus multiple
times. This doesn't work.

Doing it right would mean to acquire and release the bus for each
access which would have an performance impact. Beneath that it would
mean that partition switching has to be supported by the RTEMS code too.

There is currently no known use case where the access would be
necessary. Therefore this patch prefers the performance and just avoids
all further hardware partitions.
2020-04-01 14:12:11 +02:00
Sebastian Huber
792d56bd33 NVME(4): Fix for big endian platforms
Update #3821.
2020-02-18 14:59:31 +01:00
Jan Sommer
af291fa3a0 i386: Port to RTEMS
- Update imported files to compile rtems-libbsd for i386 based BSPs
- Currently does not support the option "dev_nic_e1000 = on"
2020-02-10 10:44:28 +01:00
Sebastian Huber
7cfd4a5edb NVME(4): Add NVME_GET_NAMESPACE IO control
Update #3821.
2019-11-13 13:04:01 +01:00
Sebastian Huber
1d90e42327 NVME(4): Enable per-CPU IO queues
Update #3821.
2019-11-13 13:03:57 +01:00
Sebastian Huber
ab4be9ec77 NVME(4): Add support for SGL
Update #3821.
2019-11-13 13:03:55 +01:00
Sebastian Huber
bd2bea425e NVME(4): Add SGL descriptor
Update #3821.
2019-11-13 13:03:54 +01:00
Sebastian Huber
4e1cccffc8 NVME(4): Optimize data transfer
Update #3821.
2019-11-13 13:03:52 +01:00
Sebastian Huber
59951a9a9c NVME(4): Big endian support
Update #3821.
2019-11-13 13:03:51 +01:00
Sebastian Huber
53145c7232 NVME(4): Port to RTEMS
Update #3821.
2019-11-13 13:03:49 +01:00
Sebastian Huber
950675442f NVME(4): Import from FreeBSD
Update #3821.
2019-11-13 13:03:36 +01:00
Sebastian Huber
a5ddb0ea69 Update to FreeBSD head 2019-09-24
Git mirror commit 6b0307a0a5184339393f555d5d424190d8a8277a.
2019-11-13 10:47:04 +01:00
Sebastian Huber
c3623025c2 PCI(4): Import missing file 2019-09-23 10:58:01 +02:00
Sebastian Huber
b152932953 PCI(4): Disable unsupported features 2019-09-23 10:57:52 +02:00
Sebastian Huber
5d0b5c9463 PCI(4): Add big endian support 2019-09-23 10:56:41 +02:00
Sebastian Huber
82bccd8104 C++ compatibility for <dev/pci/pcivar.h> 2019-09-23 10:55:45 +02:00
Vijay Kumar Banerjee
951c4b92cf rtemsbsd: remove dead code fb.c 2019-08-31 20:32:38 +02:00
Vijay Kumar Banerjee
d7c01f4569 fbd: Port to RTEMS 2019-08-11 15:57:54 +02:00
Vijay Kumar Banerjee
fa976bc5aa fbd: Import from FreeBSD 2019-08-11 15:57:54 +02:00
Vijay Kumar Banerjee
b7458b0915 TDA19988: Import from FreeBSD 2019-08-11 15:57:54 +02:00
Vijay Kumar Banerjee
e3bc24e616 Pinmux : Import from FreeBSD 2019-08-11 15:57:54 +02:00
Vijay Kumar Banerjee
627fd1624e iicbus: Import from FreeBSD 2019-06-29 10:31:01 +02:00
Sebastian Huber
6a850e083d Fix USB_DEBUG redefinition warnings 2019-05-13 11:19:50 +02:00
Christian Mauderer
589f43d6af Import FreeBSD license files. 2019-04-04 09:07:10 +02:00
Sebastian Huber
0389b30dd9 Fix INVARIANTS support 2019-01-22 13:14:33 +01:00
Sebastian Huber
2b2563da95 Update to FreeBSD head 2018-12-20
Git mirror commit 19a6ceb89dbacf74697d493e48c388767126d418.

It includes an update of wpa_supplicant to version 2.7.

It includes an update of the OpenSSL baseline to version 1.1.1a.

Update #3472.
2018-12-20 13:36:34 +01:00
Sebastian Huber
e0b4edbdcc Update to FreeBSD head 2018-11-15
Git mirror commit a18b0830c4be01b39489a891b63d6023ada6358a.

Update #3472.
2018-11-15 10:56:14 +01:00
Sebastian Huber
b3169c2a6a Update to FreeBSD head 2018-10-23
Git mirror commit 59f44d20be3f99d181ca742e636d45fc39ec982b.

This commit updates OpenSSL to version 1.1.1.  This required an update
of racoon which uses some internal stuff from OpenSSL and seems to be
mostly unmaintained, e.g. there is update in the FreeBSD ports to cope
with OpenSSL 1.1.1.

Update #3472.
2018-10-25 08:38:45 +02:00
Sebastian Huber
1e77a45d54 saf1761_otg: Use real interrupt handler
The USB_BUS_SPIN_LOCK() is only used internally to the bus driver.
Replace the mutex with an interrupt disable/enable section.  Execute the
interrupt filter in a real interrupt context and forward the interrupt
handler to the interrupt server if necessary.
2018-10-04 14:14:51 +02:00
Sebastian Huber
f9d4e1d8c1 rtwn: Align mbuf to avoid realignment in rx path
See ieee80211_realign().
2018-10-04 14:12:56 +02:00