Home | History | Annotate | only in /src/sys/arch/arm/vexpress
History log of /src/sys/arch/arm/vexpress
RevisionDateAuthorComments
 1.7 06-Sep-2025  thorpej Step towards modularizing the Flattened Device Tree code.

Define attributes for each of the specific device bindings: clock,
dai, dma, gpio, i2c, iommu, mbox, mmc_pwrseq, phy, power, power domain,
pwm, regulator, reset controller, spi, system controller, pin
controller. Include these support files only if either a provider
or consumer with one of these attributes is present in the kernel
config.

Add the necessary attributes to the device / attach declarations for
each provider and consumer.

There are some bindings that are consumed by generic code (iommu, pinctrl,
power, power domain). Provide weak stubs for these routines to handle
situations where there is no provider.

No actual code changed; NFCI.
 1.6 11-Aug-2018  jmcneill Fix VEXPRESS_A15 build
 1.5 17-Mar-2018  ryo branches: 1.5.2;
move from sys/arch/arm/arm32/armv7_generic_dma.c to sys/arch/arm/arm/arm_generic_dma.c,
and change variable name from armv7_generic_dma_tag to arm_generic_dma_tag

no functional change. (preliminary changes for merging aarch64)
 1.4 19-Feb-2018  jmcneill branches: 1.4.2;
move plfb glue to the correct location
 1.3 26-Aug-2017  jmcneill branches: 1.3.2; 1.3.4;
Until config supports multiple 'attach driver at bus with <foo>' lines,
move plfb from common files.fdt to files.vexpress
 1.2 02-Jun-2017  jmcneill Add driver for ARM Motherboard Express uATX system control registers. Use
this to make "poweroff" DTRT in qemu (and hopefully on real hardware too).
 1.1 02-Jun-2017  jmcneill Switch VEXPRESS_A15 kernel to use FDT and GENERIC.common. The dtb for this
kernel can be found in the sysutils/dtb-arm-vexpress package as
vexpress-v2p-ca15-tc1.dtb
 1.3.4.2 03-Dec-2017  jdolecek update from HEAD
 1.3.4.1 26-Aug-2017  jdolecek file files.vexpress was added on branch tls-maxphys on 2017-12-03 11:35:56 +0000
 1.3.2.2 28-Aug-2017  skrll Sync with HEAD
 1.3.2.1 26-Aug-2017  skrll file files.vexpress was added on branch nick-nhusb on 2017-08-28 17:51:32 +0000
 1.4.2.2 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.4.2.1 22-Mar-2018  pgoyette Synch with HEAD, resolve conflicts
 1.5.2.1 10-Jun-2019  christos Sync with HEAD
 1.24 06-Sep-2025  thorpej Refactor the "platform" defitions into fdt_platform.h
 1.23 07-Apr-2023  skrll Rename ARM_PLATFORM to FDT_PLATFORM and make it available outside arm.
 1.22 24-Apr-2021  thorpej Merge thorpej-cfargs branch:

Simplify and make extensible the config_search() / config_found() /
config_attach() interfaces: rather than having different variants for
which arguments you want pass along, just have a single call that
takes a variadic list of tag-value arguments.

Adjust all call sites:
- Simplify wherever possible; don't pass along arguments that aren't
actually needed.
- Don't be explicit about what interface attribute is attaching if
the device only has one. (More simplification.)
- Add a config_probe() function to be used in indirect configuiration
situations, making is visibly easier to see when indirect config is
in play, and allowing for future change in semantics. (As of now,
this is just a wrapper around config_match(), but that is an
implementation detail.)

Remove unnecessary or redundant interface attributes where they're not
needed.

There are currently 5 "cfargs" defined:
- CFARG_SUBMATCH (submatch function for direct config)
- CFARG_SEARCH (search function for indirect config)
- CFARG_IATTR (interface attribte)
- CFARG_LOCATORS (locators array)
- CFARG_DEVHANDLE (devhandle_t - wraps OFW, ACPI, etc. handles)

...and a sentinel value CFARG_EOL.

Add some extra sanity checking to ensure that interface attributes
aren't ambiguous.

Use CFARG_DEVHANDLE in MI FDT, OFW, and ACPI code, and macppc and shark
ports to associate those device handles with device_t instance. This
will trickle trough to more places over time (need back-end for pre-OFW
Sun OBP; any others?).
 1.21 05-Feb-2021  skrll branches: 1.21.2;
