History log of /freebsd-11.0-release/sys/arm/samsung/
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
303975 11-Aug-2016 gjb

Copy stable/11@r303970 to releng/11.0 as part of the 11.0-RELEASE
cycle.

Prune svn:mergeinfo from the new branch, and rename it to RC1.

Update __FreeBSD_version.

Use the quarterly branch for the default FreeBSD.conf pkg(8) repo and
the dvd1.iso packages population.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

302915 15-Jul-2016 ian

MFC r302502, r302505:

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)


302408 08-Jul-2016 gjb

Copy head@r302406 to stable/11 as part of the 11.0-RELEASE cycle.
Prune svn:mergeinfo from the new branch, as nothing has been merged
here.

Additional commits post-branch will follow.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


299069 04-May-2016 pfg

sys/arm: Minor spelling fixes.

Only affects comments: no functional change.


298627 26-Apr-2016 br

Move arm's devmap to some generic place, so it can be used
by other architectures.

Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D6091
Sponsored by: DARPA, AFRL
Sponsored by: HEIF5


298068 15-Apr-2016 andrew

Rename ARM_INTRNG and MIPS_INTRNG to INTRNG. This will help with machine
independent code that needs to know about INTRNG such as PCI drivers.

Obtained from: ABT Systems Ltd
Sponsored by: The FreeBSD Foundation


297793 10-Apr-2016 pfg

Cleanup unnecessary semicolons from the kernel.

Found with devel/coccinelle.


296100 26-Feb-2016 andrew

Almost all copies of platform_mp_init_secondary just called
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


296098 26-Feb-2016 andrew

Remove platform_mp_probe as it's almost identical on most ARM SoCs, and
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


296066 25-Feb-2016 andrew

Remove platform_ipi_send, it's an unneeded as all implementations are
identical.

Sponsored by: ABT Systems Ltd


295885 22-Feb-2016 skra

Move ARM_L2_PIPT option to std.armv6 for all armv6 platforms.
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.


295509 11-Feb-2016 andrew

Stop defining fdt_pic_table when building for ARM_INTRNG.


295319 05-Feb-2016 mmel

ARM: Use new ARMv6 naming conventions for cache and TLB functions
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.


292426 18-Dec-2015 adrian

[intrng] Migrate the intrng code from sys/arm/arm to sys/kern/subr_intr.c.

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.


291405 27-Nov-2015 zbb

Add support for exynos5_ehci in loader

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


291135 21-Nov-2015 andrew

Create device options for the two common ARM timers.

Sponsored by: ABT Systems Ltd


291133 21-Nov-2015 andrew

Move more bus_space_* files to be built by files.arm. This leaves the
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


291110 20-Nov-2015 imp

Makeoption ARM_LITLE_ENDIAN does nothing. Remove it since it isn't
consistently used. It was a carry over from NetBSD that FreeBSD
doesn't use.


291108 20-Nov-2015 andrew

Remove bus_space_asm_generic.S from the per-SoC files.* files, it's already
in files.arm.

Sponsored by: ABT Systems Ltd


291102 20-Nov-2015 andrew

Stop setting {KERN,}PHYSADDR on armv6, it's unneeded.

Sponsored by: ABT Systems Ltd


290977 17-Nov-2015 zbb

Fix buffer overflow in exynos5_ehci

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


290106 28-Oct-2015 andrew

Remove the s3c2xx0 code, it's no longer used. As far as I know I as the
main user of this code, however I haven't used it in over two years, and
don't expect to in the future.


289522 18-Oct-2015 ian

Rename arm_init_secondary_ic() -> arm_pic_init_secondary(). The latter is
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.


289093 09-Oct-2015 ian

Use IIC_EBUSBSY and IIC_BUSERR status values consistantly across all drivers.
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.


286584 10-Aug-2015 kib

Make kstack_pages a tunable on arm, x86, and powepc. On i386, the
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


285627 16-Jul-2015 zbb

Fix KSTACK_PAGES issue when the default value was changed in KERNCONF

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


282723 10-May-2015 andrew

Use the new gic option on all configs that need it.


281438 11-Apr-2015 andrew

Add support for the uart classes to set their default register shift value.
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


