History log of /src/sys/arch/arm/nvidia/tegra_platform.c |
Revision | | Date | Author | Comments |
1.30 |
| 04-Oct-2025 |
thorpej | Use device_{get,set}prop_bool() for "is_console".
|
1.29 |
| 06-Sep-2025 |
thorpej | Refactor the "platform" defitions into fdt_platform.h
|
1.28 |
| 07-Apr-2023 |
skrll | Rename ARM_PLATFORM to FDT_PLATFORM and make it available outside arm.
|
1.27 |
| 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.26 |
| 04-Feb-2021 |
thorpej | branches: 1.26.2; Call acpi_device_register() / fdtbus_device_register() as approrpriate.
|
1.25 |
| 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.24 |
| 28-Sep-2020 |
jmcneill | branches: 1.24.2; 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.23 |
| 21-Aug-2020 |
uwe | #ifdef consistency.
|
1.22 |
| 10-Jul-2020 |
skrll | Add support for KASAN on ARMv[67]
Thanks to maxv for many pointers and reviews.
|
1.21 |
| 20-Jun-2020 |
skrll | Convert to new proplib api
|
1.20 |
| 03-Jan-2019 |
jmcneill | Add a link set for cpu enable methods.
|
1.19 |
| 15-Dec-2018 |
jmcneill | Add missing call to arm_fdt_cpu_mpstart, fixes SMP on Tegra X1
|
1.18 |
| 30-Oct-2018 |
skrll | Retire fdt_putchar and ap_early_put_char in favour of uartputc.
|
1.17 |
| 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.16 |
| 21-Sep-2018 |
skrll | Centralise defparam CONSADDR, CONSPEED, CONMODE and CONADDR into opt_console.h and adjust.
|
1.15 |
| 10-Sep-2018 |
ryo | cleanup aarch64 mpstart and fdt bootstrap * arm_cpu_hatch_arg is a bad idea. avoid serializing CPU startup, and eliminate arm_cpu_hatch_arg. in mpstart, resolve own cpu index using array of cpu_mpidr[] (aarch64) * add support fdt enable-method "spin-table" * add support fdt enable-method "brcm,bcm2836-smp" (for 32bit RaspberryPi) * use arm_fdt_cpu_bootstrap() instead of psci_fdt_bootstrap() * rename "arm/fdt/psci_fdt.h" to "arm/fdt/psci_fdtvar.h" because of conflict of include file for needs-flag * add devmap for cpu spin-table of raspberrypi3/aarch64 * no need to force hatch APs for raspberrypi3/arm32 ifndef MULTIPROCESSOR. * fix to work pmap_extract(kerneltext/data/bss) even if before calling pmap_bootstrap
idea to use cpu_mpidr[] by jmcneill@. reviewd by skrll@. thanks.
|
1.14 |
| 05-Aug-2018 |
skrll | Add prefixes to struct arm_platform{,_info} members.
No functional change.
|
1.13 |
| 08-Jul-2018 |
jmcneill | Use psci_fdt_bootstrap for MP spinup on Tegra210.
|
1.12 |
| 07-Jul-2018 |
jmcneill | Use arm_generic_bs_tag instead of armv7_generic_bs_tag and conditionally define SOC platform support (so we don't try to build 32-bit support into 64-bit kernels).
|
1.11 |
| 01-Apr-2018 |
ryo | branches: 1.11.2; Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@)
- sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@) - add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
|
1.10 |
| 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.9 |
| 19-Dec-2017 |
skrll | branches: 1.9.2; Trailing whitespace
|
1.8 |
| 22-Oct-2017 |
skrll | branches: 1.8.2; Centralise defines for DEVMAP_{ALIGN,SIZE,ENTRY,ENTRY_END}
|
1.7 |
| 20-Jul-2017 |
jmcneill | branches: 1.7.2; Get rid of tegra_chip_id/tegra_chip_name and rely on FDT for this info.
|
1.6 |
| 02-Jun-2017 |
jmcneill | Allow platform code to specify the UART frequency for consinit
|
1.5 |
| 02-Jun-2017 |
jmcneill | FDT-ize "delay" by having fdt_machdep provide the delay() function and move the implementations into the platform code.
|
1.4 |
| 30-May-2017 |
jmcneill | Fix VERBOSE_INIT_ARM build with TEGRA kernel.
|
1.3 |
| 29-May-2017 |
jmcneill | Rename armv7fdt to armfdt now that bus space + dma tags are filled in by platform code.
|
1.2 |
| 29-May-2017 |
jmcneill | Move console initialization out of platform code into the console drivers themselves.
|
1.1 |
| 28-May-2017 |
jmcneill | Add a facility for platform-specific callbacks and use it to remove most of the Tegra-specific code from tegra_machdep.c.
Platform code matches on the compatible property of the root ("/") DT node and allows for chip-specific implementations of the following:
- devmap: Return a 0-terminated list of static device map entries. - bootstrap: Early initialization of platform-specific facilities. - early_putchar: Provides an implementation of putchar for use in early debug messages. - device_register: Platform-specific device register callback. - reset: Platform-specific CPU reset implementation. - consinit: Platform-specific console init implementation.
|
1.7.2.2 |
| 28-Aug-2017 |
skrll | Sync with HEAD
|
1.7.2.1 |
| 20-Jul-2017 |
skrll | file tegra_platform.c was added on branch nick-nhusb on 2017-08-28 17:51:31 +0000
|
1.8.2.2 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.8.2.1 |
| 22-Oct-2017 |
jdolecek | file tegra_platform.c was added on branch tls-maxphys on 2017-12-03 11:35:54 +0000
|
1.9.2.9 |
| 18-Jan-2019 |
pgoyette | Synch with HEAD
|
1.9.2.8 |
| 26-Dec-2018 |
pgoyette | Sync with HEAD, resolve a few conflicts
|
1.9.2.7 |
| 26-Nov-2018 |
pgoyette | Sync with HEAD, resolve a couple of conflicts
|
1.9.2.6 |
| 20-Oct-2018 |
pgoyette | Sync with head
|
1.9.2.5 |
| 30-Sep-2018 |
pgoyette | Ssync with HEAD
|
1.9.2.4 |
| 06-Sep-2018 |
pgoyette | Sync with HEAD
Resolve a couple of conflicts (result of the uimin/uimax changes)
|
1.9.2.3 |
| 28-Jul-2018 |
pgoyette | Sync with HEAD
|
1.9.2.2 |
| 07-Apr-2018 |
pgoyette | Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
|
1.9.2.1 |
| 22-Mar-2018 |
pgoyette | Synch with HEAD, resolve conflicts
|
1.11.2.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.24.2.1 |
| 03-Apr-2021 |
thorpej | Sync with HEAD.
|
1.26.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.
|