Fix build
 1.20 04-Feb-2021  thorpej Call acpi_device_register() / fdtbus_device_register() as approrpriate.
 1.19 30-Oct-2020  skrll branches: 1.19.2;
Retire arm_[di]sb in favour of the isb() and dsb(sy) macro invocations.
 1.18 28-Sep-2020  jmcneill Get rid of a4x bus_space tag from fdtbus_attach_args. The only consumer
of this was various com(4) glue so modify all of that to use the new
com_init_regs_stride instead.
 1.17 10-Jul-2020  skrll Add support for KASAN on ARMv[67]

Thanks to maxv for many pointers and reviews.
 1.16 15-Feb-2020  skrll Various updates and improvements to cpu start up on arm/aarch64

- start sharing more code around the AP startup messaging.
- call arm_cpu_topology_set early so that ci_core_id is available for
drivers, e.g. bcm2835_intr.c
- both arm and aarch64 now have
- a static cpu_info_store array
- the same arm_cpu_{hatched,mbox}
 1.15 23-Jul-2019  jmcneill branches: 1.15.4;
No need for console=fb handling with WSDISPLAY_MULTICONS
 1.14 31-Jan-2019  skrll Fix build
 1.13 31-Jan-2019  skrll Change ap_mpstart to return non-zero value if any/all APs don't start.
 1.12 30-Oct-2018  skrll Retire fdt_putchar and ap_early_put_char in favour of uartputc.
 1.11 18-Oct-2018  skrll Provide generic start code that assumes the MMU is off and caches are
disabled as per the linux booting protocol for ARMv6 and ARMv7 boards.
u-boot image type should be changed to 'linux' for correct behaviour.

The new start code builds a minimal "bootstrap" L1PT with cached access
disabled and uses the same table for all processors. AP startup is
performed in less steps and more code is written in C.

The bootstrap tables and stack are placed into an (orphaned) section
"_init_memory" which is given to uvm when it is no longer used.

Various kernels have been converted to use this code and tested. Some
boards were provided by TNF. Thanks!

The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS
kernels. The GENERIC kernel will also work on RPI2 using u-boot.

Thanks to martin@ and aymeric@ for testing on parallella and nanosoc
respectively
 1.10 21-Sep-2018  skrll Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into
opt_console.h and adjust.
 1.9 05-Aug-2018  skrll Add prefixes to struct arm_platform{,_info} members.

No functional change.
 1.8 11-Jun-2018  jakllsch branches: 1.8.2;
fill in vexpress_platform_early_putchar(); make comment about CONSADDR
 1.7 17-Mar-2018  ryo move from sys/arch/arm/arm32/armv7_generic_dma.c to sys/arch/arm/arm/arm_generic_dma.c,
and change variable name from armv7_generic_dma_tag to arm_generic_dma_tag

no functional change. (preliminary changes for merging aarch64)
 1.6 19-Dec-2017  skrll branches: 1.6.2;
Trailing whitespace
 1.5 18-Nov-2017  jmcneill branches: 1.5.2;
Fix clcd node path for newer dtb
 1.4 22-Oct-2017  skrll Centralise defines for DEVMAP_{ALIGN,SIZE,ENTRY,ENTRY_END}
 1.3 06-Jun-2017  jmcneill branches: 1.3.4;
Allow 'console=fb' to act as a shortcut on vexpress for
'stdout-path=/smb@08000000/motherboard/iofpga@3,00000000/clcd@1f0000'
 1.2 02-Jun-2017  jmcneill branches: 1.2.2;
Add SMP support to VEXPRESS_A15 kernel. Enable with '-smp 2' on qemu
command line.
 1.1 02-Jun-2017  jmcneill Switch VEXPRESS_A15 kernel to use FDT and GENERIC.common. The dtb for this