281092 04-Apr-2015 andrew

Include vm/pmap.h for pmap_kextract.


280831 29-Mar-2015 andrew

Build the cpufunc_asm_* files based on the cpu type, not which config file
we happen to be building.


280826 29-Mar-2015 andrew

Remove cpufunc_asm_arm11.S from the ARMv7 configs, it's not used.


280823 29-Mar-2015 andrew

Remove the bootconfig parsing. We never used it and always passed either an
empty string or NULL to the setup functions that called into it.


280810 29-Mar-2015 andrew

Stop building unused cpuvunc_* files, we don't need anything from these.


279724 07-Mar-2015 ian

Move the uart_class definitions and fdt compat data into the individual
uart implementations, and export them using the new linker-set mechanism.

Differential Revision: https://reviews.freebsd.org/D1993
Submitted by: Michal Meloun


279544 02-Mar-2015 hselasky

Add quirk to disable 64-bit XHCI DMA after r276717.

Requested by: Gary Jennejohn <gljennjohn@gmail.com>
MFC after: 3 days


279542 02-Mar-2015 hselasky

Update Exynos5 XHCI attach code after r276717.

MFC after: 3 days


277996 31-Jan-2015 loos

Implement GPIO_GET_BUS() method for all GPIO drivers.

Add helper routines to deal with attach and detach of gpiobus and gpioc
devices that are common to all drivers.


277968 31-Jan-2015 loos

Clean up and fix the device detach routine and the failure path on GPIO
drivers.

This paves the way for upcoming work.


277480 21-Jan-2015 ian

Remove a couple files that are no longer used (functionality take over by
arm/bus_space_base.c).


277476 21-Jan-2015 ian

Use the base arm bus_space instead of an identical local copy.


277472 21-Jan-2015 ian

Rename bus_space-v6.c to bus_space_base.c, because it's not v6-specific
and now some v5 Marvell systems are using it. Only define fdt_bus_tag
if option FDT is defined.


277467 21-Jan-2015 ian

For some reason, all the arm bus_space functions that work with uint16
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.


277132 13-Jan-2015 br

Rename Exynos UART driver. No functional change.

Submitted by: Michal Meloun <meloun@miracle.cz>


276984 11-Jan-2015 andrew

Rename gic_init_secondary to arm_init_secondary_ic to help with the merge
of the arm_intrng project branch.


276717 05-Jan-2015 hselasky

Add 64-bit DMA support in the XHCI controller driver.
- Fix some comments and whitespace while at it.

MFC after: 1 month
Submitted by: marius@


276520 01-Jan-2015 ian

Remove -Wa,-march=armv7a from arm kernel configs, it makes clang 3.5 sad
and apparently isn't needed now that we're using the integrated assembler.


276047 21-Dec-2014 ian

Add -march=armv7a to the kernel compile for all ARM systems which are v7a.

Submitted by: Michal Meloun <meloun@miracle.cz>


274670 18-Nov-2014 loos

Moves all the duplicate code to a single function.

Verify for invalid modes and unwanted flags before pass the new flags to
driver.


273799 28-Oct-2014 loos

Make the GPIO children attach to the first unit available and not only to
unit 0.

It seems that this 'simplification' was copied to all GPIO drivers in tree.

This fix a bug where a GPIO controller could fail to attach its children
(gpioc and gpiobus) if another GPIO driver attach first.


272712 07-Oct-2014 br

Add driver for Synopsys DesignWare Mobile Storage Host Controller.

Sponsored by: DARPA, AFRL


272103 25-Sep-2014 gavin

Move the ARM Samsung s3c2xx0 support files into the samsung directory, to
match other platforms.

Discussed with: andrew


269703 08-Aug-2014 nwhitehorn

Remove unnecessary inclusion of FDT headers.


269702 08-Aug-2014 nwhitehorn

Use OF_getencprop() in preference to OF_getprop() and manual byte-swapping.


269369 01-Aug-2014 br

Add support for Chromebook2 -- next-generation 8-core
(4 in operation), 4GB ram (3.5 usable) ARM machine.

Support covers device drivers for:
- Serial Peripheral Interface (SPI)
- Chrome Embedded Controller (EC) - SPI-based version
- XHCI and USB 3.0 dual-role device PHY

