Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions doc/build/kconfig/setting.rst
Original file line number Diff line number Diff line change
Expand Up @@ -161,10 +161,10 @@ used.
#. Otherwise, :file:`prj.conf` is used from the application configuration
directory. If it does not exist then a fatal error will be emitted.

Furthermore, applications can have SoC overlay configuration that is applied to
it, the file :file:`socs/<SOC>_<BOARD_QUALIFIERS>.conf` will be applied if it exists,
after the main project configuration has been applied and before any board overlay
configuration files have been applied.
Furthermore, applications can have SoC Kconfig fragments added to the configuration,
the file :file:`socs/<SOC>_<BOARD_QUALIFIERS>.conf` will be applied if it exists,
after the main project configuration has been applied and before any board Kconfig
fragments files have been applied.

All configuration files will be taken from the application's configuration
directory except for files with an absolute path that are given with the
Expand Down
27 changes: 20 additions & 7 deletions doc/hardware/porting/soc_porting.rst
Original file line number Diff line number Diff line change
Expand Up @@ -231,21 +231,34 @@ files for a SoC:

.. code-block:: kconfig

config SOC_<series name>
config SOC_FAMILY_<SOC_FAMILY_NAME>
bool

config SOC_SERIES_<SOC_SERIES_NAME>
bool
select SOC_FAMILY_<SOC_FAMILY_NAME>

config SOC_<SOC_NAME>
bool
select SOC_SERIES_<series name>
select SOC_SERIES_<SOC_SERIES_NAME>

config SOC_FAMILY
default "<SOC_FAMILY_NAME>" if SOC_FAMILY_<SOC_FAMILY_NAME>

config SOC_SERIES
default "<SOC_SERIES_NAME>" if SOC_SERIES_<SOC_SERIES_NAME>

config SOC
default "SoC name" if SOC_<SOC_NAME>
default "<SOC_NAME>" if SOC_<SOC_NAME>

Notice that ``SOC_NAME`` is a pure upper case version of the SoC name.
Notice that ``SOC_NAME`` is a pure uppercase version of the SoC name, ``SOC_SERIES_NAME`` is
a pure uppercase version of SoC series name and ``SOC_FAMILY_NAME`` is a pure uppercase version
of the SoC family name, if these fields do not appear in the :file:`soc.yml` file then they
should not be present in the :file:`Kconfig.soc` file.

The Kconfig ``SOC`` setting is globally defined as a string and therefore the
:file:`Kconfig.soc` file shall only define the default string value and not
the type. Notice that the string value must match the SoC name used in the
The Kconfigs ``SOC``, ``SOC_SERIES`` and ``SOC_FAMILY`` settings are globally defined as
strings and therefore the :file:`Kconfig.soc` file shall only define the default string values
and not the types. Notice that the string values must match the values used in the
:file:`soc.yml` file.

:file:`Kconfig`
Expand Down