2019-11-01 13:45:29 +01:00
|
|
|
# Subsystem configuration options
|
|
|
|
|
2017-06-30 13:10:28 +02:00
|
|
|
# Copyright (c) 2016-2017 Intel Corporation
|
2021-01-18 12:19:49 +01:00
|
|
|
# Copyright (c) 2021 Nordic Semiconductor
|
2017-01-19 02:01:01 +01:00
|
|
|
# SPDX-License-Identifier: Apache-2.0
|
2016-10-29 13:10:36 +02:00
|
|
|
|
2023-02-21 20:18:37 +01:00
|
|
|
menu "Subsystems and OS Services"
|
2020-08-22 18:47:24 +02:00
|
|
|
|
2023-05-22 15:57:55 +02:00
|
|
|
# zephyr-keep-sorted-start
|
2023-03-23 16:54:31 +01:00
|
|
|
source "subsys/bindesc/Kconfig"
|
2016-11-02 10:06:56 +01:00
|
|
|
source "subsys/bluetooth/Kconfig"
|
2020-08-22 19:07:14 +02:00
|
|
|
source "subsys/canbus/Kconfig"
|
subsys: console: Add pull-style console API support.
This change introduces console_getchar() and console_getline() API
calls which can be used to get pending console input (either one
char or whole line), or block waiting for one. In this regard, they
are similar to well-known ANSI C function getchar/gets/fgets, and
are intended to ease porting of existing applications to Zephyr, and
indeed, these functions (shaped as an external module) are already
used by few applications.
The implementation of the functions is structured as a new "console"
subsystem. The intention is that further generic console code may be
pulled there instead of being in drivers/console/. Besides the
functions themselves, initialization code and sample applications
are included.
At this time, there're may limitations of how these functions can
be used. For example, console_getchar() and console_getline() are
mutually exclusive, and both are incompatible with callback
(push-style) console API (and e.g. with console shell subsystem
which uses this API). Again, the intention is to make a first step
towards refactoring console subsystem to allow more flexible
real-world usage, better reusability and composability.
Change-Id: I3f4015bb5b26e0656f82f428b11ba30e980d25a0
Signed-off-by: Paul Sokolovsky <paul.sokolovsky@linaro.org>
2017-03-24 11:50:16 +01:00
|
|
|
source "subsys/console/Kconfig"
|
2017-06-30 13:10:28 +02:00
|
|
|
source "subsys/debug/Kconfig"
|
2023-02-21 20:18:37 +01:00
|
|
|
source "subsys/demand_paging/Kconfig"
|
|
|
|
source "subsys/dfu/Kconfig"
|
2016-12-09 04:14:55 +01:00
|
|
|
source "subsys/disk/Kconfig"
|
2023-02-21 20:18:37 +01:00
|
|
|
source "subsys/dsp/Kconfig"
|
2020-08-20 16:07:29 +02:00
|
|
|
source "subsys/emul/Kconfig"
|
2020-08-22 19:07:14 +02:00
|
|
|
source "subsys/fb/Kconfig"
|
2017-06-30 13:10:28 +02:00
|
|
|
source "subsys/fs/Kconfig"
|
2023-01-31 15:02:15 +01:00
|
|
|
source "subsys/input/Kconfig"
|
2021-01-18 12:19:49 +01:00
|
|
|
source "subsys/ipc/Kconfig"
|
2020-08-22 19:07:14 +02:00
|
|
|
source "subsys/jwt/Kconfig"
|
2023-09-27 15:10:10 +02:00
|
|
|
source "subsys/llext/Kconfig"
|
2016-12-17 18:56:56 +01:00
|
|
|
source "subsys/logging/Kconfig"
|
2020-03-04 15:24:09 +01:00
|
|
|
source "subsys/lorawan/Kconfig"
|
dt: Make zephyr,memory-attr a capabilities bitmask
This is the final step in making the `zephyr,memory-attr` property
actually useful.
The problem with the current implementation is that `zephyr,memory-attr`
is an enum type, this is making very difficult to use that to actually
describe the memory capabilities. The solution proposed in this PR is to
use the `zephyr,memory-attr` property as an OR-ed bitmask of memory
attributes.
With the change proposed in this PR it is possible in the DeviceTree to
mark the memory regions with a bitmask of attributes by using the
`zephyr,memory-attr` property. This property and the related memory
region can then be retrieved at run-time by leveraging a provided helper
library or the usual DT helpers.
The set of general attributes that can be specified in the property are
defined and explained in
`include/zephyr/dt-bindings/memory-attr/memory-attr.h` (the list can be
extended when needed).
For example, to mark a memory region in the DeviceTree as volatile,
non-cacheable, out-of-order:
mem: memory@10000000 {
compatible = "mmio-sram";
reg = <0x10000000 0x1000>;
zephyr,memory-attr = <( DT_MEM_VOLATILE |
DT_MEM_NON_CACHEABLE |
DT_MEM_OOO )>;
};
The `zephyr,memory-attr` property can also be used to set
architecture-specific custom attributes that can be interpreted at run
time. This is leveraged, among other things, to create MPU regions out
of DeviceTree defined memory regions on ARM, for example:
mem: memory@10000000 {
compatible = "mmio-sram";
reg = <0x10000000 0x1000>;
zephyr,memory-region = "NOCACHE_REGION";
zephyr,memory-attr = <( DT_ARM_MPU(ATTR_MPU_RAM_NOCACHE) )>;
};
See `include/zephyr/dt-bindings/memory-attr/memory-attr-mpu.h` to see
how an architecture can define its own special memory attributes (in
this case ARM MPU).
The property can also be used to set custom software-specific
attributes. For example we can think of marking a memory region as
available to be used for memory allocation (not yet implemented):
mem: memory@10000000 {
compatible = "mmio-sram";
reg = <0x10000000 0x1000>;
zephyr,memory-attr = <( DT_MEM_NON_CACHEABLE |
DT_MEM_SW_ALLOCATABLE )>;
};
Or maybe we can leverage the property to specify some alignment
requirements for the region:
mem: memory@10000000 {
compatible = "mmio-sram";
reg = <0x10000000 0x1000>;
zephyr,memory-attr = <( DT_MEM_CACHEABLE |
DT_MEM_SW_ALIGN(32) )>;
};
The conventional and recommended way to deal and manage with memory
regions marked with attributes is by using the provided `mem-attr`
helper library by enabling `CONFIG_MEM_ATTR` (or by using the usual DT
helpers).
When this option is enabled the list of memory regions and their
attributes are compiled in a user-accessible array and a set of
functions is made available that can be used to query, probe and act on
regions and attributes, see `include/zephyr/mem_mgmt/mem_attr.h`
Note that the `zephyr,memory-attr` property is only a descriptive
property of the capabilities of the associated memory region, but it
does not result in any actual setting for the memory to be set. The
user, code or subsystem willing to use this information to do some work
(for example creating an MPU region out of the property) must use either
the provided `mem-attr` library or the usual DeviceTree helpers to
perform the required work / setting.
Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2023-08-16 12:48:26 +02:00
|
|
|
source "subsys/mem_mgmt/Kconfig"
|
2018-01-18 03:02:30 +01:00
|
|
|
source "subsys/mgmt/Kconfig"
|
2020-05-29 16:45:25 +02:00
|
|
|
source "subsys/modbus/Kconfig"
|
subsys/modem: Add modem modules
This PR adds the following modem modules to the subsys/modem
folder:
- chat: Light implementation of the Linux chat program, used to
send and receive text based commands statically created
scripts.
- cmux: Implementation of the CMUX protocol
- pipe: Thread-safe async data-in/data-out binding layer between
modem modules.
- ppp: Implementation of the PPP protocol, binding the Zephyr PPP
L2 stack with the data-in/data-out pipe.
These modules use the abstract pipes to communicate between each
other. To bind them with the hardware, the following backends
are provided:
- TTY: modem pipe <-> POSIX TTY file
- UART: modem pipe <-> UART, async and ISR APIs supported
The backends are used to abstract away the physical layer, UART,
TTY, IPC, I2C, SPI etc, to a modem modules friendly pipe.
Signed-off-by: Bjarki Arge Andreasen <baa@trackunit.com>
2023-04-10 17:58:39 +02:00
|
|
|
source "subsys/modem/Kconfig"
|
2017-06-30 13:10:28 +02:00
|
|
|
source "subsys/net/Kconfig"
|
2021-04-29 13:45:57 +02:00
|
|
|
source "subsys/pm/Kconfig"
|
2023-02-21 20:18:37 +01:00
|
|
|
source "subsys/portability/Kconfig"
|
|
|
|
source "subsys/random/Kconfig"
|
2023-02-23 13:25:51 +01:00
|
|
|
source "subsys/retention/Kconfig"
|
2023-02-21 20:18:37 +01:00
|
|
|
source "subsys/rtio/Kconfig"
|
|
|
|
source "subsys/sd/Kconfig"
|
2023-02-06 09:43:11 +01:00
|
|
|
source "subsys/sensing/Kconfig"
|
2023-02-21 20:18:37 +01:00
|
|
|
source "subsys/settings/Kconfig"
|
2016-12-23 20:06:46 +01:00
|
|
|
source "subsys/shell/Kconfig"
|
2023-05-22 15:57:55 +02:00
|
|
|
source "subsys/sip_svc/Kconfig"
|
2020-08-22 19:07:14 +02:00
|
|
|
source "subsys/stats/Kconfig"
|
2017-12-08 11:50:46 +01:00
|
|
|
source "subsys/storage/Kconfig"
|
2020-11-18 16:23:17 +01:00
|
|
|
source "subsys/task_wdt/Kconfig"
|
2019-02-19 21:45:18 +01:00
|
|
|
source "subsys/testsuite/Kconfig"
|
2020-08-05 21:57:00 +02:00
|
|
|
source "subsys/timing/Kconfig"
|
2020-02-06 15:13:51 +01:00
|
|
|
source "subsys/tracing/Kconfig"
|
2023-02-21 20:18:37 +01:00
|
|
|
source "subsys/usb/device/Kconfig"
|
|
|
|
source "subsys/usb/device_next/Kconfig"
|
|
|
|
source "subsys/usb/host/Kconfig"
|
|
|
|
source "subsys/usb/usb_c/Kconfig"
|
2022-07-31 04:40:36 +02:00
|
|
|
source "subsys/zbus/Kconfig"
|
2023-05-22 15:57:55 +02:00
|
|
|
# zephyr-keep-sorted-stop
|
2022-07-31 04:40:36 +02:00
|
|
|
|
2020-08-22 18:47:24 +02:00
|
|
|
endmenu
|