Also:
- Add support for Exynos5420 in Pad module
- Move power-related functions to separate driver --
Power Management Unit (PMU)
- Enable XHCI for Chromebook1

Special thanks to grehan@ for hardware, and to
hselasky@ for r269139.


269178 28-Jul-2014 br

Add the rest of combined interrupt groups.


267388 12-Jun-2014 br

Add machine-dependent SMP part for Exynos5420


266945 01-Jun-2014 br

Fix i2c communication interface to be compatible with
vendor tools, e.g. embedded controller tool

Submitted by: Maxim Ignatenko <gelraen.ua@gmail.com>


266944 01-Jun-2014 br

Rename exynos uart driver filenames.


266943 01-Jun-2014 br

Add support for Exynos 5420 Octa - 8-core
heterogeneous (big.LITTLE) ARM machine
(4 x Cortex-A15 @ 1.8Ghz, 4 x Cortex-A7 @ 1Ghz)

Add configuration for Arndale Octa development board


266942 01-Jun-2014 br

Do only receive chars if there are some data in the buffer.
This fixes operation on newer Exynos boards.


266875 30-May-2014 br

Reset HSIC hub during EHCI initialization. This makes devices connected
to external USB ports available to the system.

Submitted by: Maxim Ignatenko <gelraen.ua@gmail.com>


266874 30-May-2014 br

Fix off-by-one error that makes 0-th pins of each bank unreachable.

Submitted by: Maxim Ignatenko <gelraen.ua@gmail.com>


266872 30-May-2014 br

o Make keyboard-related properties to be compatible with vendor standard
o Allow setting keymap in FDT, use hardcoded one by default
o Represent fallback keymap as a list rather than directly usable M*N array

Submitted by: Maxim Ignatenko <gelraen.ua@gmail.com>


266787 28-May-2014 br

Add simple polling mechanism that works for KDB.

Submitted by: Maxim Ignatenko <gelraen.ua@gmail.com>


266785 28-May-2014 br

Describe I2C arbitrator device in DTS and use it for Chromebook Snow only.

Submitted by: Maxim Ignatenko <gelraen.ua@gmail.com>


266301 17-May-2014 andrew

Add the start of the ARM platform code. This is based on the PowerPC
platform code, it is expected these will be merged in the future when the
ARM code is more complete.

Until more boards can be tested only use this with the Raspberry Pi and
rrename the functions on the other SoCs.

Reviewed by: ian@


264150 05-Apr-2014 br

Correct the end address of the video frame buffer.
This fixes problem that sometimes display suddenly
goes blank.


264103 04-Apr-2014 br

Remove unused prototype.


263981 01-Apr-2014 br

Release i2c bus on detach.


263936 30-Mar-2014 br

Add support for keyboard used in Samsung Chromebook (ARM machine)

Support covers device drivers for:
- Interrupt Combiner
- gpio/pad, External Interrupts Controller (pad)
- I2C Interface
- Chrome Embedded Controller
- Chrome Keyboard

Also:
- Use new gpio dev class in EHCI driver
- Expand device tree information


263934 30-Mar-2014 br

Directly call kmem_alloc_contig to allocate framebuffer memory
and pass VM_MEMATTR_UNCACHEABLE (no-cache, no-buffer).
This fixes screen refreshing problem when data is updated too slowly.

Discussed with: ian


263431 20-Mar-2014 br

Rename mct and ehci drivers files to match common naming.


263430 20-Mar-2014 br

Remove printf's.


263426 20-Mar-2014 br

Add driver for Display Controller.


263425 20-Mar-2014 br

- Add display-related and clk devices to the tree
- Prevent resources intersection with EHCI driver


262979 10-Mar-2014 ian

Eliminate irq_dispatch.S. Move the data items it contained into arm/intr.c
and the functionality it provided into arm/exception.S. Rename the main
irq handling routine from arm_handler_execute() to arm_irq_handler() to
make it more congruent with how other exception handlers are named, and
also update its signature to reflect what has long been reality: it is
passed just a trapframe pointer, no interrupt number argument.


