#
1.38 |
|
30-Apr-2021 |
visa |
Add zqreset(4), a driver for Zynq-7000 resets.
Input and OK kettenis@
|
Revision tags: OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE OPENBSD_6_8_BASE OPENBSD_6_9_BASE
|
#
1.37 |
|
05-Jun-2018 |
kettenis |
Move pluart(4) to dev/fdt.
ok jsg@
|
#
1.36 |
|
31-May-2018 |
kettenis |
Move com_fdt.c to dev/fdt since we can share it between armv7 and arm64 now.
ok patrick@
|
#
1.35 |
|
04-May-2018 |
visa |
Add a common rules file for ofw sources to help keep the configurations of fdt-enabled platforms in sync.
OK deraadt@
|
#
1.34 |
|
02-May-2018 |
patrick |
Implement a power domain framework to turn on/off so-called power domains. This mechanism is used by the newer i.MX8M SoCs so that drivers can call into ATF to supply power to e.g. a USB port.
ok kettenis@
|
Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE
|
#
1.33 |
|
14-Jun-2017 |
patrick |
Split early startup code out of armv7_start.S into locore0.S. Adjust link run so that this locore0.o is always at the start of the executable. But randomize the link order of all other .o files in the kernel, so that their exec/rodata/data/bss segments land all over the place. Note that this commit does not yet unmap the early bootcode since this is not as easy as on arm64.
As a result, the internal layout of every newly build bsd kernel is different from past kernels. Internal relative offsets are not known to an outside attacker. The only known offsets are in the startup code, which has been unmapped.
Ramdisk kernels cannot be compiled like this, because they are gzip'd. When the internal pointer references change, the compression dictionary bloats and results in poorer compression.
With guidance and ok deraadt@
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.32 |
|
09-Mar-2017 |
kettenis |
Provide access to our registers through the regmap interface.
ok patrick@
|
#
1.31 |
|
25-Jan-2017 |
jsg |
Move psci(4) and plrtc(4) so arm64 can use them. Tested by and ok patrick@
|
#
1.30 |
|
21-Jan-2017 |
reyk |
Move virtio config from files.pci to files.pci
virtio itself is not PCI, it is a paravirtual bus on top of either PCI or MMIO (arm). This is the first step of moving the virtio files to dev/pv. No functional change.
arm kernel changes tested by jsg@ and patrick@ no objections from sf@ mlarkin@
|
#
1.29 |
|
03-Jan-2017 |
kettenis |
Add simplefb(4), a driver to support the framebuffer set up by the firmware on some platforms that use device trees. Works on Allwinner (sunxi) and should also work on Raspberry Pi (broadcom) armv7 platforms.
ok jsg@, visa@
|
#
1.28 |
|
09-Oct-2016 |
jsg |
Add psci(4) a driver for the reset and power down portion of the ARM Power State Coordination Interface (PSCI) specification.
Tested with qemu-system-arm -M virt.
Feedback from patrick@, ok kettenis@ tom@
|
#
1.27 |
|
07-Oct-2016 |
patrick |
Add a driver for the Marvell Armada 380 core clock. This driver provides information about the four big clocks that are part of this SoC. Attach it early as the serial console needs it and the core clock is after the console in the device tree.
ok kettenis@
|
#
1.26 |
|
31-Aug-2016 |
jsg |
pl011 and pl031 are licenseable peripherals from arm present in multiple socs. Move the pluart and plrtc drivers for them out of the vexpress directory and into dev to reflect this and rename the files to match the driver names.
discussed with patrick and kettenis
|
#
1.25 |
|
21-Aug-2016 |
kettenis |
Add a minimal clock "framework". Build it on armv7.
ok patrick@
|
#
1.24 |
|
15-Aug-2016 |
patrick |
Move the com(4) fdt attachment driver to a more generic location and rename it to fit the typical scheme of such an attachment driver.
ok kettenis@ jsg@
|
#
1.23 |
|
13-Aug-2016 |
kettenis |
Build ofw_regulator.o.
|
#
1.22 |
|
07-Aug-2016 |
kettenis |
Initial support for Raspberry Pi 2/3. All the hard work done by patrick@, I just cleaned things up a bit. Any bugs introduced in that process are entirely mine.
This doesn't work yet. But when it does, you'll need recent firmware from the Raspberry Pi Foundation git repository at
https://github.com/raspberrypi/firmware
The device tree for the Raspberry Pi is somewhat in flux as bits and pieces to support the Raspberry Pi 2 and 3 are committed to the mainline Linux kernel.
|
#
1.21 |
|
06-Aug-2016 |
kettenis |
Build ofw_pinctrl.o and ofw_gpio.o on armv7. The latters here from the generic arm files list. There is no point in building it on armish or zaurus.
ok patrick@
|
#
1.20 |
|
30-Jul-2016 |
kettenis |
Stop pretending we can still boot without an FDT. Remove the code paths handling ATAGS and cleanup the early boot code.
ok patrick@, tom@, jsg@
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.19 |
|
23-May-2016 |
deraadt |
Change openprom into a pseudo-device, because not all arm platforms will have it. This is a bit of a hack. Maybe it should attach off mainbus as a proper fake device, but that would have more tendrils.. checked by jsg
|
#
1.18 |
|
21-May-2016 |
kettenis |
Implement openprom(4) for armv7.
ok deraadt@
|
#
1.17 |
|
02-May-2016 |
patrick |
Rework mainbus and implement simplebus to be able to span a tree-like topology based on device tree information. Introduce a common attach args structure to be used for all fdt-capable bus devices.
ok jsg@ kettenis@
|
#
1.16 |
|
24-Apr-2016 |
patrick |
New FDT-enabled busses will use a new "fdt" attribute. Unfortunately this attribute is currently already defined. This define is only used to disable the unused FDT functionality in the exynos and virtio code. As the FDT code will be developed in a different manner than the way those drivers are written today and the functionality has never been enabled, simply remove the attribute and its users.
ok jsg@
|
#
1.15 |
|
03-Apr-2016 |
patrick |
Map the bootconfig/FDT area passed by u-boot and try to init FDT on it. If we were passed an FDT, we can completely map the tree and later on copy it somewhere in our control, so it's not overwritten by anything.
If we are passed a device tree, we need to grab the information we otherwise would get from the bootinfo struct in another way. We can use the /memory node to parse the machine's memory information. Bootargs are stored in /chosen's bootargs property.
This allows us to boot up like before using the board id, but now also allows us to make use of device tree information.
ok jsg@
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.14 |
|
08-Jan-2016 |
jcs |
Move HID support files out of dev/usb into new dev/hid directory
These files aren't USB-specific and were used by the previous Bluetooth implementation, and will be used by the upcoming HID-over-i2C implementation
ok deraadt previous version ok kettenis and mpi
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.13 |
|
08-Jun-2015 |
jsg |
Add initial support for the ARM Versatile Express boards as emulated by qemu with virtio memory ranges.
Unfortunately the vexpress-a9 and vexpress-a15 boards/targets have different load addresses and memory maps.
Code for the PL011 UART and mmio virtio attachment from Patrick Wildt in bitrig.
|
#
1.12 |
|
27-May-2015 |
jsg |
make the exynos code compile without fdt ok bmercer@
|
#
1.11 |
|
19-May-2015 |
jsg |
Abstract the soc_machdep.c functions to allow a kernel to be built for multiple socs.
From Patrick Wildt in bitrig with some additional changes.
|
Revision tags: OPENBSD_5_6_BASE OPENBSD_5_7_BASE
|
#
1.10 |
|
11-Jul-2014 |
tedu |
"It's not the years, honey; it's the mileage."
bluetooth support doesn't work and isn't going anywhere. the current design is a dead end, and should not be the basis for any future support. general consensus says to whack it so as to not mislead the unwary.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.9 |
|
06-Nov-2013 |
syl |
After factorizing armv7_machdep code here is an effort to factorize all the code present in omap/omap.c imx/imx.c and sunxi/sunxi.c
All this code looks quite the same, so we move it in a generic armv7/armv7.c
This is a step closer to only one kernel for all armv7 boards.
ok patrick@, rapha@
|
#
1.8 |
|
04-Nov-2013 |
deraadt |
remove iop(4) driver. it is entirely unmaintained and supports something which basically doesn't exist at all. reminded about it by brad
|
#
1.7 |
|
30-Oct-2013 |
syl |
Put all the generic machdep code in armv7_machedep.c
Cleanup the machdep code removing: - useless includes - useless globals and prototypes - useless #if 0 and #if 1 - some style(9) issues
This commit will make the bringup of new SoC easier.
ok patrick@ jasper@ rapha@
|
#
1.6 |
|
27-Oct-2013 |
aalm |
enable gpioctl(8) for armv7, and add associated devices on armv7/sunxi.
ok jasper@, patrick@, rapha@
|
#
1.5 |
|
23-Oct-2013 |
jasper |
rename 'allwinner' to 'sunxi' to actually match the SoC name instead of using the vendor to follow our naming convention.
ok aalm@ patrick@
|
#
1.4 |
|
22-Oct-2013 |
jasper |
add support for allwinner-based devices (A1x/A20), such as the cubieboard; any rough edges will be polished intree.
hard work done by Artturi Alm w/ feedback/input from Markus Hennecke, patrick@ and various others.
|
#
1.3 |
|
06-Sep-2013 |
patrick |
Support for FreeScale's i.MX6 SoC.
|
#
1.2 |
|
05-Sep-2013 |
patrick |
Split the files file into a generic one for armv7, and soc-specific ones. Also, rename the bus omap devices attach to to a soc-specific one, so that we can have more than one soc. In the future there should be only one generic bus where soc drivers attach.
|
#
1.1 |
|
04-Sep-2013 |
patrick |
In the future, we shouldn't have one port port ARM SoC, that's just ridiculous. This is the first step for a common and generic ARM port for ARMv7 SoCs.
|
#
1.37 |
|
05-Jun-2018 |
kettenis |
Move pluart(4) to dev/fdt.
ok jsg@
|
#
1.36 |
|
31-May-2018 |
kettenis |
Move com_fdt.c to dev/fdt since we can share it between armv7 and arm64 now.
ok patrick@
|
#
1.35 |
|
04-May-2018 |
visa |
Add a common rules file for ofw sources to help keep the configurations of fdt-enabled platforms in sync.
OK deraadt@
|
#
1.34 |
|
02-May-2018 |
patrick |
Implement a power domain framework to turn on/off so-called power domains. This mechanism is used by the newer i.MX8M SoCs so that drivers can call into ATF to supply power to e.g. a USB port.
ok kettenis@
|
Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE
|
#
1.33 |
|
14-Jun-2017 |
patrick |
Split early startup code out of armv7_start.S into locore0.S. Adjust link run so that this locore0.o is always at the start of the executable. But randomize the link order of all other .o files in the kernel, so that their exec/rodata/data/bss segments land all over the place. Note that this commit does not yet unmap the early bootcode since this is not as easy as on arm64.
As a result, the internal layout of every newly build bsd kernel is different from past kernels. Internal relative offsets are not known to an outside attacker. The only known offsets are in the startup code, which has been unmapped.
Ramdisk kernels cannot be compiled like this, because they are gzip'd. When the internal pointer references change, the compression dictionary bloats and results in poorer compression.
With guidance and ok deraadt@
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.32 |
|
09-Mar-2017 |
kettenis |
Provide access to our registers through the regmap interface.
ok patrick@
|
#
1.31 |
|
25-Jan-2017 |
jsg |
Move psci(4) and plrtc(4) so arm64 can use them. Tested by and ok patrick@
|
#
1.30 |
|
21-Jan-2017 |
reyk |
Move virtio config from files.pci to files.pci
virtio itself is not PCI, it is a paravirtual bus on top of either PCI or MMIO (arm). This is the first step of moving the virtio files to dev/pv. No functional change.
arm kernel changes tested by jsg@ and patrick@ no objections from sf@ mlarkin@
|
#
1.29 |
|
03-Jan-2017 |
kettenis |
Add simplefb(4), a driver to support the framebuffer set up by the firmware on some platforms that use device trees. Works on Allwinner (sunxi) and should also work on Raspberry Pi (broadcom) armv7 platforms.
ok jsg@, visa@
|
#
1.28 |
|
09-Oct-2016 |
jsg |
Add psci(4) a driver for the reset and power down portion of the ARM Power State Coordination Interface (PSCI) specification.
Tested with qemu-system-arm -M virt.
Feedback from patrick@, ok kettenis@ tom@
|
#
1.27 |
|
07-Oct-2016 |
patrick |
Add a driver for the Marvell Armada 380 core clock. This driver provides information about the four big clocks that are part of this SoC. Attach it early as the serial console needs it and the core clock is after the console in the device tree.
ok kettenis@
|
#
1.26 |
|
31-Aug-2016 |
jsg |
pl011 and pl031 are licenseable peripherals from arm present in multiple socs. Move the pluart and plrtc drivers for them out of the vexpress directory and into dev to reflect this and rename the files to match the driver names.
discussed with patrick and kettenis
|
#
1.25 |
|
21-Aug-2016 |
kettenis |
Add a minimal clock "framework". Build it on armv7.
ok patrick@
|
#
1.24 |
|
15-Aug-2016 |
patrick |
Move the com(4) fdt attachment driver to a more generic location and rename it to fit the typical scheme of such an attachment driver.
ok kettenis@ jsg@
|
#
1.23 |
|
13-Aug-2016 |
kettenis |
Build ofw_regulator.o.
|
#
1.22 |
|
07-Aug-2016 |
kettenis |
Initial support for Raspberry Pi 2/3. All the hard work done by patrick@, I just cleaned things up a bit. Any bugs introduced in that process are entirely mine.
This doesn't work yet. But when it does, you'll need recent firmware from the Raspberry Pi Foundation git repository at
https://github.com/raspberrypi/firmware
The device tree for the Raspberry Pi is somewhat in flux as bits and pieces to support the Raspberry Pi 2 and 3 are committed to the mainline Linux kernel.
|
#
1.21 |
|
06-Aug-2016 |
kettenis |
Build ofw_pinctrl.o and ofw_gpio.o on armv7. The latters here from the generic arm files list. There is no point in building it on armish or zaurus.
ok patrick@
|
#
1.20 |
|
30-Jul-2016 |
kettenis |
Stop pretending we can still boot without an FDT. Remove the code paths handling ATAGS and cleanup the early boot code.
ok patrick@, tom@, jsg@
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.19 |
|
23-May-2016 |
deraadt |
Change openprom into a pseudo-device, because not all arm platforms will have it. This is a bit of a hack. Maybe it should attach off mainbus as a proper fake device, but that would have more tendrils.. checked by jsg
|
#
1.18 |
|
21-May-2016 |
kettenis |
Implement openprom(4) for armv7.
ok deraadt@
|
#
1.17 |
|
02-May-2016 |
patrick |
Rework mainbus and implement simplebus to be able to span a tree-like topology based on device tree information. Introduce a common attach args structure to be used for all fdt-capable bus devices.
ok jsg@ kettenis@
|
#
1.16 |
|
24-Apr-2016 |
patrick |
New FDT-enabled busses will use a new "fdt" attribute. Unfortunately this attribute is currently already defined. This define is only used to disable the unused FDT functionality in the exynos and virtio code. As the FDT code will be developed in a different manner than the way those drivers are written today and the functionality has never been enabled, simply remove the attribute and its users.
ok jsg@
|
#
1.15 |
|
03-Apr-2016 |
patrick |
Map the bootconfig/FDT area passed by u-boot and try to init FDT on it. If we were passed an FDT, we can completely map the tree and later on copy it somewhere in our control, so it's not overwritten by anything.
If we are passed a device tree, we need to grab the information we otherwise would get from the bootinfo struct in another way. We can use the /memory node to parse the machine's memory information. Bootargs are stored in /chosen's bootargs property.
This allows us to boot up like before using the board id, but now also allows us to make use of device tree information.
ok jsg@
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.14 |
|
08-Jan-2016 |
jcs |
Move HID support files out of dev/usb into new dev/hid directory
These files aren't USB-specific and were used by the previous Bluetooth implementation, and will be used by the upcoming HID-over-i2C implementation
ok deraadt previous version ok kettenis and mpi
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.13 |
|
08-Jun-2015 |
jsg |
Add initial support for the ARM Versatile Express boards as emulated by qemu with virtio memory ranges.
Unfortunately the vexpress-a9 and vexpress-a15 boards/targets have different load addresses and memory maps.
Code for the PL011 UART and mmio virtio attachment from Patrick Wildt in bitrig.
|
#
1.12 |
|
27-May-2015 |
jsg |
make the exynos code compile without fdt ok bmercer@
|
#
1.11 |
|
19-May-2015 |
jsg |
Abstract the soc_machdep.c functions to allow a kernel to be built for multiple socs.
From Patrick Wildt in bitrig with some additional changes.
|
Revision tags: OPENBSD_5_6_BASE OPENBSD_5_7_BASE
|
#
1.10 |
|
11-Jul-2014 |
tedu |
"It's not the years, honey; it's the mileage."
bluetooth support doesn't work and isn't going anywhere. the current design is a dead end, and should not be the basis for any future support. general consensus says to whack it so as to not mislead the unwary.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.9 |
|
06-Nov-2013 |
syl |
After factorizing armv7_machdep code here is an effort to factorize all the code present in omap/omap.c imx/imx.c and sunxi/sunxi.c
All this code looks quite the same, so we move it in a generic armv7/armv7.c
This is a step closer to only one kernel for all armv7 boards.
ok patrick@, rapha@
|
#
1.8 |
|
04-Nov-2013 |
deraadt |
remove iop(4) driver. it is entirely unmaintained and supports something which basically doesn't exist at all. reminded about it by brad
|
#
1.7 |
|
30-Oct-2013 |
syl |
Put all the generic machdep code in armv7_machedep.c
Cleanup the machdep code removing: - useless includes - useless globals and prototypes - useless #if 0 and #if 1 - some style(9) issues
This commit will make the bringup of new SoC easier.
ok patrick@ jasper@ rapha@
|
#
1.6 |
|
27-Oct-2013 |
aalm |
enable gpioctl(8) for armv7, and add associated devices on armv7/sunxi.
ok jasper@, patrick@, rapha@
|
#
1.5 |
|
23-Oct-2013 |
jasper |
rename 'allwinner' to 'sunxi' to actually match the SoC name instead of using the vendor to follow our naming convention.
ok aalm@ patrick@
|
#
1.4 |
|
22-Oct-2013 |
jasper |
add support for allwinner-based devices (A1x/A20), such as the cubieboard; any rough edges will be polished intree.
hard work done by Artturi Alm w/ feedback/input from Markus Hennecke, patrick@ and various others.
|
#
1.3 |
|
06-Sep-2013 |
patrick |
Support for FreeScale's i.MX6 SoC.
|
#
1.2 |
|
05-Sep-2013 |
patrick |
Split the files file into a generic one for armv7, and soc-specific ones. Also, rename the bus omap devices attach to to a soc-specific one, so that we can have more than one soc. In the future there should be only one generic bus where soc drivers attach.
|
#
1.1 |
|
04-Sep-2013 |
patrick |
In the future, we shouldn't have one port port ARM SoC, that's just ridiculous. This is the first step for a common and generic ARM port for ARMv7 SoCs.
|
#
1.35 |
|
04-May-2018 |
visa |
Add a common rules file for ofw sources to help keep the configurations of fdt-enabled platforms in sync.
OK deraadt@
|
#
1.34 |
|
02-May-2018 |
patrick |
Implement a power domain framework to turn on/off so-called power domains. This mechanism is used by the newer i.MX8M SoCs so that drivers can call into ATF to supply power to e.g. a USB port.
ok kettenis@
|
Revision tags: OPENBSD_6_2_BASE OPENBSD_6_3_BASE
|
#
1.33 |
|
14-Jun-2017 |
patrick |
Split early startup code out of armv7_start.S into locore0.S. Adjust link run so that this locore0.o is always at the start of the executable. But randomize the link order of all other .o files in the kernel, so that their exec/rodata/data/bss segments land all over the place. Note that this commit does not yet unmap the early bootcode since this is not as easy as on arm64.
As a result, the internal layout of every newly build bsd kernel is different from past kernels. Internal relative offsets are not known to an outside attacker. The only known offsets are in the startup code, which has been unmapped.
Ramdisk kernels cannot be compiled like this, because they are gzip'd. When the internal pointer references change, the compression dictionary bloats and results in poorer compression.
With guidance and ok deraadt@
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.32 |
|
09-Mar-2017 |
kettenis |
Provide access to our registers through the regmap interface.
ok patrick@
|
#
1.31 |
|
25-Jan-2017 |
jsg |
Move psci(4) and plrtc(4) so arm64 can use them. Tested by and ok patrick@
|
#
1.30 |
|
21-Jan-2017 |
reyk |
Move virtio config from files.pci to files.pci
virtio itself is not PCI, it is a paravirtual bus on top of either PCI or MMIO (arm). This is the first step of moving the virtio files to dev/pv. No functional change.
arm kernel changes tested by jsg@ and patrick@ no objections from sf@ mlarkin@
|
#
1.29 |
|
03-Jan-2017 |
kettenis |
Add simplefb(4), a driver to support the framebuffer set up by the firmware on some platforms that use device trees. Works on Allwinner (sunxi) and should also work on Raspberry Pi (broadcom) armv7 platforms.
ok jsg@, visa@
|
#
1.28 |
|
09-Oct-2016 |
jsg |
Add psci(4) a driver for the reset and power down portion of the ARM Power State Coordination Interface (PSCI) specification.
Tested with qemu-system-arm -M virt.
Feedback from patrick@, ok kettenis@ tom@
|
#
1.27 |
|
07-Oct-2016 |
patrick |
Add a driver for the Marvell Armada 380 core clock. This driver provides information about the four big clocks that are part of this SoC. Attach it early as the serial console needs it and the core clock is after the console in the device tree.
ok kettenis@
|
#
1.26 |
|
31-Aug-2016 |
jsg |
pl011 and pl031 are licenseable peripherals from arm present in multiple socs. Move the pluart and plrtc drivers for them out of the vexpress directory and into dev to reflect this and rename the files to match the driver names.
discussed with patrick and kettenis
|
#
1.25 |
|
21-Aug-2016 |
kettenis |
Add a minimal clock "framework". Build it on armv7.
ok patrick@
|
#
1.24 |
|
15-Aug-2016 |
patrick |
Move the com(4) fdt attachment driver to a more generic location and rename it to fit the typical scheme of such an attachment driver.
ok kettenis@ jsg@
|
#
1.23 |
|
13-Aug-2016 |
kettenis |
Build ofw_regulator.o.
|
#
1.22 |
|
07-Aug-2016 |
kettenis |
Initial support for Raspberry Pi 2/3. All the hard work done by patrick@, I just cleaned things up a bit. Any bugs introduced in that process are entirely mine.
This doesn't work yet. But when it does, you'll need recent firmware from the Raspberry Pi Foundation git repository at
https://github.com/raspberrypi/firmware
The device tree for the Raspberry Pi is somewhat in flux as bits and pieces to support the Raspberry Pi 2 and 3 are committed to the mainline Linux kernel.
|
#
1.21 |
|
06-Aug-2016 |
kettenis |
Build ofw_pinctrl.o and ofw_gpio.o on armv7. The latters here from the generic arm files list. There is no point in building it on armish or zaurus.
ok patrick@
|
#
1.20 |
|
30-Jul-2016 |
kettenis |
Stop pretending we can still boot without an FDT. Remove the code paths handling ATAGS and cleanup the early boot code.
ok patrick@, tom@, jsg@
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.19 |
|
23-May-2016 |
deraadt |
Change openprom into a pseudo-device, because not all arm platforms will have it. This is a bit of a hack. Maybe it should attach off mainbus as a proper fake device, but that would have more tendrils.. checked by jsg
|
#
1.18 |
|
21-May-2016 |
kettenis |
Implement openprom(4) for armv7.
ok deraadt@
|
#
1.17 |
|
02-May-2016 |
patrick |
Rework mainbus and implement simplebus to be able to span a tree-like topology based on device tree information. Introduce a common attach args structure to be used for all fdt-capable bus devices.
ok jsg@ kettenis@
|
#
1.16 |
|
24-Apr-2016 |
patrick |
New FDT-enabled busses will use a new "fdt" attribute. Unfortunately this attribute is currently already defined. This define is only used to disable the unused FDT functionality in the exynos and virtio code. As the FDT code will be developed in a different manner than the way those drivers are written today and the functionality has never been enabled, simply remove the attribute and its users.
ok jsg@
|
#
1.15 |
|
03-Apr-2016 |
patrick |
Map the bootconfig/FDT area passed by u-boot and try to init FDT on it. If we were passed an FDT, we can completely map the tree and later on copy it somewhere in our control, so it's not overwritten by anything.
If we are passed a device tree, we need to grab the information we otherwise would get from the bootinfo struct in another way. We can use the /memory node to parse the machine's memory information. Bootargs are stored in /chosen's bootargs property.
This allows us to boot up like before using the board id, but now also allows us to make use of device tree information.
ok jsg@
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.14 |
|
08-Jan-2016 |
jcs |
Move HID support files out of dev/usb into new dev/hid directory
These files aren't USB-specific and were used by the previous Bluetooth implementation, and will be used by the upcoming HID-over-i2C implementation
ok deraadt previous version ok kettenis and mpi
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.13 |
|
08-Jun-2015 |
jsg |
Add initial support for the ARM Versatile Express boards as emulated by qemu with virtio memory ranges.
Unfortunately the vexpress-a9 and vexpress-a15 boards/targets have different load addresses and memory maps.
Code for the PL011 UART and mmio virtio attachment from Patrick Wildt in bitrig.
|
#
1.12 |
|
27-May-2015 |
jsg |
make the exynos code compile without fdt ok bmercer@
|
#
1.11 |
|
19-May-2015 |
jsg |
Abstract the soc_machdep.c functions to allow a kernel to be built for multiple socs.
From Patrick Wildt in bitrig with some additional changes.
|
Revision tags: OPENBSD_5_6_BASE OPENBSD_5_7_BASE
|
#
1.10 |
|
11-Jul-2014 |
tedu |
"It's not the years, honey; it's the mileage."
bluetooth support doesn't work and isn't going anywhere. the current design is a dead end, and should not be the basis for any future support. general consensus says to whack it so as to not mislead the unwary.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.9 |
|
06-Nov-2013 |
syl |
After factorizing armv7_machdep code here is an effort to factorize all the code present in omap/omap.c imx/imx.c and sunxi/sunxi.c
All this code looks quite the same, so we move it in a generic armv7/armv7.c
This is a step closer to only one kernel for all armv7 boards.
ok patrick@, rapha@
|
#
1.8 |
|
04-Nov-2013 |
deraadt |
remove iop(4) driver. it is entirely unmaintained and supports something which basically doesn't exist at all. reminded about it by brad
|
#
1.7 |
|
30-Oct-2013 |
syl |
Put all the generic machdep code in armv7_machedep.c
Cleanup the machdep code removing: - useless includes - useless globals and prototypes - useless #if 0 and #if 1 - some style(9) issues
This commit will make the bringup of new SoC easier.
ok patrick@ jasper@ rapha@
|
#
1.6 |
|
27-Oct-2013 |
aalm |
enable gpioctl(8) for armv7, and add associated devices on armv7/sunxi.
ok jasper@, patrick@, rapha@
|
#
1.5 |
|
23-Oct-2013 |
jasper |
rename 'allwinner' to 'sunxi' to actually match the SoC name instead of using the vendor to follow our naming convention.
ok aalm@ patrick@
|
#
1.4 |
|
22-Oct-2013 |
jasper |
add support for allwinner-based devices (A1x/A20), such as the cubieboard; any rough edges will be polished intree.
hard work done by Artturi Alm w/ feedback/input from Markus Hennecke, patrick@ and various others.
|
#
1.3 |
|
06-Sep-2013 |
patrick |
Support for FreeScale's i.MX6 SoC.
|
#
1.2 |
|
05-Sep-2013 |
patrick |
Split the files file into a generic one for armv7, and soc-specific ones. Also, rename the bus omap devices attach to to a soc-specific one, so that we can have more than one soc. In the future there should be only one generic bus where soc drivers attach.
|
#
1.1 |
|
04-Sep-2013 |
patrick |
In the future, we shouldn't have one port port ARM SoC, that's just ridiculous. This is the first step for a common and generic ARM port for ARMv7 SoCs.
|
Revision tags: OPENBSD_6_2_BASE
|
#
1.33 |
|
14-Jun-2017 |
patrick |
Split early startup code out of armv7_start.S into locore0.S. Adjust link run so that this locore0.o is always at the start of the executable. But randomize the link order of all other .o files in the kernel, so that their exec/rodata/data/bss segments land all over the place. Note that this commit does not yet unmap the early bootcode since this is not as easy as on arm64.
As a result, the internal layout of every newly build bsd kernel is different from past kernels. Internal relative offsets are not known to an outside attacker. The only known offsets are in the startup code, which has been unmapped.
Ramdisk kernels cannot be compiled like this, because they are gzip'd. When the internal pointer references change, the compression dictionary bloats and results in poorer compression.
With guidance and ok deraadt@
|
Revision tags: OPENBSD_6_1_BASE
|
#
1.32 |
|
09-Mar-2017 |
kettenis |
Provide access to our registers through the regmap interface.
ok patrick@
|
#
1.31 |
|
25-Jan-2017 |
jsg |
Move psci(4) and plrtc(4) so arm64 can use them. Tested by and ok patrick@
|
#
1.30 |
|
21-Jan-2017 |
reyk |
Move virtio config from files.pci to files.pci
virtio itself is not PCI, it is a paravirtual bus on top of either PCI or MMIO (arm). This is the first step of moving the virtio files to dev/pv. No functional change.
arm kernel changes tested by jsg@ and patrick@ no objections from sf@ mlarkin@
|
#
1.29 |
|
03-Jan-2017 |
kettenis |
Add simplefb(4), a driver to support the framebuffer set up by the firmware on some platforms that use device trees. Works on Allwinner (sunxi) and should also work on Raspberry Pi (broadcom) armv7 platforms.
ok jsg@, visa@
|
#
1.28 |
|
09-Oct-2016 |
jsg |
Add psci(4) a driver for the reset and power down portion of the ARM Power State Coordination Interface (PSCI) specification.
Tested with qemu-system-arm -M virt.
Feedback from patrick@, ok kettenis@ tom@
|
#
1.27 |
|
07-Oct-2016 |
patrick |
Add a driver for the Marvell Armada 380 core clock. This driver provides information about the four big clocks that are part of this SoC. Attach it early as the serial console needs it and the core clock is after the console in the device tree.
ok kettenis@
|
#
1.26 |
|
31-Aug-2016 |
jsg |
pl011 and pl031 are licenseable peripherals from arm present in multiple socs. Move the pluart and plrtc drivers for them out of the vexpress directory and into dev to reflect this and rename the files to match the driver names.
discussed with patrick and kettenis
|
#
1.25 |
|
21-Aug-2016 |
kettenis |
Add a minimal clock "framework". Build it on armv7.
ok patrick@
|
#
1.24 |
|
15-Aug-2016 |
patrick |
Move the com(4) fdt attachment driver to a more generic location and rename it to fit the typical scheme of such an attachment driver.
ok kettenis@ jsg@
|
#
1.23 |
|
13-Aug-2016 |
kettenis |
Build ofw_regulator.o.
|
#
1.22 |
|
07-Aug-2016 |
kettenis |
Initial support for Raspberry Pi 2/3. All the hard work done by patrick@, I just cleaned things up a bit. Any bugs introduced in that process are entirely mine.
This doesn't work yet. But when it does, you'll need recent firmware from the Raspberry Pi Foundation git repository at
https://github.com/raspberrypi/firmware
The device tree for the Raspberry Pi is somewhat in flux as bits and pieces to support the Raspberry Pi 2 and 3 are committed to the mainline Linux kernel.
|
#
1.21 |
|
06-Aug-2016 |
kettenis |
Build ofw_pinctrl.o and ofw_gpio.o on armv7. The latters here from the generic arm files list. There is no point in building it on armish or zaurus.
ok patrick@
|
#
1.20 |
|
30-Jul-2016 |
kettenis |
Stop pretending we can still boot without an FDT. Remove the code paths handling ATAGS and cleanup the early boot code.
ok patrick@, tom@, jsg@
|
Revision tags: OPENBSD_6_0_BASE
|
#
1.19 |
|
23-May-2016 |
deraadt |
Change openprom into a pseudo-device, because not all arm platforms will have it. This is a bit of a hack. Maybe it should attach off mainbus as a proper fake device, but that would have more tendrils.. checked by jsg
|
#
1.18 |
|
21-May-2016 |
kettenis |
Implement openprom(4) for armv7.
ok deraadt@
|
#
1.17 |
|
02-May-2016 |
patrick |
Rework mainbus and implement simplebus to be able to span a tree-like topology based on device tree information. Introduce a common attach args structure to be used for all fdt-capable bus devices.
ok jsg@ kettenis@
|
#
1.16 |
|
24-Apr-2016 |
patrick |
New FDT-enabled busses will use a new "fdt" attribute. Unfortunately this attribute is currently already defined. This define is only used to disable the unused FDT functionality in the exynos and virtio code. As the FDT code will be developed in a different manner than the way those drivers are written today and the functionality has never been enabled, simply remove the attribute and its users.
ok jsg@
|
#
1.15 |
|
03-Apr-2016 |
patrick |
Map the bootconfig/FDT area passed by u-boot and try to init FDT on it. If we were passed an FDT, we can completely map the tree and later on copy it somewhere in our control, so it's not overwritten by anything.
If we are passed a device tree, we need to grab the information we otherwise would get from the bootinfo struct in another way. We can use the /memory node to parse the machine's memory information. Bootargs are stored in /chosen's bootargs property.
This allows us to boot up like before using the board id, but now also allows us to make use of device tree information.
ok jsg@
|
Revision tags: OPENBSD_5_9_BASE
|
#
1.14 |
|
08-Jan-2016 |
jcs |
Move HID support files out of dev/usb into new dev/hid directory
These files aren't USB-specific and were used by the previous Bluetooth implementation, and will be used by the upcoming HID-over-i2C implementation
ok deraadt previous version ok kettenis and mpi
|
Revision tags: OPENBSD_5_8_BASE
|
#
1.13 |
|
08-Jun-2015 |
jsg |
Add initial support for the ARM Versatile Express boards as emulated by qemu with virtio memory ranges.
Unfortunately the vexpress-a9 and vexpress-a15 boards/targets have different load addresses and memory maps.
Code for the PL011 UART and mmio virtio attachment from Patrick Wildt in bitrig.
|
#
1.12 |
|
27-May-2015 |
jsg |
make the exynos code compile without fdt ok bmercer@
|
#
1.11 |
|
19-May-2015 |
jsg |
Abstract the soc_machdep.c functions to allow a kernel to be built for multiple socs.
From Patrick Wildt in bitrig with some additional changes.
|
Revision tags: OPENBSD_5_6_BASE OPENBSD_5_7_BASE
|
#
1.10 |
|
11-Jul-2014 |
tedu |
"It's not the years, honey; it's the mileage."
bluetooth support doesn't work and isn't going anywhere. the current design is a dead end, and should not be the basis for any future support. general consensus says to whack it so as to not mislead the unwary.
|
Revision tags: OPENBSD_5_5_BASE
|
#
1.9 |
|
06-Nov-2013 |
syl |
After factorizing armv7_machdep code here is an effort to factorize all the code present in omap/omap.c imx/imx.c and sunxi/sunxi.c
All this code looks quite the same, so we move it in a generic armv7/armv7.c
This is a step closer to only one kernel for all armv7 boards.
ok patrick@, rapha@
|
#
1.8 |
|
04-Nov-2013 |
deraadt |
remove iop(4) driver. it is entirely unmaintained and supports something which basically doesn't exist at all. reminded about it by brad
|
#
1.7 |
|
30-Oct-2013 |
syl |
Put all the generic machdep code in armv7_machedep.c
Cleanup the machdep code removing: - useless includes - useless globals and prototypes - useless #if 0 and #if 1 - some style(9) issues
This commit will make the bringup of new SoC easier.
ok patrick@ jasper@ rapha@
|
#
1.6 |
|
27-Oct-2013 |
aalm |
enable gpioctl(8) for armv7, and add associated devices on armv7/sunxi.
ok jasper@, patrick@, rapha@
|
#
1.5 |
|
23-Oct-2013 |
jasper |
rename 'allwinner' to 'sunxi' to actually match the SoC name instead of using the vendor to follow our naming convention.
ok aalm@ patrick@
|
#
1.4 |
|
22-Oct-2013 |
jasper |
add support for allwinner-based devices (A1x/A20), such as the cubieboard; any rough edges will be polished intree.
hard work done by Artturi Alm w/ feedback/input from Markus Hennecke, patrick@ and various others.
|
#
1.3 |
|
06-Sep-2013 |
patrick |
Support for FreeScale's i.MX6 SoC.
|
#
1.2 |
|
05-Sep-2013 |
patrick |
Split the files file into a generic one for armv7, and soc-specific ones. Also, rename the bus omap devices attach to to a soc-specific one, so that we can have more than one soc. In the future there should be only one generic bus where soc drivers attach.
|
#
1.1 |
|
04-Sep-2013 |
patrick |
In the future, we shouldn't have one port port ARM SoC, that's just ridiculous. This is the first step for a common and generic ARM port for ARMv7 SoCs.
|