kernel can be found in the sysutils/dtb-arm-vexpress package as
vexpress-v2p-ca15-tc1.dtb
 1.2.2.1 06-Jun-2017  snj Pull up following revision(s) (requested by jmcneill in ticket #13):
sys/arch/arm/fdt/plfb_fdt.c: revision 1.2
sys/arch/arm/vexpress/vexpress_platform.c: revision 1.3
sys/arch/evbarm/conf/VEXPRESS_A15: revision 1.13
sys/arch/evbarm/fdt/fdt_machdep.c: revisions 1.5, 1.6
sys/dev/ic/pl050.c: revision 1.2
Fix spelling of WS_DEFAULT_FG and WS_KERNEL_FG options.
--
Attach kbd slot to console
--
Allow plfb to be the console device
--
Add support for stdout-path= kernel cmdline option to override the
console device specified in the FDT.
--
Initialize boot_args before bootstrap for the benefit of platform code.
--
Allow 'console=fb' to act as a shortcut on vexpress for
'stdout-path=/smb@08000000/motherboard/iofpga@3,00000000/clcd@1f0000'
 1.3.4.2 28-Aug-2017  skrll Sync with HEAD
 1.3.4.1 06-Jun-2017  skrll file vexpress_platform.c was added on branch nick-nhusb on 2017-08-28 17:51:32 +0000
 1.5.2.2 03-Dec-2017  jdolecek update from HEAD
 1.5.2.1 18-Nov-2017  jdolecek file vexpress_platform.c was added on branch tls-maxphys on 2017-12-03 11:35:56 +0000
 1.6.2.6 26-Nov-2018  pgoyette Sync with HEAD, resolve a couple of conflicts
 1.6.2.5 20-Oct-2018  pgoyette Sync with head
 1.6.2.4 30-Sep-2018  pgoyette Ssync with HEAD
 1.6.2.3 06-Sep-2018  pgoyette Sync with HEAD

Resolve a couple of conflicts (result of the uimin/uimax changes)
 1.6.2.2 25-Jun-2018  pgoyette Sync with HEAD
 1.6.2.1 22-Mar-2018  pgoyette Synch with HEAD, resolve conflicts
 1.8.2.3 13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.8.2.2 08-Apr-2020  martin Merge changes from current as of 20200406
 1.8.2.1 10-Jun-2019  christos Sync with HEAD
 1.15.4.1 29-Feb-2020  ad Sync with head.
 1.19.2.1 03-Apr-2021  thorpej Sync with HEAD.
 1.21.2.1 03-Apr-2021  thorpej - FDT device enumeration now sets the device handle using CFARG_DEVHANDLE.
- fdtbus_device_register() is now obsolete, so G/C it.
- of_device_register() is now obsolete, so G/C it.
 1.1 02-Jun-2017  jmcneill branches: 1.1.6; 1.1.10;
Add SMP support to VEXPRESS_A15 kernel. Enable with '-smp 2' on qemu
command line.
 1.1.10.2 03-Dec-2017  jdolecek update from HEAD
 1.1.10.1 02-Jun-2017  jdolecek file vexpress_platform.h was added on branch tls-maxphys on 2017-12-03 11:35:56 +0000
 1.1.6.2 28-Aug-2017  skrll Sync with HEAD
 1.1.6.1 02-Jun-2017  skrll file vexpress_platform.h was added on branch nick-nhusb on 2017-08-28 17:51:32 +0000
 1.4 27-Jan-2021  thorpej Rename of_match_compat_data() to of_compatible_match(). Similarly,
rename of_search_compatible() to of_compatible_lookup().

Standardize on of_compatible_match() for driver matching, and adapt
all call sites.
 1.3 30-Jun-2017  jmcneill branches: 1.3.4; 1.3.6; 1.3.22;
Use of_match_compatible instead of of_compatible
 1.2 02-Jun-2017  jmcneill Sleep before reboot/shutdown to let uart fifo flush
 1.1 02-Jun-2017  jmcneill Add driver for ARM Motherboard Express uATX system control registers. Use
this to make "poweroff" DTRT in qemu (and hopefully on real hardware too).
 1.3.22.1 03-Apr-2021  thorpej Sync with HEAD.
 1.3.6.2 03-Dec-2017  jdolecek update from HEAD
 1.3.6.1 30-Jun-2017  jdolecek file vexpress_sysreg.c was added on branch tls-maxphys on 2017-12-03 11:35:56 +0000
 1.3.4.2 28-Aug-2017  skrll Sync with HEAD
 1.3.4.1 30-Jun-2017  skrll file vexpress_sysreg.c was added on branch nick-nhusb on 2017-08-28 17:51:32 +0000

RSS XML Feed