summaryrefslogtreecommitdiff
path: root/sys/arch/armv7
AgeCommit message (Collapse)Author
2016-11-22Add support for the sun9i USB PHYs and attach to the sun9i EHCI controllers.Mark Kettenis
Doesn't work yet, but it is a step in the right direction.
2016-11-21Add support for "allwinner,sun9i-a80-usb-mod-clk" andMark Kettenis
"allwinner,sun9i-a80-usb-phy-clk" compatile clocks. Enable parent clock of clock gates.
2016-11-15Clean up the kernel Makefile's:Martin Natano
- Remove the 'lint' target. lint has been removed with OpenBSD 5.2. - Remove the 'tags' target. It does nothing of value. - Replace 'clean::' with 'clean:', as requested by espie and millert, and remove files from the 'clean' target, that are never generated. - Don't create a file called 'depend' in 'make depend', but just do nothing instead. ok mpi tb
2016-11-10Add support for "allwinner,sun9i-a80-apb1-clk" compatible clocks.Mark Kettenis
This makes the serial console work properly and makes Cubieboard4 go multi-user.
2016-11-08Add a few more easy sun9i-a80 clocks.Mark Kettenis
2016-11-08Add support for "allwinner,sun9i-a80-mmc-clk" compatible clocks.Mark Kettenis
2016-11-08Add support for sun9i-a80, the Allwinner A80.Mark Kettenis
2016-11-08Add support for sun9i-a80, the Allwinner A80.Mark Kettenis
2016-11-06Do not create machine@ symlinks in obj as root during includes:, butTheo Buehler
defer their creation to later, so that they are owned by BUILDUSER. This eliminates the last root-owned files in obj/ from 'make build'. In addition, place a MACHINE == hppa test in hppa/stand/Makefile.inc to avoid creating bogus symlinks on all other archs. joint work with & ok natano, "let's try it" deraadt
2016-11-05Two tweaks for compile/Makefile.inc:Martin Natano
1) Replace '.elif !exists(${OBJDIR}/Makefile)' with just '.else'. espie pointed out, that if the file existed, make wouldn't be reading this file, so the check is superflous. Less clutter. 2) Unconditionally define the 'clean' and 'cleandir' targets, also when obj doesn't exist. This changes the behaviour of 'make clean' to be successful (doing nothing) without obj@ or obj/. ok tb millert deraadt
2016-10-27We don't generate an eddep script for kernel builds nowadays. The lastMartin Natano
reference to eddep in the kernel Makefile I could find is in 4.3BSD, released some 30 years ago. ok tb millert
2016-10-25Remove now unused disable_l2_if_needed interface.Jonathan Gray
ok kettenis@ patrick@
2016-10-24make cleandir should skip the version file; ok otto millertTheo de Raadt
2016-10-23Remove sunxi board IDs.Mark Kettenis
2016-10-23De-platformize sunxi. This removes the board initialization code that sets upMark Kettenis
SRAM for the EMAC. Instead we rely on u-boot setting this up for us. ok jsg@, patrick@
2016-10-23Only attach on sun4i and sun5i. The timer implemented on later SoCs lacksMark Kettenis
the 64-bit counter that we use as timecounter. Those SoCs have a generic timer so we don't need the SoC-specific one.
2016-10-23stop disabling the external pl310 l2 cache on pandaboardJonathan Gray
The consensus is that this was done before the bugs in the cache flushing code were fixed. The pl310 has been enabled on imx for some time now and it works fine here on pandaboard as well. ok patrick@ kettenis@ bmercer@
2016-10-22Attach sxitimer(4) using the fdt.Mark Kettenis
2016-10-22Stop setting MIIF_AUTOTSLEEP in sxie(4)Jonathan Gray
This can lead to tsleep in an interrupt context. Tested by and ok kettenis@
2016-10-21Stop setting MIIF_AUTOTSLEEP in fec(4)Jonathan Gray
This can lead to tsleep in an interrupt context, which resulted in the following panic: kernel diagnostic assertion "p->p_wchan == NULL" failed: file "/usr/src/sys/kern/kern_sched.c", line 333 TID PPID PGRP UID S FLAGS WAIT COMMAND 86009 0 0 0 2 0x40014200 miiaut idle0 Reported by matthieu@ with sabre lite, analysis by guenther@ ok kettenis@
2016-10-21Implement a driver for Marvell's Mbus bridge. This is the componentPatrick Wildt
that lets e.g. the CPU access a USB controller or the USB controller access the system's RAM. The bridge needs to be configured for the devices before we can access the controller or a controller our memory. Since it otherwise acts like a simplebus, simply attach simplebus once we are finished. "looks good to me" kettenis@
2016-10-21Run timers from the 24MHz; it seems the A10s doesn't have a reliable 32kHzMark Kettenis
clock. Fixes the clock on the Olimux A10s OLinuXino-Micro board.
2016-10-15cleandir: target for kernel compile directoriesTheo de Raadt
ok natano
2016-10-14Kernel builds now happen in compile/CONFIG/obj@ -> /usr/obj/... [or ./obj/,Theo de Raadt
if srctree is not rooted at /usr/src]. As a result, stock GENERIC & RAMDISK kernels are commited to the tree, to ensure the src tree can be "readonly" during builds, with all writes occuring inside the obj space. config -b options are handled by ../Makefile.inc. The canonical new way to configure one of these kernels is: % cd /sys/arch/amd64/compile/GENERIC.MP % doas make obj % make config % make % doas cp obj/bsd /bsd The build infrastructure will use this new mechanism in a de-escalation way using BUILDUSER. Much help from natano and tb.
2016-10-09Add psci(4) a driver for the reset and power down portion of theJonathan Gray
ARM Power State Coordination Interface (PSCI) specification. Tested with qemu-system-arm -M virt. Feedback from patrick@, ok kettenis@ tom@
2016-10-09Attach sxiccmu(4) using the fdt.Mark Kettenis
ok jsg@
2016-10-09Change raw dsb and smc opcodes to instructions. The dsb encoding didJonathan Gray
not set an option where as having just a 'dsb' instruction results in the 'sy'/full system option being set. Unknown/reserved options are supposed to result in a full system dsb but the ARM ARM specifically calls this out as something software should not rely on. ok patrick@
2016-10-09Remove the vexpress platform abstraction and board id. All the devicesJonathan Gray
that attached to vexpress have been converted to fdt so this is no longer required.
2016-10-09Add a power down function pointer so power down can work without theJonathan Gray
platform abstraction. ok tom@ kettenis@
2016-10-08Simplify handling of cold reboot on armv7 to match other platformsTom Cosgrove
Suggested by and ok both patrick@ and kettenis@
2016-10-08Make sxidog(4) set cpuresetfn, and cut some dead wood from the platform code.Mark Kettenis
2016-10-08Attach sxipio(4) using the fdt.Mark Kettenis
ok jsg@, patrick@
2016-10-08Dynamically attach sysreg(4) using the FDT.Jonathan Gray
2016-10-08Use the fdt root node instead of board ids to gate omap4 specific code.Jonathan Gray
2016-10-08Only set the highspeed bit in bus_clock if highspeed is supportedJonathan Gray
by the controller. Needed as the bus_clock callback is called with SDMMC_TIMING_HIGHSPEED even if the controller capability is not set. Required to raise the bus width on pandaboard which doesn't have the highspeed capability. As anything other than 1 bit mode results in the emmc on the bbb timing out waiting for command completion, limit higher bus modes to the first hsmmc controller. This at least lets 4 bit modes work with sd cards on bbb and pandaboard.
2016-10-07Implement a driver for Marvell Armada's clock gates. This basicallyPatrick Wildt
turns on a peripheral's power and functionality. ok kettenis@
2016-10-07Fixup comment by removing a word.Patrick Wildt
"free commit" kettenis@
2016-10-07Support the Marvell Armada's System Controller to be able to resetPatrick Wildt
the machine. ok kettenis@ ok tom@ on previous version
2016-10-07Don't forget to add the CVS Id tag.Patrick Wildt
2016-10-07Add a driver for the Marvell Armada 380 core clock. This driverPatrick Wildt
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@
2016-10-06Remove board IDs for the i.MX platform. The kernel doesn't need them anymore.Mark Kettenis
Make sure we pass 0 as the board ID instead of random garbage if we don't find a matching compatible string. ok jsg@
2016-10-05Make imxdog(4) set cpuresetfn, and remove all the imx platform that is noMark Kettenis
longer needed, including the imx board IDs. ok patrick@, jsg@
2016-10-05Some device trees use 64-bit intermediate virtual addresses. ThisPatrick Wildt
means that even though the hardware in the end never leaves the 32-bit address space, some addresses used solely in the device tree can be bigger than 32-bit. As bus_space_map(9) takes addresses of size bus_addr_t, which is 32-bit on ARMv7, we cannot pass those virtual addresses to the parent bus, even though it will be mapped back into a 32-bit address in the end. To work around this, make bus_space_map(9) take a 64-bit address. Since this is implemented as a macro and function pointer we can safely do that without harming any other architecture. ok kettenis@ deraadt@
2016-10-05Introduce a global function pointer to reset the CPU akin to amd64 andPatrick Wildt
i386. As newer ARMs where we use device tree from the get go don't necessarily have a 'platform', this will allow drivers to hook themselves as a way to reset the CPU. ok jsg@ kettenis@ tom@
2016-10-03Disable sitaracm and add a new ompinmux driver for omap pin muxing/padJonathan Gray
configuration that attaches with the fdt and writes values to registers based on the pinctrl data in the fdt. Handles 16 bit values (OMAP3/OMAP4) and 32 bit values (AM335x/AM57xx). Feedback from and ok kettenis@ tom@ on an earlier version.
2016-10-02Set IFCAP_VLAN_MTU capability in cpsw(4). AvoidsJonathan Gray
"ifconfig: SIOCSETVLAN: No buffer space available" when creating vlan interfaces without first lowering the mtu. Reported by Steven Chamberlain, diagnosed by mikeb@, patch from Brad. ok bmercer@
2016-10-02Save and restore the (non-standard) USBMODE register around a reset of theMark Kettenis
controller. This register controls whether the controller is in device or host mode on many dual role controllers and gets reset during a reset of the controller, placing the controller in (non-functional) idle mode. By saving and restoring it, we keep the controller in host mode. Since this is a non-standard register, add a new EHCIF_USBMODE flag and only do the save and restore if it has been set. Makes the upper "OTG" port of the Cubox-i work. ok mpi@, jsg@
2016-09-24Add -Wno-pointer-sign to all our gcc4 architectures.Mark Kettenis
ok patrick@ (for armv7), deraadt@
2016-09-24If the value of r0 upon entering the kernel is zero, interpret this as theMark Kettenis
address of the end of the symbol table. This will make it possible to get rid of the code in the bootloader that patches up the kernel with the updated esym value. ok tom@, patrick@
2016-09-24Pass esym to the kernel in r0. Since u-boot passes 0 in this register, weMark Kettenis
can easily determine that the value passed is valid and use it to initialize the kernel symbol tableo. ok tom@, patrick@