262916 08-Mar-2014 imp

Move all the files named foo/common.c to foo/foo_common.c, as
appropriate for each of the 'foo' in the tree. This will allow us to
compile them together (although symbol conflicts prevent us from doing
that today, this just fixes the file name collision).


262409 23-Feb-2014 ian

Move the declaration for mpentry() into a header file instead of pasting
it into a bunch of different .c files. Remove declarations for the unused
mptramp() function from everywhere except AramadaXP (and I think it's
really not used there either, because the code that references it appears
to be insanely does-nothing in nature).


261410 02-Feb-2014 ian

Follow r261352 by updating all drivers which are children of simplebus
to check the status property in their probe routines.

Simplebus used to only instantiate its children whose status="okay"
but that was improper behavior, fixed in r261352. Now that it doesn't
check anymore and probes all its children; the children all have to
do the check because really only the children know how to properly
interpret their status property strings.

Right now all existing drivers only understand "okay" versus something-
that's-not-okay, so they all use the new ofw_bus_status_okay() helper.


261227 28-Jan-2014 andrew

Remove STARTUP_PAGETABLE_ADDR from the ARM configs and replace it with
memory at the end of the kernel.

This helps reduce the SoC and board specific configuration required.

Reviewed by: bsdimp
Tested by: jmg (armeb), br


258780 30-Nov-2013 eadler

Fix undefined behavior: (1 << 31) is not defined as 1 is an int and this
shifts into the sign bit. Instead use (1U << 31) which gets the
expected result.

This fix is not ideal as it assumes a 32 bit int, but does fix the issue
for most cases.

A similar change was made in OpenBSD.

Discussed with: -arch, rdivacky
Reviewed by: cperciva


258096 13-Nov-2013 br

o Use common ARMv6/v7 bus_space tag.
o Use new helper routines for arm static device mapping.
o style(9) tweaks.


257669 05-Nov-2013 ian

Call initarm_lastaddr() later in the init sequence, after establishing
static device mappings, rather than as the first of the initializations
that a platform can hook into. This allows a platform to allocate KVA
from the top of the address space downwards for things like static device
mapping, and return the final "last usable address" result after that and
other early init work is done.

Because some platforms were doing work in initarm_lastaddr() that needs to
be done early, add a new initarm_early_init() routine and move the early
init code to that routine on those platforms.

Rename platform_devmap_init() to initarm_devmap_init() to match all the
other init routines called from initarm() that are designed to be
implemented by platform code.

Add a comment block that explains when these routines are called and the
type of work expected to be done in each of them.


257660 04-Nov-2013 ian

Move remaining code and data related to static device mapping into the
new devmap.[ch] files. Emphasize the MD nature of these things by using
the prefix arm_devmap_ on the function and type names (already a few of
these things found their way into MI code, hopefully it will be harder to
do by accident in the future).


257201 27-Oct-2013 ian

Retire arm_remap_nocache() and the data and constants associated with it.

The only remaining user was the code that allocates bounce pages for armv4
busdma. It's not clear why bounce pages would need uncached memory, but
if that ever changes, kmem_alloc_attr() would be the way to get it.


257200 27-Oct-2013 ian

Remove #include <machine/frame.h> from all the arm code that doesn't
really need it. That would be almost everywhere it was included. Add
it in a couple files that really do need it and were previously getting
it by accident via another header.


257199 27-Oct-2013 ian

Remove all #include <machine/pmap.h> from arm code. It's already
included by vm/pmap.h, which is a prerequisite for arm/machine/pmap.h
so there's no reason to ever include it directly.

Thanks to alc@ for pointing this out.


255967 01-Oct-2013 br

- Enable unmapped buffers on Exynos5 again, because
board now able to see all the 2GB ram it has
- Also unbreak gcc build

Approved by: cognet (mentor)
Approved by: re (marius)


254495 18-Aug-2013 cognet

Increase the max KVA available for general consumption on the Exynos 5.

Submitted by: Ruslan Bukin <br@bsdpad.com>


252391 29-Jun-2013 ray

Import basic support for Samsung Exynos 5 support.

Submitted by: Ruslan Bukin <br@bsdpad.com>
Reviewed by: gonzo