summaryrefslogtreecommitdiffstats
path: root/sys/arm/samsung
Commit message (Collapse)AuthorAgeFilesLines
* ofw_spi: Parse property for the SPI mode and CS polarity.manu2017-10-171-0/+2
| | | | | | | | | | | As cs is stored in a uint32_t, use the last bit to store the active high flag as it's unlikely that we will have that much CS. Reviewed by: loos MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D8614 (cherry picked from commit f5f9058ccaec11fccc18817f45fff8859798a317)
* MFC r306262, r306267, r310021: (needed to avoid conflicts on later merges)ian2017-03-012-19/+0
| | | | | | | | | | Remove bus_dma_get_range and bus_dma_get_range_nb on armv6. We only need this on a few earlier arm SoCs. Restrict where we need to define fdt_fixup_table to just PowerPC and Marvell. Add the missing void to function signatures in much of the arm code.
* MFC r307518:hselasky2016-11-071-6/+0
| | | | | | | | | | | | | | | | | | | | | Fix device delete child function. When detaching device trees parent devices must be detached prior to detaching its children. This is because parent devices can have pointers to the child devices in their softcs which are not invalidated by device_delete_child(). This can cause use after free issues and panic(). Device drivers implementing trees, must ensure its detach function detaches or deletes all its children before returning. While at it remove now redundant device_detach() calls before device_delete_child() and device_delete_children(), mostly in the USB controller drivers. Tested by: Jan Henrik Sylvester <me@janh.de> Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D8070
* MFC r306756:mmel2016-10-151-1/+2
| | | | | ARM: SEV/WFE instructions are implemented starting from ARMv6K, use it directly.
* MFC r302502, r302505:ian2016-07-151-2/+2
| | | | | | | | Consolidate debugging options from all arm kernel configs to std.arm[v6]. Correct syntax errors that only show up when compiled with INVARIANTS. Approved by: re (gjb)
* sys/arm: Minor spelling fixes.pfg2016-05-041-1/+1
| | | | Only affects comments: no functional change.
* Move arm's devmap to some generic place, so it can be usedbr2016-04-261-5/+5
| | | | | | | | | by other architectures. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D6091 Sponsored by: DARPA, AFRL Sponsored by: HEIF5
* Rename ARM_INTRNG and MIPS_INTRNG to INTRNG. This will help with machineandrew2016-04-151-1/+1
| | | | | | | independent code that needs to know about INTRNG such as PCI drivers. Obtained from: ABT Systems Ltd Sponsored by: The FreeBSD Foundation
* Cleanup unnecessary semicolons from the kernel.pfg2016-04-105-18/+18
| | | | Found with devel/coccinelle.
* Almost all copies of platform_mp_init_secondary just calledandrew2016-02-261-7/+0
| | | | | | | | | intr_pic_init_secondary. Replace them with a direct call. On BCM2836 and ARMADA XP we need to add this function, but it can be empty. Reviewed by: ian, imp Sponsored by: ABT Systems Ltd Differential Revision: https://reviews.freebsd.org/D5460
* Remove platform_mp_probe as it's almost identical on most ARM SoCs, andandrew2016-02-261-7/+0
| | | | | | | | | | slightly wrong on the others. We should just check if mp_ncpus is set to more than one CPU as we may wish to run on a single core even when SMP is available. Reviewed by: ian Sponsored by: ABT Systems Ltd Differential Revision: https://reviews.freebsd.org/D5458
* Remove platform_ipi_send, it's an unneeded as all implementations areandrew2016-02-251-7/+0
| | | | | | identical. Sponsored by: ABT Systems Ltd
* Move ARM_L2_PIPT option to std.armv6 for all armv6 platforms.skra2016-02-222-4/+0
| | | | | | | Only L2 PIPT cache is supported for __ARM_ARCH >= 6. In fact, this is just a pure proclamation as this option is used only in armv4 specific files now.
* Stop defining fdt_pic_table when building for ARM_INTRNG.andrew2016-02-111-0/+2
|
* ARM: Use new ARMv6 naming conventions for cache and TLB functionsmmel2016-02-051-2/+2
| | | | | | in all but ARMv4 specific files. Expand ARMv6 compatibility stubs in cpu-v4.h. Use physical address in L2 cache functions if ARM_L2_PIPT is defined.
* [intrng] Migrate the intrng code from sys/arm/arm to sys/kern/subr_intr.c.adrian2015-12-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ci20 port (by kan@) is going to reuse almost all of the intrng code since the SoC in question looks suspiciously like someone took an ARM SoC design and replaced the ARM core with a MIPS core. * migrate out the code; * rename ARM_ -> INTR_; * rename arm_ -> intr_; * move the interrupt flush routine from intr.c / intrng.c into arm/machdep_intr.c - removing the code duplication and removing the ARM specific bits from here. Thanks to the Star Wars: The Force Awakens premiere line for allowing me a couple hours of quiet time to finish the universe builds. Tested: * make universe TODO: * The structure definitions in subr_intr.c still includes machine/intr.h which requires one duplicates all of the intrng definitions in the platform code (which kan has done, and I think we don't have to.) Instead I should break out the generic things (function declarations, common intr structures, etc) into a separate header. * Kan has requested I make the PIC based IPI stuff optional.
* Add support for exynos5_ehci in loaderzbb2015-11-273-2/+12
| | | | | | | | | | Create new driver which initializes Arndale PHY and calls ehci_init Reviewed by: hselasky Submitted by: Wojciech Macek <wma@semihalf.com> Obtained from: Semihalf Sponsored by: Juniper Networks Inc. Differential Revision: https://reviews.freebsd.org/D4192
* Create device options for the two common ARM timers.andrew2015-11-211-2/+0
| | | | Sponsored by: ABT Systems Ltd
* Move more bus_space_* files to be built by files.arm. This leaves theandrew2015-11-211-3/+0
| | | | | | | definition in a file.* file under sys/arm/arm in the few cases we need it for non-fdt platforms. Sponsored by: ABT Systems Ltd
* Makeoption ARM_LITLE_ENDIAN does nothing. Remove it since it isn'timp2015-11-202-4/+0
| | | | | consistently used. It was a carry over from NetBSD that FreeBSD doesn't use.
* Remove bus_space_asm_generic.S from the per-SoC files.* files, it's alreadyandrew2015-11-201-1/+0
| | | | | | in files.arm. Sponsored by: ABT Systems Ltd
* Stop setting {KERN,}PHYSADDR on armv6, it's unneeded.andrew2015-11-202-10/+0
| | | | Sponsored by: ABT Systems Ltd
* Fix buffer overflow in exynos5_ehcizbb2015-11-171-1/+1
| | | | | | | | | | Use proper size of exynos_ehci_softc, not the generic one. Reviewed by: andrew Submitted by: Wojciech Macek <wma@semihalf.com> Obtained from: Semihalf Sponsored by: Juniper Networks Inc. Differential Revision: https://reviews.freebsd.org/D4189
* Remove the s3c2xx0 code, it's no longer used. As far as I know I as theandrew2015-10-2820-3645/+0
| | | | | main user of this code, however I haven't used it in over two years, and don't expect to in the future.
* Rename arm_init_secondary_ic() -> arm_pic_init_secondary(). The latter isian2015-10-181-1/+1
| | | | | | the name the function will have when the new ARM_INTRNG code is integrated, and doing this rename first will make it easier to toggle the new interrupt handling code on/off with a config option for debugging.
* Use IIC_EBUSBSY and IIC_BUSERR status values consistantly across all drivers.ian2015-10-091-2/+2
| | | | | | | | | | | | Make it clearer what each one means in the comments that define them. IIC_BUSBSY was used in many places to mean two different things, either "someone else has reserved the bus so you have to wait until they're done" or "the signal level on the bus was not in the state I expected before/after issuing some command". Now IIC_BUSERR is used consistantly to refer to protocol/signaling errors, and IIC_BUSBSY refers to ownership/reservation of the bus.
* Make kstack_pages a tunable on arm, x86, and powepc. On i386, thekib2015-08-101-2/+2
| | | | | | | | | | | | | | | | | | | initial thread stack is not adjusted by the tunable, the stack is allocated too early to get access to the kernel environment. See TD0_KSTACK_PAGES for the thread0 stack sizing on i386. The tunable was tested on x86 only. From the visual inspection, it seems that it might work on arm and powerpc. The arm USPACE_SVC_STACK_TOP and powerpc USPACE macros seems to be already incorrect for the threads with non-default kstack size. I only changed the macros to use variable instead of constant, since I cannot test. On arm64, mips and sparc64, some static data structures are sized by KSTACK_PAGES, so the tunable is disabled. Sponsored by: The FreeBSD Foundation MFC after: 2 week
* Fix KSTACK_PAGES issue when the default value was changed in KERNCONFzbb2015-07-161-0/+1
| | | | | | | | | | | | | | | | | | If KSTACK_PAGES was changed to anything alse than the default, the value from param.h was taken instead in some places and the value from KENRCONF in some others. This resulted in inconsistency which caused corruption in SMP envorinment. Ensure all places where KSTACK_PAGES are used the opt_kstack_pages.h is included. The file opt_kstack_pages.h could not be included in param.h because was breaking the toolchain compilation. Reviewed by: kib Obtained from: Semihalf Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D3094
* Use the new gic option on all configs that need it.andrew2015-05-101-1/+0
|
* Add support for the uart classes to set their default register shift value.andrew2015-04-112-0/+2
| | | | | | | | | | | This is needed with the pl011 driver. Before this change it would default to a shift of 0, however the hardware places the registers at 4-byte addresses meaning the value should be 2. This patch fixes this for the pl011 when configured using the fdt. The other drivers have a default value of 0 to keep this a no-op. MFC after: 1 week
* Include vm/pmap.h for pmap_kextract.andrew2015-04-041-0/+3
|
* Build the cpufunc_asm_* files based on the cpu type, not which config fileandrew2015-03-292-2/+0
| | | | we happen to be building.
* Remove cpufunc_asm_arm11.S from the ARMv7 configs, it's not used.andrew2015-03-291-1/+0
|
* Remove the bootconfig parsing. We never used it and always passed either anandrew2015-03-291-1/+1
| | | | empty string or NULL to the setup functions that called into it.
* Stop building unused cpuvunc_* files, we don't need anything from these.andrew2015-03-291-2/+0
|
* Move the uart_class definitions and fdt compat data into the individualian2015-03-073-3/+12
| | | | | | | uart implementations, and export them using the new linker-set mechanism. Differential Revision: https://reviews.freebsd.org/D1993 Submitted by: Michal Meloun
* Add quirk to disable 64-bit XHCI DMA after r276717.hselasky2015-03-021-1/+1
| | | | | Requested by: Gary Jennejohn <gljennjohn@gmail.com> MFC after: 3 days
* Update Exynos5 XHCI attach code after r276717.hselasky2015-03-021-72/+52
| | | | MFC after: 3 days
* Implement GPIO_GET_BUS() method for all GPIO drivers.loos2015-01-311-4/+18
| | | | | Add helper routines to deal with attach and detach of gpiobus and gpioc devices that are common to all drivers.
* Clean up and fix the device detach routine and the failure path on GPIOloos2015-01-311-4/+15
| | | | | | drivers. This paves the way for upcoming work.
* Remove a couple files that are no longer used (functionality take over byian2015-01-212-165/+0
| | | | arm/bus_space_base.c).
* Use the base arm bus_space instead of an identical local copy.ian2015-01-214-30/+34
|
* Rename bus_space-v6.c to bus_space_base.c, because it's not v6-specifician2015-01-211-1/+1
| | | | | and now some v5 Marvell systems are using it. Only define fdt_bus_tag if option FDT is defined.
* For some reason, all the arm bus_space functions that work with uint16ian2015-01-211-9/+8
| | | | | values have armv4 in the name. There's nothing armv4-special about them, so just use the same sort of names as all the other functions.
* Rename Exynos UART driver. No functional change.br2015-01-131-62/+62
| | | | Submitted by: Michal Meloun <meloun@miracle.cz>
* Rename gic_init_secondary to arm_init_secondary_ic to help with the mergeandrew2015-01-111-1/+1
| | | | of the arm_intrng project branch.
* Add 64-bit DMA support in the XHCI controller driver.hselasky2015-01-051-0/+1
| | | | | | | - Fix some comments and whitespace while at it. MFC after: 1 month Submitted by: marius@
* Remove -Wa,-march=armv7a from arm kernel configs, it makes clang 3.5 sadian2015-01-012-2/+2
| | | | and apparently isn't needed now that we're using the integrated assembler.
* Add -march=armv7a to the kernel compile for all ARM systems which are v7a.ian2014-12-212-0/+2
| | | | Submitted by: Michal Meloun <meloun@miracle.cz>
* Moves all the duplicate code to a single function.loos2014-11-181-9/+0
| | | | | Verify for invalid modes and unwanted flags before pass the new flags to driver.
OpenPOWER on IntegriCloud