@@ -37,7 +37,6 @@ if (NOT APPLE) | |||
endif() | endif() | ||
add_compile_opti | add_compile_opti | ||
add_compile_opti | add_compile_opti | ||
-add_compile_opti | |||
add_compile_opti | add_compile_opti | ||
add_compile_opti | add_compile_opti | ||
@@ -17,6 +17,7 @@ | |||
#include <db.h> | #include <db.h> | ||
#endif | #endif | ||
#include <regex.h> /* May refer to the bundled regex. */ | #include <regex.h> /* May refer to the bundled regex. */ | ||
+#include <stdint.h> | |||
/* | /* | ||
* Forward structure declarations. Not pretty, but the include files | * Forward structure declarations. Not pretty, but the include files |
@@ -18,7 +18,6 @@ | |||
#include <fcntl.h> | #include <fcntl.h> | ||
#include <libgen.h> | #include <libgen.h> | ||
#include <limits.h> | #include <limits.h> | ||
-#include <stdint.h> | |||
#include <stdio.h> | #include <stdio.h> | ||
#include <stdlib.h> | #include <stdlib.h> | ||
#include <string.h> | #include <string.h> |
@@ -181,6 +181,8 @@ OPTLIST const optlist[] = { | |||
{L("shellmeta"), NULL, OPT_STR, 0}, | {L("shellmeta"), NULL, OPT_STR, 0}, | ||
/* O_SHIFTWIDTH 4BSD */ | /* O_SHIFTWIDTH 4BSD */ | ||
{L("shiftwidth"), NULL, OPT_NUM, OPT_NOZERO}, | {L("shiftwidth"), NULL, OPT_NUM, OPT_NOZERO}, | ||
+/* O_SHOWFILENAME */ | |||
+ {L("showfilename"), NULL, OPT_0BOOL, 0}, | |||
/* O_SHOWMATCH 4BSD */ | /* O_SHOWMATCH 4BSD */ | ||
{L("showmatch"), NULL, OPT_0BOOL, 0}, | {L("showmatch"), NULL, OPT_0BOOL, 0}, | ||
/* O_SHOWMODE 4.4BSD */ | /* O_SHOWMODE 4.4BSD */ | ||
@@ -317,7 +319,7 @@ opts_init(SCR *sp, int *oargs) | |||
/* Set numeric and string default values. */ | /* Set numeric and string default values. */ | ||
#define OI(indx, str) do { \ | #define OI(indx, str) do { \ | ||
a.len = STRLEN(str); \ | a.len = STRLEN(str); \ | ||
- if ((CHAR_T*)str != b2) /* GCC puts strings in text-space. */ \ | + if (STRCMP((CHAR_T*)str, b2) != 0) \ | ||
(void)MEMCPY(b2, str, a.len+1); \ | (void)MEMCPY(b2, str, a.len+1); \ | ||
if (opts_set(sp, argv, NULL)) { \ | if (opts_set(sp, argv, NULL)) { \ | ||
optindx = indx; \ | optindx = indx; \ |
@@ -12,11 +12,13 @@ | |||
.\" that you would have purchased it, or if any company wishes to | .\" that you would have purchased it, or if any company wishes to | ||
.\" redistribute it, contributions to the authors would be appreciated. | .\" redistribute it, contributions to the authors would be appreciated. | ||
.\" | .\" | ||
-.Dd September 25, 2020 | +.Dd April 18, 2024 | ||
.Dt VI 1 | .Dt VI 1 | ||
.Os | .Os | ||
.Sh NAME | .Sh NAME | ||
-.Nm ex , | +.Nm ex , | ||
+.Nm vi , | |||
+.Nm view | |||
.Nd text editors | .Nd text editors | ||
.Sh SYNOPSIS | .Sh SYNOPSIS | ||
.Nm ex | .Nm ex | ||
@@ -302,7 +304,7 @@ Quit editing and leave | |||
(if you've modified the file, but not saved your changes, | (if you've modified the file, but not saved your changes, | ||
.Nm vi | .Nm vi | ||
will refuse to quit). | will refuse to quit). | ||
-.It Cm | +.It Cm :q\&! | ||
Quit, discarding any modifications that you may have made. | Quit, discarding any modifications that you may have made. | ||
.El | .El | ||
.Pp | .Pp | ||
@@ -706,7 +708,7 @@ Execute the | |||
.Nm ex | .Nm ex | ||
command being entered, or cancel it if it is only partial. | command being entered, or cancel it if it is only partial. | ||
.Pp | .Pp | ||
-.It Aq Cm control- | +.It Aq Cm control-\(rB | ||
Push a tag reference onto the tag stack. | Push a tag reference onto the tag stack. | ||
.Pp | .Pp | ||
.It Aq Cm control-\(ha | .It Aq Cm control-\(ha | ||
@@ -830,7 +832,7 @@ or | |||
to the position of the cursor before the last of the following commands: | to the position of the cursor before the last of the following commands: | ||
.Aq Cm control-A , | .Aq Cm control-A , | ||
.Aq Cm control-T , | .Aq Cm control-T , | ||
-.Aq Cm control- | +.Aq Cm control-\(rB , | ||
.Cm % , | .Cm % , | ||
.Cm \(aq , | .Cm \(aq , | ||
.Cm \` , | .Cm \` , | ||
@@ -1809,8 +1811,8 @@ Display buffers, Cscope connections, screens or tags. | |||
.Op Ar +cmd | .Op Ar +cmd | ||
.Op Ar file | .Op Ar file | ||
.Xc | .Xc | ||
-Edit a different file. | +Edit a different file. | ||
-current screen. | +The capitalized command opens a new screen below the current screen. | ||
.Pp | .Pp | ||
.It Xo | .It Xo | ||
.Cm exu Ns Op Cm sage | .Cm exu Ns Op Cm sage | ||
@@ -1833,8 +1835,8 @@ Display and optionally change the file name. | |||
.Xc | .Xc | ||
.Nm vi | .Nm vi | ||
mode only. | mode only. | ||
-Foreground the specified screen. | +Foreground the specified screen. | ||
-below the current screen. | +The capitalized command opens a new screen below the current screen. | ||
.Pp | .Pp | ||
.It Xo | .It Xo | ||
.Op Ar range | .Op Ar range | ||
@@ -1921,8 +1923,8 @@ Write the abbreviations, editor options and maps to the specified | |||
.Op Cm !\& | .Op Cm !\& | ||
.Op Ar | .Op Ar | ||
.Xc | .Xc | ||
-Edit the next file from the argument list. | +Edit the next file from the argument list. | ||
-new screen below the current screen. | +The capitalized command opens a new screen below the current screen. | ||
.\" .Pp | .\" .Pp | ||
.\" .It Xo | .\" .It Xo | ||
.\" .Op Ar line | .\" .Op Ar line | ||
@@ -1943,8 +1945,8 @@ option. | |||
.Cm rev Ns Op Cm ious Ns | .Cm rev Ns Op Cm ious Ns | ||
.Op Cm !\& | .Op Cm !\& | ||
.Xc | .Xc | ||
-Edit the previous file from the argument list. | +Edit the previous file from the argument list. | ||
-a new screen below the current screen. | +The capitalized command opens a new screen below the current screen. | ||
.Pp | .Pp | ||
.It Xo | .It Xo | ||
.Op Ar range | .Op Ar range | ||
@@ -2107,8 +2109,8 @@ character is usually | |||
.Op Cm !\& | .Op Cm !\& | ||
.Ar tagstring | .Ar tagstring | ||
.Xc | .Xc | ||
-Edit the file containing the specified tag. | +Edit the file containing the specified tag. | ||
-new screen below the current screen. | +The capitalized command opens a new screen below the current screen. | ||
.Pp | .Pp | ||
.It Xo | .It Xo | ||
.Cm tagn Ns Op Cm ext Ns | .Cm tagn Ns Op Cm ext Ns | ||
@@ -2178,8 +2180,8 @@ Enter | |||
.Op Ar file | .Op Ar file | ||
.Xc | .Xc | ||
.Nm vi | .Nm vi | ||
-mode only. Edit a different file by opening a new screen below the current | +mode only. | ||
-screen. | +Edit a different file by opening a new screen below the current screen. | ||
.Pp | .Pp | ||
.It Xo | .It Xo | ||
.Cm viu Ns Op Cm sage | .Cm viu Ns Op Cm sage | ||
@@ -2226,7 +2228,8 @@ Write the entire file, or | |||
.Sq !\& | .Sq !\& | ||
overwrites a different, preexisting file. | overwrites a different, preexisting file. | ||
.Sq >> | .Sq >> | ||
-appends to a file that may preexist. | +appends to a file that may preexist. | ||
+Whitespace followed by | |||
.Sq !\& | .Sq !\& | ||
pipes the file to | pipes the file to | ||
.Ar shell-command . | .Ar shell-command . | ||
@@ -2479,7 +2482,7 @@ Set the number of lines about which the editor reports changes or yanks. | |||
.It Cm ruler Bq off | .It Cm ruler Bq off | ||
.Nm vi | .Nm vi | ||
only. | only. | ||
-Display a row/column ruler on the colon command line. | +Display a row/column/percentage ruler on the colon command line. | ||
.It Cm scroll , scr Bq "window size / 2" | .It Cm scroll , scr Bq "window size / 2" | ||
Set the number of lines scrolled. | Set the number of lines scrolled. | ||
.It Cm searchincr Bq off | .It Cm searchincr Bq off | ||
@@ -2505,6 +2508,10 @@ Set the meta characters checked to determine if file name expansion | |||
is necessary. | is necessary. | ||
.It Cm shiftwidth , sw Bq 8 | .It Cm shiftwidth , sw Bq 8 | ||
Set the autoindent and shift command indentation width. | Set the autoindent and shift command indentation width. | ||
+.It Cm showfilename Bq off | |||
+.Nm vi | |||
+only. | |||
+Display the file name on the colon command line. | |||
.It Cm showmatch , sm Bq off | .It Cm showmatch , sm Bq off | ||
.Nm vi | .Nm vi | ||
only. | only. | ||
@@ -2773,10 +2780,8 @@ and \*(Gt0 if an error occurs. | |||
.Xr ctags 1 , | .Xr ctags 1 , | ||
.Xr iconv 1 , | .Xr iconv 1 , | ||
.Xr re_format 7 | .Xr re_format 7 | ||
-.Rs | +.Pp | ||
-.%T vi/ex reference manual | +.Lk https://docs.freebsd.org/44doc/usd/13.viref/paper.pdf "Vi/Ex Reference Manual" | ||
-.%U https://docs.freebsd.org/44doc/usd/13.viref/paper.pdf | |||
-.Re | |||
.Sh STANDARDS | .Sh STANDARDS | ||
.Nm nex Ns / Ns Nm nvi | .Nm nex Ns / Ns Nm nvi | ||
is close to | is close to |
@@ -774,7 +774,8 @@ vs_modeline(SCR *sp) | |||
size_t cols, curcol, curlen, endpoint, len, midpoint; | size_t cols, curcol, curlen, endpoint, len, midpoint; | ||
const char *t = NULL; | const char *t = NULL; | ||
int ellipsis; | int ellipsis; | ||
- char buf[ | + char buf[30]; | ||
+ recno_t last; | |||
gp = sp->gp; | gp = sp->gp; | ||
@@ -795,7 +796,7 @@ vs_modeline(SCR *sp) | |||
/* If more than one screen in the display, show the file name. */ | /* If more than one screen in the display, show the file name. */ | ||
curlen = 0; | curlen = 0; | ||
- if (IS_SPLIT(sp)) { | + if (IS_SPLIT(sp) || O_ISSET(sp, O_SHOWFILENAME)) { | ||
CHAR_T *wp, *p; | CHAR_T *wp, *p; | ||
size_t l; | size_t l; | ||
@@ -846,8 +847,14 @@ vs_modeline(SCR *sp) | |||
cols = sp->cols - 1; | cols = sp->cols - 1; | ||
if (O_ISSET(sp, O_RULER)) { | if (O_ISSET(sp, O_RULER)) { | ||
vs_column(sp, &curcol); | vs_column(sp, &curcol); | ||
- len = snprintf(buf, sizeof(buf), "%lu,%lu", | + | ||
- (u_long)sp->lno, (u_long)(curcol + 1)); | + if (db_last(sp, &last) || last == 0) | ||
+ len = snprintf(buf, sizeof(buf), "%lu,%zu", | |||
+ (u_long)sp->lno, curcol + 1); | |||
+ else | |||
+ len = snprintf(buf, sizeof(buf), "%lu,%zu %lu%%", | |||
+ (u_long)sp->lno, curcol + 1, | |||
+ (u_long)(sp->lno * 100) / last); | |||
midpoint = (cols - ((len + 1) / 2)) / 2; | midpoint = (cols - ((len + 1) / 2)) / 2; | ||
if (curlen < midpoint) { | if (curlen < midpoint) { |
@@ -25,23 +25,25 @@ quiet_cmd_extrac | |||
$(obj)/%.example.dts: $(src)/%.yaml check_dtschema_v | $(obj)/%.example.dts: $(src)/%.yaml check_dtschema_v | ||
$(call if_changed,extra | $(call if_changed,extra | ||
-find_all_cmd = find $( | +find_all_cmd = find $(src) \( -name '*.yaml' ! \ | ||
-name 'processed-schema*' \) | -name 'processed-schema*' \) | ||
find_cmd = $(find_all_cmd) | \ | find_cmd = $(find_all_cmd) | \ | ||
sed 's|^$(srctree)/||' | \ | sed 's|^$(srctree)/||' | \ | ||
grep -F -e "$(subst :," -e ",$(DT_SCHEMA_FILES))" | \ | grep -F -e "$(subst :," -e ",$(DT_SCHEMA_FILES))" | \ | ||
sed 's|^|$(srctree)/|' | sed 's|^|$(srctree)/|' | ||
-CHK_DT_DOCS := $(shell $(find_cmd)) | +CHK_DT_EXAMPLES := $(patsubst $(srctree)/%.yaml,%.example.dtb, $(shell $(find_cmd))) | ||
quiet_cmd_yamlli | quiet_cmd_yamlli | ||
cmd_yamllint = ($(find_cmd) | \ | cmd_yamllint = ($(find_cmd) | \ | ||
xargs -n200 -P$$(nproc) \ | xargs -n200 -P$$(nproc) \ | ||
- $(DT_SCHEMA_LINT) -f parsable -c $( | + $(DT_SCHEMA_LINT) -f parsable -c $(src)/.yamllint >&2) \ | ||
+ && touch $@ || true | |||
-quiet_cmd_chk_bindings = CHKDT | +quiet_cmd_chk_bindings = CHKDT $(src) | ||
cmd_chk_bindings | cmd_chk_bindings | ||
- xargs -n200 -P$$(nproc) $(DT_DOC_CHECKER) -u $(srctree)/$(src)) || true | + xargs -n200 -P$$(nproc) $(DT_DOC_CHECKER) -u $(src)) \ | ||
+ && touch $@ || true | |||
quiet_cmd_mk_sch | quiet_cmd_mk_sch | ||
cmd_mk_schema = f=$$(mktemp) ; \ | cmd_mk_schema = f=$$(mktemp) ; \ | ||
@@ -49,12 +51,6 @@ quiet_cmd_mk_sch | |||
$(DT_MK_SCHEMA) -j $(DT_MK_SCHEMA_FLA | $(DT_MK_SCHEMA) -j $(DT_MK_SCHEMA_FLA | ||
rm -f $$f | rm -f $$f | ||
-define rule_chkdt | |||
- $(if $(DT_SCHEMA_LINT),$(call cmd,yamllint),) | |||
- $(call cmd,chk_bindings | |||
- $(call cmd,mk_schema) | |||
-endef | |||
- | |||
DT_DOCS = $(patsubst $(srctree)/%,%,$(shell $(find_all_cmd))) | DT_DOCS = $(patsubst $(srctree)/%,%,$(shell $(find_all_cmd))) | ||
override DTC_FLAGS := \ | override DTC_FLAGS := \ | ||
@@ -64,15 +60,19 @@ override DTC_FLAGS := \ | |||
-Wno-unique_unit_addr | -Wno-unique_unit_addr | ||
-Wunique_unit_add | -Wunique_unit_add | ||
-# Disable undocumented compatible checks until warning free | +$(obj)/processed-schema.json: $(DT_DOCS) check_dtschema_v | ||
-override DT_CHECKER_FLAGS | + $(call if_changed,mk_sc | ||
+ | |||
+targets += .dt-binding.checked .yamllint.checked | |||
+$(obj)/.yamllint.checked: $(DT_DOCS) $(src)/.yamllint FORCE | |||
+ $(if $(DT_SCHEMA_LINT),$(call if_changed,yamll | |||
-$(obj)/processed-schema.json: $(DT_DOCS) $(src)/.yamllint check_dtschema_v | +$(obj)/.dt-binding.checked: $(DT_DOCS) FORCE | ||
- $(call | + $(call if_changed,chk_bindings) | ||
always-y += processed-schema.json | always-y += processed-schema.json | ||
-always-$(CHECK_DT_BINDING | +targets += $(patsubst $(obj)/%,%, $(CHK_DT_EXAMPLES)) | ||
-always-$(CHECK_DT_BINDING | +targets += $(patsubst $(obj)/%.dtb,%.dts, $(CHK_DT_EXAMPLES)) | ||
# Hack: avoid 'Argument list too long' error for 'make clean'. Remove most of | # Hack: avoid 'Argument list too long' error for 'make clean'. Remove most of | ||
# build artifacts here before they are processed by scripts/Makefile.clean | # build artifacts here before they are processed by scripts/Makefile.clean | ||
@@ -81,3 +81,6 @@ clean-files = $(shell find $(obj) \( -name '*.example.dts' -o \ | |||
dt_compatible_ch | dt_compatible_ch | ||
$(Q)$(srctree)/scripts/dtc/dt-extract-compatibles $(srctree) | xargs dt-check-compatible -v -s $< | $(Q)$(srctree)/scripts/dtc/dt-extract-compatibles $(srctree) | xargs dt-check-compatible -v -s $< | ||
+ | |||
+PHONY += dt_binding_check | |||
+dt_binding_check |
@@ -0,0 +1,84 @@ | |||
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/access-controllers/access-controllers.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: Generic Domain Access Controllers | |||
+ | |||
+maintainers: | |||
+ - Oleksii Moisieiev <oleksii_moisieie | |||
+ | |||
+description: |+ | |||
+ Common access controllers properties | |||
+ | |||
+ Access controllers are in charge of stating which of the hardware blocks under | |||
+ their responsibility (their domain) can be accesssed by which compartment. A | |||
+ compartment can be a cluster of CPUs (or coprocessors), a range of addresses | |||
+ or a group of hardware blocks. An access controller's domain is the set of | |||
+ resources covered by the access controller. | |||
+ | |||
+ This device tree binding can be used to bind devices to their access | |||
+ controller provided by access-controllers property. In this case, the device | |||
+ is a consumer and the access controller is the provider. | |||
+ | |||
+ An access controller can be represented by any node in the device tree and | |||
+ can provide one or more configuration parameters, needed to control parameters | |||
+ of the consumer device. A consumer node can refer to the provider by phandle | |||
+ and a set of phandle arguments, specified by '#access-controller-cells' | |||
+ property in the access controller node. | |||
+ | |||
+ Access controllers are typically used to set/read the permissions of a | |||
+ hardware block and grant access to it. Any of which depends on the access | |||
+ controller. The capabilities of each access controller are defined by the | |||
+ binding of the access controller device. | |||
+ | |||
+ Each node can be a consumer for the several access controllers. | |||
+ | |||
+# always select the core schema | |||
+select: true | |||
+ | |||
+properties: | |||
+ "#access-controller-cells": | |||
+ description: | |||
+ Number of cells in an access-controllers specifier; | |||
+ Can be any value as specified by device tree binding documentation | |||
+ of a particular provider. The node is an access controller. | |||
+ | |||
+ access-controller-names: | |||
+ $ref: /schemas/types.yaml#/definitions/string-array | |||
+ description: | |||
+ A list of access-controllers names, sorted in the same order as | |||
+ access-controllers entries. Consumer drivers will use | |||
+ access-controller-names to match with existing access-controllers entries. | |||
+ | |||
+ access-controllers: | |||
+ $ref: /schemas/types.yaml#/definitions/phandle-array | |||
+ description: | |||
+ A list of access controller specifiers, as defined by the | |||
+ bindings of the access-controllers provider. | |||
+ | |||
+additionalProper | |||
+ | |||
+examples: | |||
+ - | | |||
+ clock_controller | |||
+ reg = <0x50000 0x400>; | |||
+ #access-controller-cells = <2>; | |||
+ }; | |||
+ | |||
+ bus_controller: bus@60000 { | |||
+ reg = <0x60000 0x10000>; | |||
+ #address-cells = <1>; | |||
+ #size-cells = <1>; | |||
+ ranges; | |||
+ #access-controller-cells = <3>; | |||
+ | |||
+ uart4: serial@60100 { | |||
+ reg = <0x60100 0x400>; | |||
+ clocks = <&clk_serial>; | |||
+ access-controllers = <&clock_controller | |||
+ <&bus_controller 1 3 5>; | |||
+ access-controller-names = "clock", "bus"; | |||
+ }; | |||
+ }; |
@@ -0,0 +1,33 @@ | |||
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/arc/snps,archs-pct.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: ARC HS Performance Counters | |||
+ | |||
+maintainers: | |||
+ - Aryabhatta Dey <aryabhattadey35@gmail.com> | |||
+ | |||
+description: | |||
+ The ARC HS can be configured with a pipeline performance monitor for counting | |||
+ CPU and cache events like cache misses and hits. Like conventional PCT there | |||
+ are 100+ hardware conditions dynamically mapped to up to 32 counters. | |||
+ It also supports overflow interrupts. | |||
+ | |||
+properties: | |||
+ compatible: | |||
+ const: snps,archs-pct | |||
+ | |||
+ reg: | |||
+ maxItems: 1 | |||
+ | |||
+ clocks: | |||
+ maxItems: 1 | |||
+ | |||
+required: | |||
+ - compatible | |||
+ - reg | |||
+ - clocks | |||
+ | |||
+additionalProper |
@@ -22,6 +22,10 @@ properties: | |||
- enum: | - enum: | ||
- airoha,en7523-evb | - airoha,en7523-evb | ||
- const: airoha,en7523 | - const: airoha,en7523 | ||
+ - items: | |||
+ - enum: | |||
+ - airoha,en7581-evb | |||
+ - const: airoha,en7581 | |||
additionalProper | additionalProper | ||
@@ -7,19 +7,11 @@ $schema: http://devicetre | |||
title: Amlogic SoC based Platforms | title: Amlogic SoC based Platforms | ||
maintainers: | maintainers: | ||
+ - Neil Armstrong <neil.armstrong@linaro.org> | |||
+ - Martin Blumenstingl <martin.blumenstingl@googlemail.com> | |||
+ - Jerome Brunet <jbrunet@baylibre.com> | |||
- Kevin Hilman <khilman@baylibre.com> | - Kevin Hilman <khilman@baylibre.com> | ||
-description: |+ | |||
- Work in progress statement: | |||
- | |||
- Device tree files and bindings applying to Amlogic SoCs and boards are | |||
- considered "unstable". Any Amlogic device tree binding may change at | |||
- any time. Be sure to use a device tree binary and a kernel image | |||
- generated from the same source tree. | |||
- | |||
- Please refer to Documentation/devicetree/bindings/ABI.rst for a definition of a | |||
- stable binding/ABI. | |||
- | |||
properties: | properties: | ||
$nodename: | $nodename: | ||
const: '/' | const: '/' | ||
@@ -99,6 +91,7 @@ properties: | |||
- libretech,aml-s905x-cc | - libretech,aml-s905x-cc | ||
- libretech,aml-s905x-cc-v2 | - libretech,aml-s905x-cc-v2 | ||
- nexbox,a95x | - nexbox,a95x | ||
+ - osmc,vero4k | |||
- const: amlogic,s905x | - const: amlogic,s905x | ||
- const: amlogic,meson-gxl | - const: amlogic,meson-gxl | ||
@@ -115,6 +108,13 @@ properties: | |||
- const: amlogic,s905d | - const: amlogic,s905d | ||
- const: amlogic,meson-gxl | - const: amlogic,meson-gxl | ||
+ - description: Boards with the Amlogic Meson GXLX S905L SoC | |||
+ items: | |||
+ - enum: | |||
+ - amlogic,p271 | |||
+ - const: amlogic,s905l | |||
+ - const: amlogic,meson-gxlx | |||
+ | |||
- description: Boards with the Amlogic Meson GXM S912 SoC | - description: Boards with the Amlogic Meson GXM S912 SoC | ||
items: | items: | ||
- enum: | - enum: | ||
@@ -146,6 +146,7 @@ properties: | |||
- enum: | - enum: | ||
- amediatech,x96-max | - amediatech,x96-max | ||
- amlogic,u200 | - amlogic,u200 | ||
+ - freebox,fbx8am | |||
- radxa,zero | - radxa,zero | ||
- seirobotics,sei5 | - seirobotics,sei5 | ||
- const: amlogic,g12a | - const: amlogic,g12a | ||
@@ -164,6 +165,7 @@ properties: | |||
items: | items: | ||
- enum: | - enum: | ||
- bananapi,bpi-cm4io | - bananapi,bpi-cm4io | ||
+ - mntre,reform2-cm4 | |||
- const: bananapi,bpi-cm4 | - const: bananapi,bpi-cm4 | ||
- const: amlogic,a311d | - const: amlogic,a311d | ||
- const: amlogic,g12b | - const: amlogic,g12b | ||
@@ -175,6 +177,8 @@ properties: | |||
- azw,gtking | - azw,gtking | ||
- azw,gtking-pro | - azw,gtking-pro | ||
- bananapi,bpi-m2s | - bananapi,bpi-m2s | ||
+ - dream,dreambox-one | |||
+ - dream,dreambox-two | |||
- hardkernel,odroi | - hardkernel,odroi | ||
- hardkernel,odroi | - hardkernel,odroi | ||
- hardkernel,odroi | - hardkernel,odroi | ||
@@ -208,6 +212,18 @@ properties: | |||
- amlogic,ad402 | - amlogic,ad402 | ||
- const: amlogic,a1 | - const: amlogic,a1 | ||
+ - description: Boards with the Amlogic A4 A113L2 SoC | |||
+ items: | |||
+ - enum: | |||
+ - amlogic,ba400 | |||
+ - const: amlogic,a4 | |||
+ | |||
+ - description: Boards with the Amlogic A5 A113X2 SoC | |||
+ items: | |||
+ - enum: | |||
+ - amlogic,av400 | |||
+ - const: amlogic,a5 | |||
+ | |||
- description: Boards with the Amlogic C3 C302X/C308L SoC | - description: Boards with the Amlogic C3 C302X/C308L SoC | ||
items: | items: | ||
- enum: | - enum: |
@@ -25,10 +25,18 @@ select: | |||
properties: | properties: | ||
compatible: | compatible: | ||
- items: | + oneOf: | ||
- - const: amlogic,meson-gx-ao-secure | + - items: | ||
- - const: syscon | + - const: amlogic,meson-gx-ao-secure | ||
- | + - const: syscon | ||
+ - items: | |||
+ - enum: | |||
+ - amlogic,a4-ao-secure | |||
+ - amlogic,c3-ao-secure | |||
+ - amlogic,s4-ao-secure | |||
+ - amlogic,t7-ao-secure | |||
+ - const: amlogic,meson-gx-ao-secure | |||
+ - const: syscon | |||
reg: | reg: | ||
maxItems: 1 | maxItems: 1 | ||
@@ -30,7 +30,7 @@ description: | | |||
maintainers: | maintainers: | ||
- Mike Leach <mike.leach@linaro.org> | - Mike Leach <mike.leach@linaro.org> | ||
- Suzuki K Poulose <suzuki.poulose@arm.com> | - Suzuki K Poulose <suzuki.poulose@arm.com> | ||
- - James Clark <james. | + - James Clark <james.clark@linaro.org> | ||
- Mao Jinlong <quic_jinlmao@quicinc.com> | - Mao Jinlong <quic_jinlmao@quicinc.com> | ||
- Hao Zhang <quic_hazha@quicinc.com> | - Hao Zhang <quic_hazha@quicinc.com> | ||
@@ -17,7 +17,7 @@ description: | | |||
The Coresight dummy source component is for the specific coresight source | The Coresight dummy source component is for the specific coresight source | ||
devices kernel don't have permission to access or configure. For some SOCs, | devices kernel don't have permission to access or configure. For some SOCs, | ||
there would be Coresight source trace components on sub-processor which | there would be Coresight source trace components on sub-processor which | ||
- are | + are connected to AP processor via debug bus. For these devices, a dummy driver | ||
is needed to register them as Coresight source devices, so that paths can be | is needed to register them as Coresight source devices, so that paths can be | ||
created in the driver. It provides Coresight API for operations on dummy | created in the driver. It provides Coresight API for operations on dummy | ||
source devices, such as enabling and disabling them. It also provides the | source devices, such as enabling and disabling them. It also provides the | ||
@@ -29,7 +29,7 @@ description: | | |||
maintainers: | maintainers: | ||
- Mike Leach <mike.leach@linaro.org> | - Mike Leach <mike.leach@linaro.org> | ||
- Suzuki K Poulose <suzuki.poulose@arm.com> | - Suzuki K Poulose <suzuki.poulose@arm.com> | ||
- - James Clark <james. | + - James Clark <james.clark@linaro.org> | ||
- Mao Jinlong <quic_jinlmao@quicinc.com> | - Mao Jinlong <quic_jinlmao@quicinc.com> | ||
- Hao Zhang <quic_hazha@quicinc.com> | - Hao Zhang <quic_hazha@quicinc.com> | ||
@@ -7,8 +7,8 @@ $schema: http://devicetre | |||
title: ARM Corstone1000 | title: ARM Corstone1000 | ||
maintainers: | maintainers: | ||
- - Vishnu Banavath <vishnu.banavath@arm.com> | + - Abdellatif El Khlifi <abdellatif.elkhlifi@arm.com> | ||
- - Rui Miguel Silva <rui.silva@linaro.org> | + - Hugues Kamba Mpiana <hugues.kambampiana@arm.com> | ||
description: |+ | description: |+ | ||
ARM's Corstone1000 includes pre-verified Corstone SSE-710 subsystem that | ARM's Corstone1000 includes pre-verified Corstone SSE-710 subsystem that |
@@ -0,0 +1,61 @@ | |||
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/arm/arm,juno-fpga-apb-regs.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: ARM Juno FPGA APB Registers | |||
+ | |||
+maintainers: | |||
+ - Sudeep Holla <sudeep.holla@arm.com> | |||
+ | |||
+properties: | |||
+ compatible: | |||
+ items: | |||
+ - const: arm,juno-fpga-apb-regs | |||
+ - const: syscon | |||
+ - const: simple-mfd | |||
+ | |||
+ reg: | |||
+ maxItems: 1 | |||
+ | |||
+ ranges: true | |||
+ | |||
+ "#address-cells": | |||
+ const: 1 | |||
+ | |||
+ "#size-cells": | |||
+ const: 1 | |||
+ | |||
+patternPropertie | |||
+ "^led@[0-9a-f]+,[0-9a-f]$": | |||
+ $ref: /schemas/leds/register-bit-led.yaml# | |||
+ | |||
+required: | |||
+ - compatible | |||
+ - reg | |||
+ - ranges | |||
+ - "#address-cells" | |||
+ - "#size-cells" | |||
+ | |||
+additionalProper | |||
+ | |||
+examples: | |||
+ - | | |||
+ syscon@10000 { | |||
+ compatible = "arm,juno-fpga-apb-regs", "syscon", "simple-mfd"; | |||
+ reg = <0x010000 0x1000>; | |||
+ ranges = <0x0 0x10000 0x1000>; | |||
+ #address-cells = <1>; | |||
+ #size-cells = <1>; | |||
+ | |||
+ led@8,0 { | |||
+ compatible = "register-bit-led"; | |||
+ reg = <0x08 0x04>; | |||
+ offset = <0x08>; | |||
+ mask = <0x01>; | |||
+ label = "vexpress:0"; | |||
+ linux,default-trigger = "heartbeat"; | |||
+ default-state = "on"; | |||
+ }; | |||
+ }; |
@@ -10,9 +10,9 @@ maintainers: | |||
- Linus Walleij <linus.walleij@linaro.org> | - Linus Walleij <linus.walleij@linaro.org> | ||
description: |+ | description: |+ | ||
- The ARM RealView series of reference designs were built to explore the | + The ARM RealView series of reference designs were built to explore the Arm11, | ||
- | + Cortex-A8, and Cortex-A9 CPUs. This included new features compared to the | ||
- | + earlier CPUs such as TrustZone and multicore (MPCore). | ||
properties: | properties: | ||
$nodename: | $nodename: |
@@ -35,7 +35,10 @@ properties: | |||
- ampere,mtjade-bmc | - ampere,mtjade-bmc | ||
- aspeed,ast2500-evb | - aspeed,ast2500-evb | ||
- asrock,e3c246d4i | - asrock,e3c246d4i | ||
+ - asrock,e3c256d4i | |||
- asrock,romed8hm3 | - asrock,romed8hm3 | ||
+ - asrock,spc621d8h | |||
+ - asrock,x570d4u-bmc | |||
- bytedance,g220a-bmc | - bytedance,g220a-bmc | ||
- facebook,cmm-bmc | - facebook,cmm-bmc | ||
- facebook,minipac | - facebook,minipac | ||
@@ -74,15 +77,21 @@ properties: | |||
- ampere,mtmitchel | - ampere,mtmitchel | ||
- aspeed,ast2600-evb | - aspeed,ast2600-evb | ||
- aspeed,ast2600-evb-a1 | - aspeed,ast2600-evb-a1 | ||
+ - asus,x4tf-bmc | |||
- facebook,bletchl | - facebook,bletchl | ||
+ - facebook,catalin | |||
- facebook,cloudri | - facebook,cloudri | ||
- facebook,elbert-bmc | - facebook,elbert-bmc | ||
- facebook,fuji-bmc | - facebook,fuji-bmc | ||
- facebook,greatla | - facebook,greatla | ||
+ - facebook,harma-bmc | |||
- facebook,minerva | - facebook,minerva | ||
- facebook,yosemit | - facebook,yosemit | ||
+ - ibm,blueridge-bmc | |||
- ibm,everest-bmc | - ibm,everest-bmc | ||
+ - ibm,fuji-bmc | |||
- ibm,rainier-bmc | - ibm,rainier-bmc | ||
+ - ibm,system1-bmc | |||
- ibm,tacoma-bmc | - ibm,tacoma-bmc | ||
- inventec,starscr | - inventec,starscr | ||
- inventec,transfo | - inventec,transfo |
@@ -179,6 +179,12 @@ properties: | |||
- const: microchip,sama7g | - const: microchip,sama7g | ||
- const: microchip,sama7 | - const: microchip,sama7 | ||
+ - description: Microchip SAMA7G54 Curiosity Board | |||
+ items: | |||
+ - const: microchip,sama7g | |||
+ - const: microchip,sama7g | |||
+ - const: microchip,sama7 | |||
+ | |||
- description: Microchip LAN9662 Evaluation Boards. | - description: Microchip LAN9662 Evaluation Boards. | ||
items: | items: | ||
- enum: | - enum: |
@@ -11,7 +11,8 @@ PIT Timer required properties: | |||
shared across all System Controller members. | shared across all System Controller members. | ||
PIT64B Timer required properties: | PIT64B Timer required properties: | ||
-- compatible: Should be "microchip,sam9x60-pit64b" | +- compatible: Should be "microchip,sam9x60-pit64b" or | ||
+ "microchip,sam9x7 | |||
- reg: Should contain registers location and length | - reg: Should contain registers location and length | ||
- interrupts: Should contain interrupt for PIT64B timer | - interrupts: Should contain interrupt for PIT64B timer | ||
- clocks: Should contain the available clock sources for PIT64B timer. | - clocks: Should contain the available clock sources for PIT64B timer. | ||
@@ -31,7 +32,8 @@ RAMC SDRAM/DDR Controller required properties: | |||
"atmel,at91sam9g4 | "atmel,at91sam9g4 | ||
"atmel,sama5d3-ddramc", | "atmel,sama5d3-ddramc", | ||
"microchip,sam9x6 | "microchip,sam9x6 | ||
- "microchip,sama7g5-uddrc" | + "microchip,sama7g5-uddrc", | ||
+ "microchip,sam9x7 | |||
- reg: Should contain registers location and length | - reg: Should contain registers location and length | ||
Examples: | Examples: | ||
@@ -41,35 +43,6 @@ Examples: | |||
reg = <0xffffe800 0x200>; | reg = <0xffffe800 0x200>; | ||
}; | }; | ||
-RAMC PHY Controller required properties: | |||
-- compatible: Should be "microchip,sama7g | |||
-- reg: Should contain registers location and length | |||
- | |||
-Example: | |||
- | |||
- ddr3phy: ddr3phy@e3804000 { | |||
- compatible = "microchip,sama7g | |||
- reg = <0xe3804000 0x1000>; | |||
-}; | |||
- | |||
-Special Function Registers (SFR) | |||
- | |||
-Special Function Registers (SFR) manage specific aspects of the integrated | |||
-memory, bridge implementations, | |||
-elsewhere. | |||
- | |||
-required properties: | |||
-- compatible: Should be "atmel,<chip>-sfr", "syscon" or | |||
- "atmel,<chip>-sfrbu", "syscon" | |||
- <chip> can be "sama5d3", "sama5d4" or "sama5d2". | |||
- It also can be "microchip,sam9x6 | |||
-- reg: Should contain registers location and length | |||
- | |||
- sfr@f0038000 { | |||
- compatible = "atmel,sama5d3-sfr", "syscon"; | |||
- reg = <0xf0038000 0x60>; | |||
- }; | |||
- | |||
Security Module (SECUMOD) | Security Module (SECUMOD) | ||
The Security Module macrocell provides all necessary secure functions to avoid | The Security Module macrocell provides all necessary secure functions to avoid |
@@ -7,22 +7,6 @@ ARTPEC-6 ARM SoC | |||
Required root node properties: | Required root node properties: | ||
- compatible = "axis,artpec6"; | - compatible = "axis,artpec6"; | ||
-ARTPEC-6 System Controller | |||
--------------------------- | |||
- | |||
-The ARTPEC-6 has a system controller with mixed functions controlling DMA, PCIe | |||
-and resets. | |||
- | |||
-Required properties: | |||
-- compatible: "axis,artpec6-syscon", "syscon" | |||
-- reg: Address and length of the register bank. | |||
- | |||
-Example: | |||
- syscon { | |||
- compatible = "axis,artpec6-syscon", "syscon"; | |||
- reg = <0xf8000000 0x48>; | |||
- }; | |||
- | |||
ARTPEC-6 Development board: | ARTPEC-6 Development board: | ||
--------------------------- | --------------------------- | ||
Required root node properties: | Required root node properties: |
@@ -23,6 +23,12 @@ properties: | |||
- raspberrypi,4-model-b | - raspberrypi,4-model-b | ||
- const: brcm,bcm2711 | - const: brcm,bcm2711 | ||
+ - description: BCM2712 based Boards | |||
+ items: | |||
+ - enum: | |||
+ - raspberrypi,5-model-b | |||
+ - const: brcm,bcm2712 | |||
+ | |||
- description: BCM2835 based Boards | - description: BCM2835 based Boards | ||
items: | items: | ||
- enum: | - enum: |
@@ -53,6 +53,7 @@ properties: | |||
- description: BCM4709 based boards | - description: BCM4709 based boards | ||
items: | items: | ||
- enum: | - enum: | ||
+ - asus,rt-ac3200 | |||
- asus,rt-ac87u | - asus,rt-ac87u | ||
- buffalo,wxr-1900dhp | - buffalo,wxr-1900dhp | ||
- linksys,ea9200 | - linksys,ea9200 | ||
@@ -67,6 +68,7 @@ properties: | |||
items: | items: | ||
- enum: | - enum: | ||
- asus,rt-ac3100 | - asus,rt-ac3100 | ||
+ - asus,rt-ac5300 | |||
- asus,rt-ac88u | - asus,rt-ac88u | ||
- dlink,dir-885l | - dlink,dir-885l | ||
- dlink,dir-890l | - dlink,dir-890l |
@@ -46,6 +46,30 @@ properties: | |||
- compatible | - compatible | ||
- "#clock-cells" | - "#clock-cells" | ||
+ gpio: | |||
+ type: object | |||
+ additionalProper | |||
+ | |||
+ properties: | |||
+ compatible: | |||
+ const: raspberrypi,firm | |||
+ | |||
+ gpio-controller: true | |||
+ | |||
+ "#gpio-cells": | |||
+ const: 2 | |||
+ description: | |||
+ The first cell is the pin number, and the second cell is used to | |||
+ specify the gpio polarity (GPIO_ACTIVE_HIGH | |||
+ | |||
+ gpio-line-names: | |||
+ minItems: 8 | |||
+ | |||
+ required: | |||
+ - compatible | |||
+ - gpio-controller | |||
+ - "#gpio-cells" | |||
+ | |||
reset: | reset: | ||
type: object | type: object | ||
additionalProper | additionalProper | ||
@@ -96,6 +120,12 @@ examples: | |||
#clock-cells = <1>; | #clock-cells = <1>; | ||
}; | }; | ||
+ expgpio: gpio { | |||
+ compatible = "raspberrypi,firm | |||
+ gpio-controller; | |||
+ #gpio-cells = <2>; | |||
+ }; | |||
+ | |||
reset: reset { | reset: reset { | ||
compatible = "raspberrypi,firm | compatible = "raspberrypi,firm | ||
#reset-cells = <1>; | #reset-cells = <1>; |
@@ -0,0 +1,38 @@ | |||
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/arm/cirrus/cirrus,ep9301.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: Cirrus Logic EP93xx platforms | |||
+ | |||
+description: | |||
+ The EP93xx SoC is a ARMv4T-based with 200 MHz ARM9 CPU. | |||
+ | |||
+maintainers: | |||
+ - Alexander Sverdlin <alexander.sverdlin@gmail.com> | |||
+ - Nikita Shubin <nikita.shubin@maquefel.me> | |||
+ | |||
+properties: | |||
+ $nodename: | |||
+ const: '/' | |||
+ compatible: | |||
+ oneOf: | |||
+ - description: The TS-7250 is a compact, full-featured Single Board | |||
+ Computer (SBC) based upon the Cirrus EP9302 ARM9 CPU | |||
+ items: | |||
+ - const: technologic,ts72 | |||
+ - const: cirrus,ep9301 | |||
+ | |||
+ - description: The Liebherr BK3 is a derivate from ts7250 board | |||
+ items: | |||
+ - const: liebherr,bk3 | |||
+ - const: cirrus,ep9301 | |||
+ | |||
+ - description: EDB302 is an evaluation board by Cirrus Logic, | |||
+ based on a Cirrus Logic EP9302 CPU | |||
+ items: | |||
+ - const: cirrus,edb9302 | |||
+ - const: cirrus,ep9301 | |||
+ | |||
+additionalProper |
@@ -27,16 +27,6 @@ Properties: | |||
- reg : Offset and length of the register set for the device | - reg : Offset and length of the register set for the device | ||
-* Alpine System-Fabric Service Registers | |||
- | |||
-The System-Fabric Service Registers allow various operation on CPU and | |||
-system fabric, like powering CPUs off. | |||
- | |||
-Properties: | |||
-- compatible : Should contain "al,alpine-sysfabric-service" and "syscon". | |||
-- reg : Offset and length of the register set for the device | |||
- | |||
- | |||
Example: | Example: | ||
cpus { | cpus { |
@@ -147,6 +147,7 @@ properties: | |||
- arm,cortex-a710 | - arm,cortex-a710 | ||
- arm,cortex-a715 | - arm,cortex-a715 | ||
- arm,cortex-a720 | - arm,cortex-a720 | ||
+ - arm,cortex-a725 | |||
- arm,cortex-m0 | - arm,cortex-m0 | ||
- arm,cortex-m0+ | - arm,cortex-m0+ | ||
- arm,cortex-m1 | - arm,cortex-m1 | ||
@@ -161,10 +162,15 @@ properties: | |||
- arm,cortex-x2 | - arm,cortex-x2 | ||
- arm,cortex-x3 | - arm,cortex-x3 | ||
- arm,cortex-x4 | - arm,cortex-x4 | ||
+ - arm,cortex-x925 | |||
- arm,neoverse-e1 | - arm,neoverse-e1 | ||
- arm,neoverse-n1 | - arm,neoverse-n1 | ||
- arm,neoverse-n2 | - arm,neoverse-n2 | ||
+ - arm,neoverse-n3 | |||
- arm,neoverse-v1 | - arm,neoverse-v1 | ||
+ - arm,neoverse-v2 | |||
+ - arm,neoverse-v3 | |||
+ - arm,neoverse-v3ae | |||
- brcm,brahma-b15 | - brcm,brahma-b15 | ||
- brcm,brahma-b53 | - brcm,brahma-b53 | ||
- brcm,vulcan | - brcm,vulcan |
@@ -7,7 +7,9 @@ $schema: http://devicetre | |||
title: Freescale i.MX7ULP System Integration Module | title: Freescale i.MX7ULP System Integration Module | ||
maintainers: | maintainers: | ||
- - Anson Huang <anson.huang@nxp.com> | + - Shawn Guo <shawnguo@kernel.org> | ||
+ - Sascha Hauer <s.hauer@pengutronix.de> | |||
+ - Fabio Estevam <festevam@gmail.com> | |||
description: | | description: | | ||
The system integration module (SIM) provides system control and chip configuration | The system integration module (SIM) provides system control and chip configuration |
@@ -8,7 +8,6 @@ title: Freescale i.MX Platforms | |||
maintainers: | maintainers: | ||
- Shawn Guo <shawnguo@kernel.org> | - Shawn Guo <shawnguo@kernel.org> | ||
- - Li Yang <leoyang.li@nxp.com> | |||
properties: | properties: | ||
$nodename: | $nodename: | ||
@@ -363,6 +362,12 @@ properties: | |||
- const: gw,ventana | - const: gw,ventana | ||
- const: fsl,imx6q | - const: fsl,imx6q | ||
+ - description: i.MX6Q Kontron SMARC-sAMX6i on SMARC Eval Carrier 2.0 | |||
+ items: | |||
+ - const: kontron,imx6q-samx6i-ads2 | |||
+ - const: kontron,imx6q-samx6i | |||
+ - const: fsl,imx6q | |||
+ | |||
- description: i.MX6Q PHYTEC phyBOARD-Mira | - description: i.MX6Q PHYTEC phyBOARD-Mira | ||
items: | items: | ||
- enum: | - enum: | ||
@@ -384,7 +389,8 @@ properties: | |||
- toradex,apalis_i | - toradex,apalis_i | ||
- toradex,apalis_i | - toradex,apalis_i | ||
- toradex,apalis_i | - toradex,apalis_i | ||
- - toradex,apalis_imx6q-eval # Apalis iMX6Q/D Module on Apalis Evaluation Board | + - toradex,apalis_imx6q-eval # Apalis iMX6Q/D Module on Apalis Evaluation Board v1.0/v1.1 | ||
+ - toradex,apalis_i | |||
- const: toradex,apalis_i | - const: toradex,apalis_i | ||
- const: fsl,imx6q | - const: fsl,imx6q | ||
@@ -469,6 +475,7 @@ properties: | |||
- prt,prtvt7 # Protonic VT7 board | - prt,prtvt7 # Protonic VT7 board | ||
- rex,imx6dl-rex-basic # Rex Basic i.MX6 Dual Lite Board | - rex,imx6dl-rex-basic # Rex Basic i.MX6 Dual Lite Board | ||
- riot,imx6s-riotboard # RIoTboard i.MX6S | - riot,imx6s-riotboard # RIoTboard i.MX6S | ||
+ - sielaff,imx6dl-board # Sielaff i.MX6 Solo Board | |||
- skov,imx6dl-skov-revc-lt2 # SKOV IMX6 CPU SoloCore lt2 | - skov,imx6dl-skov-revc-lt2 # SKOV IMX6 CPU SoloCore lt2 | ||
- skov,imx6dl-skov-revc-lt6 # SKOV IMX6 CPU SoloCore lt6 | - skov,imx6dl-skov-revc-lt6 # SKOV IMX6 CPU SoloCore lt6 | ||
- solidrun,cubox-i/dl # SolidRun Cubox-i Solo/DualLite | - solidrun,cubox-i/dl # SolidRun Cubox-i Solo/DualLite | ||
@@ -542,6 +549,12 @@ properties: | |||
- const: gw,ventana | - const: gw,ventana | ||
- const: fsl,imx6dl | - const: fsl,imx6dl | ||
+ - description: i.MX6DL Kontron SMARC-sAMX6i on SMARC Eval Carrier 2.0 | |||
+ items: | |||
+ - const: kontron,imx6dl-samx6i-ads2 | |||
+ - const: kontron,imx6dl-samx6i | |||
+ - const: fsl,imx6dl | |||
+ | |||
- description: i.MX6DL PHYTEC phyBOARD-Mira | - description: i.MX6DL PHYTEC phyBOARD-Mira | ||
items: | items: | ||
- enum: | - enum: | ||
@@ -708,6 +721,7 @@ properties: | |||
- toradex,colibri-imx6ull # Colibri iMX6ULL Modules | - toradex,colibri-imx6ull # Colibri iMX6ULL Modules | ||
- toradex,colibri-imx6ull-emmc # Colibri iMX6ULL 1GB (eMMC) Module | - toradex,colibri-imx6ull-emmc # Colibri iMX6ULL 1GB (eMMC) Module | ||
- toradex,colibri-imx6ull-wifi # Colibri iMX6ULL Wi-Fi / BT Modules | - toradex,colibri-imx6ull-wifi # Colibri iMX6ULL Wi-Fi / BT Modules | ||
+ - uni-t,uti260b # UNI-T UTi260B Thermal Camera | |||
- const: fsl,imx6ull | - const: fsl,imx6ull | ||
- description: i.MX6ULL Armadeus Systems OPOS6ULDev Board | - description: i.MX6ULL Armadeus Systems OPOS6ULDev Board | ||
@@ -795,19 +809,27 @@ properties: | |||
- const: kontron,sl-imx6ull # Kontron SL i.MX6ULL SoM | - const: kontron,sl-imx6ull # Kontron SL i.MX6ULL SoM | ||
- const: fsl,imx6ull | - const: fsl,imx6ull | ||
- - description: TQ | + - description: TQ-Systems TQMa6ULLx SoM on MBa6ULx board | ||
+ items: | |||
+ - enum: | |||
+ - tq,imx6ull-tqma6ull2-mba6ulx # TQMa6ULL socketable SoM with MCIMX6Y2 on MBa6ULx EVK | |||
+ - const: tq,imx6ull-tqma6ull2 # TQMa6ULL socketable SoM with MCIMX6Y2 | |||
+ - const: fsl,imx6ull | |||
+ | |||
+ - description: TQ-Systems TQMa6ULLxL SoM on MBa6ULx[L] board | |||
items: | items: | ||
- enum: | - enum: | ||
- - tq,imx6ull-tqma6ull2-mba6ulx | + - tq,imx6ull-tqma6ull2l-mba6ulx # TQMa6ULLxL LGA SoM with socketable Adapter on MBa6ULx EVK | ||
- - const: tq,imx6ull-tqma6ull2 # MCIMX6Y2 | + - tq,imx6ull-tqma6ull2l-mba6ulxl # TQMa6ULLxL LGA SoM on MBa6ULxL gateway board | ||
+ - const: tq,imx6ull-tqma6ull2l # TQMa6ULLxL LGA SoM with MCIMX6Y2 | |||
- const: fsl,imx6ull | - const: fsl,imx6ull | ||
- - description: | + - description: Seeed Stuido i.MX6ULL SoM on dev boards | ||
items: | items: | ||
- enum: | - enum: | ||
- - tq,imx6ull-tqma6ull2l-mba6ulx # using LGA adapter | + - seeed,imx6ull-seeed-npi-emmc | ||
- - tq,imx6ull-tqma6ull2l-mba6ulxl | + - seeed,imx6ull-seeed-npi-nand | ||
- - const: tq,imx6ull-tqma6ull2l # MCIMX6Y2, LGA SoM variant | + - const: seeed,imx6ull-seeed-npi | ||
- const: fsl,imx6ull | - const: fsl,imx6ull | ||
- description: i.MX6ULZ based Boards | - description: i.MX6ULZ based Boards | ||
@@ -917,8 +939,8 @@ properties: | |||
- fsl,imx8mm-ddr4-evk # i.MX8MM DDR4 EVK Board | - fsl,imx8mm-ddr4-evk # i.MX8MM DDR4 EVK Board | ||
- fsl,imx8mm-evk # i.MX8MM EVK Board | - fsl,imx8mm-evk # i.MX8MM EVK Board | ||
- fsl,imx8mm-evkb # i.MX8MM EVKB Board | - fsl,imx8mm-evkb # i.MX8MM EVKB Board | ||
+ - gateworks,imx8mm | |||
- gateworks,imx8mm | - gateworks,imx8mm | ||
- - gateworks,imx8mm | |||
- gw,imx8mm-gw71xx-0x # i.MX8MM Gateworks Development Kit | - gw,imx8mm-gw71xx-0x # i.MX8MM Gateworks Development Kit | ||
- gw,imx8mm-gw72xx-0x # i.MX8MM Gateworks Development Kit | - gw,imx8mm-gw72xx-0x # i.MX8MM Gateworks Development Kit | ||
- gw,imx8mm-gw73xx-0x # i.MX8MM Gateworks Development Kit | - gw,imx8mm-gw73xx-0x # i.MX8MM Gateworks Development Kit | ||
@@ -931,10 +953,16 @@ properties: | |||
- toradex,verdin-imx8mm # Verdin iMX8M Mini Modules | - toradex,verdin-imx8mm # Verdin iMX8M Mini Modules | ||
- toradex,verdin-imx8mm-nonwifi # Verdin iMX8M Mini Modules without Wi-Fi / BT | - toradex,verdin-imx8mm-nonwifi # Verdin iMX8M Mini Modules without Wi-Fi / BT | ||
- toradex,verdin-imx8mm-wifi # Verdin iMX8M Mini Wi-Fi / BT Modules | - toradex,verdin-imx8mm-wifi # Verdin iMX8M Mini Wi-Fi / BT Modules | ||
- - variscite,var-som-mx8mm # i.MX8MM Variscite VAR-SOM-MX8MM module | |||
- prt,prt8mm # i.MX8MM Protonic PRT8MM Board | - prt,prt8mm # i.MX8MM Protonic PRT8MM Board | ||
- const: fsl,imx8mm | - const: fsl,imx8mm | ||
+ - description: Compulab i.MX8MM UCM SoM based boards | |||
+ items: | |||
+ - enum: | |||
+ - compulab,imx8mm-iot-gateway # i.MX8MM Compulab IoT-Gateway | |||
+ - const: compulab,imx8mm-ucm-som # i.MX8MM Compulab UCM SoM | |||
+ - const: fsl,imx8mm | |||
+ | |||
- description: Emtop i.MX8MM based Boards | - description: Emtop i.MX8MM based Boards | ||
items: | items: | ||
- const: ees,imx8mm-emtop-baseboard # i.MX8MM Emtop SoM on i.MX8M Mini Baseboard V1 | - const: ees,imx8mm-emtop-baseboard # i.MX8MM Emtop SoM on i.MX8M Mini Baseboard V1 | ||
@@ -1026,7 +1054,7 @@ properties: | |||
items: | items: | ||
- enum: | - enum: | ||
- dimonoff,gateway | - dimonoff,gateway | ||
- - rve, | + - rve,gateway # i.MX8MN RVE Gateway Board | ||
- variscite,var-som-mx8mn-symphony | - variscite,var-som-mx8mn-symphony | ||
- const: variscite,var-som-mx8mn | - const: variscite,var-som-mx8mn | ||
- const: fsl,imx8mn | - const: fsl,imx8mn | ||
@@ -1047,12 +1075,13 @@ properties: | |||
- enum: | - enum: | ||
- beacon,imx8mp-beacon-kit # i.MX8MP Beacon Development Kit | - beacon,imx8mp-beacon-kit # i.MX8MP Beacon Development Kit | ||
- dmo,imx8mp-data-modul-edm-sbc # i.MX8MP eDM SBC | - dmo,imx8mp-data-modul-edm-sbc # i.MX8MP eDM SBC | ||
+ - emcraft,imx8mp-navqp # i.MX8MP Emcraft Systems NavQ+ Kit | |||
- fsl,imx8mp-evk # i.MX8MP EVK Board | - fsl,imx8mp-evk # i.MX8MP EVK Board | ||
- gateworks,imx8mp | - gateworks,imx8mp | ||
- gateworks,imx8mp | - gateworks,imx8mp | ||
- gateworks,imx8mp | - gateworks,imx8mp | ||
- gateworks,imx8mp | - gateworks,imx8mp | ||
- - gateworks,imx8mp- | + - gateworks,imx8mp-gw75xx-2x # i.MX8MP Gateworks Board | ||
- skov,imx8mp-skov-revb-hdmi # SKOV i.MX8MP climate control without panel | - skov,imx8mp-skov-revb-hdmi # SKOV i.MX8MP climate control without panel | ||
- skov,imx8mp-skov-revb-lt6 # SKOV i.MX8MP climate control with 7” panel | - skov,imx8mp-skov-revb-lt6 # SKOV i.MX8MP climate control with 7” panel | ||
- skov,imx8mp-skov-revb-mi1010ait-1cp1 # SKOV i.MX8MP climate control with 10.1" panel | - skov,imx8mp-skov-revb-mi1010ait-1cp1 # SKOV i.MX8MP climate control with 10.1" panel | ||
@@ -1133,8 +1162,15 @@ properties: | |||
version as an industrial computing device. | version as an industrial computing device. | ||
items: | items: | ||
- enum: | - enum: | ||
- - tq,imx8mp-tqma8mpql-mba8mpxl | + - tq,imx8mp-tqma8mpql-mba8mpxl # TQ-Systems GmbH i.MX8MP TQMa8MPQL SOM on MBa8MPxL | ||
- | + - tq,imx8mp-tqma8mpql-mba8mp-ras314 # TQ-Systems GmbH i.MX8MP TQMa8MPQL SOM on MBa8MP-RAS314 | ||
+ - const: tq,imx8mp-tqma8mpql # TQ-Systems GmbH i.MX8MP TQMa8MPQL SOM | |||
+ - const: fsl,imx8mp | |||
+ | |||
+ - description: Variscite VAR-SOM-MX8M Plus based boards | |||
+ items: | |||
+ - const: variscite,var-som-mx8mp-symphony | |||
+ - const: variscite,var-som-mx8mp | |||
- const: fsl,imx8mp | - const: fsl,imx8mp | ||
- description: i.MX8MQ based Boards | - description: i.MX8MQ based Boards | ||
@@ -1194,7 +1230,8 @@ properties: | |||
- description: i.MX8QM Boards with Toradex Apalis iMX8 Modules | - description: i.MX8QM Boards with Toradex Apalis iMX8 Modules | ||
items: | items: | ||
- enum: | - enum: | ||
- - toradex,apalis-imx8-eval # Apalis iMX8 Module on Apalis Evaluation Board | + - toradex,apalis-imx8-eval # Apalis iMX8 Module on Apalis Evaluation V1.0/V1.1 Board | ||
+ - toradex,apalis-imx8-eval-v1.2 # Apalis iMX8 Module on Apalis Evaluation V1.2 Board | |||
- toradex,apalis-imx8-ixora-v1.1 # Apalis iMX8 Module on Ixora V1.1 Carrier Board | - toradex,apalis-imx8-ixora-v1.1 # Apalis iMX8 Module on Ixora V1.1 Carrier Board | ||
- const: toradex,apalis-imx8 | - const: toradex,apalis-imx8 | ||
- const: fsl,imx8qm | - const: fsl,imx8qm | ||
@@ -1202,7 +1239,8 @@ properties: | |||
- description: i.MX8QM Boards with Toradex Apalis iMX8 V1.1 Modules | - description: i.MX8QM Boards with Toradex Apalis iMX8 V1.1 Modules | ||
items: | items: | ||
- enum: | - enum: | ||
- - toradex,apalis-imx8-v1.1-eval # Apalis iMX8 V1.1 Module on Apalis Eval. Board | + - toradex,apalis-imx8-v1.1-eval # Apalis iMX8 V1.1 Module on Apalis Eval. V1.0/V1.1 Board | ||
+ - toradex,apalis-imx8-v1.1-eval-v1.2 # Apalis iMX8 V1.1 Module on Apalis Eval. V1.2 Board | |||
- toradex,apalis-imx8-v1.1-ixora-v1.1 # Apalis iMX8 V1.1 Module on Ixora V1.1 C. Board | - toradex,apalis-imx8-v1.1-ixora-v1.1 # Apalis iMX8 V1.1 Module on Ixora V1.1 C. Board | ||
- toradex,apalis-imx8-v1.1-ixora-v1.2 # Apalis iMX8 V1.1 Module on Ixora V1.2 C. Board | - toradex,apalis-imx8-v1.1-ixora-v1.2 # Apalis iMX8 V1.1 Module on Ixora V1.2 C. Board | ||
- const: toradex,apalis-imx8-v1.1 | - const: toradex,apalis-imx8-v1.1 | ||
@@ -1213,7 +1251,6 @@ properties: | |||
- enum: | - enum: | ||
- einfochips,imx8q | - einfochips,imx8q | ||
- fsl,imx8qxp-mek # i.MX8QXP MEK Board | - fsl,imx8qxp-mek # i.MX8QXP MEK Board | ||
- - toradex,colibri-imx8x # Colibri iMX8X Modules | |||
- const: fsl,imx8qxp | - const: fsl,imx8qxp | ||
- description: i.MX8DXL based Boards | - description: i.MX8DXL based Boards | ||
@@ -1222,7 +1259,7 @@ properties: | |||
- fsl,imx8dxl-evk # i.MX8DXL EVK Board | - fsl,imx8dxl-evk # i.MX8DXL EVK Board | ||
- const: fsl,imx8dxl | - const: fsl,imx8dxl | ||
- - description: i.MX8QXP Boards with Toradex Colibri iMX8X Modules | + - description: i.MX8QXP/i.MX8DX Boards with Toradex Colibri iMX8X Modules | ||
items: | items: | ||
- enum: | - enum: | ||
- toradex,colibri-imx8x-aster # Colibri iMX8X Module on Aster Board | - toradex,colibri-imx8x-aster # Colibri iMX8X Module on Aster Board | ||
@@ -1230,7 +1267,25 @@ properties: | |||
- toradex,colibri-imx8x-iris # Colibri iMX8X Module on Iris Board | - toradex,colibri-imx8x-iris # Colibri iMX8X Module on Iris Board | ||
- toradex,colibri-imx8x-iris-v2 # Colibri iMX8X Module on Iris Board V2 | - toradex,colibri-imx8x-iris-v2 # Colibri iMX8X Module on Iris Board V2 | ||
- const: toradex,colibri-imx8x | - const: toradex,colibri-imx8x | ||
- - | + - enum: | ||
+ - fsl,imx8qxp | |||
+ - fsl,imx8dx | |||
+ | |||
+ - description: | |||
+ TQMa8Xx is a series of SOM featuring NXP i.MX8X system-on-chip | |||
+ variants. It is designed to be clicked on different carrier boards | |||
+ MBa8Xx is the starterkit | |||
+ oneOf: | |||
+ - items: | |||
+ - enum: | |||
+ - tq,imx8dxp-tqma8xdp-mba8xx # TQ-Systems GmbH TQMa8XDP SOM on MBa8Xx | |||
+ - const: tq,imx8dxp-tqma8xdp # TQ-Systems GmbH TQMa8XDP SOM (with i.MX8DXP) | |||
+ - const: fsl,imx8dxp | |||
+ - items: | |||
+ - enum: | |||
+ - tq,imx8qxp-tqma8xqp-mba8xx # TQ-Systems GmbH TQMa8XQP SOM on MBa8Xx | |||
+ - const: tq,imx8qxp-tqma8xqp # TQ-Systems GmbH TQMa8XQP SOM (with i.MX8QXP) | |||
+ - const: fsl,imx8qxp | |||
- description: i.MX8ULP based Boards | - description: i.MX8ULP based Boards | ||
items: | items: | ||
@@ -1241,9 +1296,17 @@ properties: | |||
- description: i.MX93 based Boards | - description: i.MX93 based Boards | ||
items: | items: | ||
- enum: | - enum: | ||
+ - fsl,imx93-9x9-qsb # i.MX93 9x9 QSB Board | |||
- fsl,imx93-11x11-evk # i.MX93 11x11 EVK Board | - fsl,imx93-11x11-evk # i.MX93 11x11 EVK Board | ||
+ - fsl,imx93-14x14-evk # i.MX93 14x14 EVK Board | |||
- const: fsl,imx93 | - const: fsl,imx93 | ||
+ - description: i.MX95 based Boards | |||
+ items: | |||
+ - enum: | |||
+ - fsl,imx95-19x19-evk # i.MX95 19x19 EVK Board | |||
+ - const: fsl,imx95 | |||
+ | |||
- description: i.MXRT1050 based Boards | - description: i.MXRT1050 based Boards | ||
items: | items: | ||
- enum: | - enum: | ||
@@ -1275,6 +1338,24 @@ properties: | |||
- const: tq,imx93-tqma9352 # TQ-Systems GmbH i.MX93 TQMa93xxCA/LA SOM | - const: tq,imx93-tqma9352 # TQ-Systems GmbH i.MX93 TQMa93xxCA/LA SOM | ||
- const: fsl,imx93 | - const: fsl,imx93 | ||
+ - description: PHYTEC phyCORE-i.MX93 SoM based boards | |||
+ items: | |||
+ - const: phytec,imx93-phyboard-segin # phyBOARD-Segin with i.MX93 | |||
+ - const: phytec,imx93-phycore-som # phyCORE-i.MX93 SoM | |||
+ - const: fsl,imx93 | |||
+ | |||
+ - description: Variscite VAR-SOM-MX93 based boards | |||
+ items: | |||
+ - const: variscite,var-som-mx93-symphony | |||
+ - const: variscite,var-som-mx93 | |||
+ - const: fsl,imx93 | |||
+ | |||
+ - description: Kontron OSM-S i.MX93 SoM based boards | |||
+ items: | |||
+ - const: kontron,imx93-bl-osm-s # Kontron BL i.MX93 OSM-S board | |||
+ - const: kontron,imx93-osm-s # Kontron OSM-S i.MX93 SoM | |||
+ - const: fsl,imx93 | |||
+ | |||
- description: | - description: | ||
Freescale Vybrid Platform Device Tree Bindings | Freescale Vybrid Platform Device Tree Bindings | ||
@@ -1454,6 +1535,12 @@ properties: | |||
- fsl,ls2080a-rdb | - fsl,ls2080a-rdb | ||
- const: fsl,ls2080a | - const: fsl,ls2080a | ||
+ - description: LS2081A based Boards | |||
+ items: | |||
+ - enum: | |||
+ - fsl,ls2081a-rdb | |||
+ - const: fsl,ls2081a | |||
+ | |||
- description: LS2088A based Boards | - description: LS2088A based Boards | ||
items: | items: | ||
- enum: | - enum: | ||
@@ -1503,6 +1590,12 @@ properties: | |||
- nxp,s32g274a-rdb2 | - nxp,s32g274a-rdb2 | ||
- const: nxp,s32g2 | - const: nxp,s32g2 | ||
+ - description: S32G3 based Boards | |||
+ items: | |||
+ - enum: | |||
+ - nxp,s32g399a-rdb3 | |||
+ - const: nxp,s32g3 | |||
+ | |||
- description: S32V234 based Boards | - description: S32V234 based Boards | ||
items: | items: | ||
- enum: | - enum: |
@@ -20,7 +20,7 @@ description: | | |||
initialized early into boot process and provides services to Operating Systems | initialized early into boot process and provides services to Operating Systems | ||
on multiple processors including ones running Linux. | on multiple processors including ones running Linux. | ||
- See | + See https://software-dl.ti.com/tisci/esd/latest/index.html for protocol definition. | ||
The TI-SCI node describes the Texas Instrument's System Controller entity node. | The TI-SCI node describes the Texas Instrument's System Controller entity node. | ||
This parent node may optionally have additional children nodes which describe | This parent node may optionally have additional children nodes which describe | ||
@@ -61,10 +61,6 @@ properties: | |||
mboxes: | mboxes: | ||
minItems: 2 | minItems: 2 | ||
- ti,system-reboot-controller: | |||
- description: Determines If system reboot can be triggered by SoC reboot | |||
- type: boolean | |||
- | |||
ti,host-id: | ti,host-id: | ||
$ref: /schemas/types.yaml#/definitions/uint32 | $ref: /schemas/types.yaml#/definitions/uint32 | ||
description: | | description: | | ||
@@ -94,7 +90,6 @@ examples: | |||
- | | - | | ||
pmmc: system-controller@2921800 { | pmmc: system-controller@2921800 { | ||
compatible = "ti,k2g-sci"; | compatible = "ti,k2g-sci"; | ||
- ti,system-reboot-controller; | |||
mbox-names = "rx", "tx"; | mbox-names = "rx", "tx"; | ||
mboxes = <&msgmgr 5 2>, | mboxes = <&msgmgr 5 2>, | ||
<&msgmgr 0 0>; | <&msgmgr 0 0>; |
@@ -0,0 +1,70 @@ | |||
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/arm/marvell/armada-38x.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: Marvell Armada 38x Platforms | |||
+ | |||
+maintainers: | |||
+ - Gregory CLEMENT <gregory.clement@bootlin.com> | |||
+ | |||
+properties: | |||
+ $nodename: | |||
+ const: '/' | |||
+ compatible: | |||
+ oneOf: | |||
+ | |||
+ - description: | |||
+ Netgear Armada 380 GS110EM Managed Switch. | |||
+ items: | |||
+ - const: netgear,gs110emx | |||
+ - const: marvell,armada38 | |||
+ | |||
+ - description: | |||
+ Marvell Armada 385 Development Boards. | |||
+ items: | |||
+ - enum: | |||
+ - marvell,a385-db-amc | |||
+ - marvell,a385-db-ap | |||
+ - const: marvell,armada38 | |||
+ - const: marvell,armada38 | |||
+ | |||
+ - description: | |||
+ SolidRun Armada 385 based single-board computers. | |||
+ items: | |||
+ - enum: | |||
+ - solidrun,clearfo | |||
+ - solidrun,clearfo | |||
+ - const: marvell,armada38 | |||
+ - const: marvell,armada38 | |||
+ | |||
+ - description: | |||
+ Kobol Armada 388 based Helios-4 NAS. | |||
+ items: | |||
+ - const: kobol,helios4 | |||
+ - const: marvell,armada38 | |||
+ - const: marvell,armada38 | |||
+ - const: marvell,armada38 | |||
+ | |||
+ - description: | |||
+ Marvell Armada 388 Development Boards. | |||
+ items: | |||
+ - enum: | |||
+ - marvell,a388-gp | |||
+ - const: marvell,armada38 | |||
+ - const: marvell,armada38 | |||
+ - const: marvell,armada38 | |||
+ | |||
+ - description: | |||
+ SolidRun Armada 388 clearfog family single-board computers. | |||
+ items: | |||
+ - enum: | |||
+ - solidrun,clearfo | |||
+ - solidrun,clearfo | |||
+ - const: solidrun,clearfo | |||
+ - const: marvell,armada38 | |||
+ - const: marvell,armada38 | |||
+ - const: marvell,armada38 | |||
+ | |||
+additionalProper |
@@ -82,4 +82,22 @@ properties: | |||
- const: marvell,armada-ap807-quad | - const: marvell,armada-ap807-quad | ||
- const: marvell,armada-ap807 | - const: marvell,armada-ap807 | ||
+ - description: | |||
+ SolidRun CN9130 SoM based single-board computers | |||
+ items: | |||
+ - enum: | |||
+ - solidrun,cn9130-clearfog-base | |||
+ - solidrun,cn9130-clearfog-pro | |||
+ - solidrun,cn9131-solidwan | |||
+ - const: solidrun,cn9130-sr-som | |||
+ - const: marvell,cn9130 | |||
+ | |||
+ - description: | |||
+ SolidRun CN9132 COM-Express Type 7 based single-board computers | |||
+ items: | |||
+ - enum: | |||
+ - solidrun,cn9132-clearfog | |||
+ - const: solidrun,cn9132-sr-cex7 | |||
+ - const: marvell,cn9130 | |||
+ | |||
additionalProper | additionalProper |
@@ -5,18 +5,3 @@ Boards with a Marvell Dove SoC shall have the following properties: | |||
Required root node property: | Required root node property: | ||
- compatible: must contain "marvell,dove"; | - compatible: must contain "marvell,dove"; | ||
- | |||
-* Global Configuration registers | |||
- | |||
-Global Configuration registers of Dove SoC are shared by a syscon node. | |||
- | |||
-Required properties: | |||
-- compatible: must contain "marvell,dove-global-config" and "syscon". | |||
-- reg: base address and size of the Global Configuration registers. | |||
- | |||
-Example: | |||
- | |||
-gconf: global-config@e802c { | |||
- compatible = "marvell,dove-global-config", "syscon"; | |||
- reg = <0xe802c 0x14>; | |||
-}; |
@@ -17,6 +17,7 @@ properties: | |||
const: '/' | const: '/' | ||
compatible: | compatible: | ||
oneOf: | oneOf: | ||
+ # Sort by SoC (last) compatible, then board compatible | |||
- items: | - items: | ||
- enum: | - enum: | ||
- mediatek,mt2701-evb | - mediatek,mt2701-evb | ||
@@ -84,13 +85,25 @@ properties: | |||
- const: mediatek,mt7629 | - const: mediatek,mt7629 | ||
- items: | - items: | ||
- enum: | - enum: | ||
+ - cudy,wr3000-v1 | |||
+ - openwrt,one | |||
+ - xiaomi,ax3000t | |||
+ - const: mediatek,mt7981b | |||
+ - items: | |||
+ - enum: | |||
+ - acelink,ew-7886cax | |||
- bananapi,bpi-r3 | - bananapi,bpi-r3 | ||
+ - bananapi,bpi-r3mini | |||
- mediatek,mt7986a | - mediatek,mt7986a | ||
- const: mediatek,mt7986a | - const: mediatek,mt7986a | ||
- items: | - items: | ||
- enum: | - enum: | ||
- mediatek,mt7986b | - mediatek,mt7986b | ||
- const: mediatek,mt7986b | - const: mediatek,mt7986b | ||
+ - items: | |||
+ - enum: | |||
+ - bananapi,bpi-r4 | |||
+ - const: mediatek,mt7988a | |||
- items: | - items: | ||
- enum: | - enum: | ||
- mediatek,mt8127-moose | - mediatek,mt8127-moose | ||
@@ -129,75 +142,10 @@ properties: | |||
- enum: | - enum: | ||
- mediatek,mt8173-evb | - mediatek,mt8173-evb | ||
- const: mediatek,mt8173 | - const: mediatek,mt8173 | ||
- - items: | |||
- - enum: | |||
- - mediatek,mt8183-evb | |||
- - const: mediatek,mt8183 | |||
- - description: Google Hayato rev5 | |||
- items: | |||
- - const: google,hayato-rev5-sku2 | |||
- - const: google,hayato-sku2 | |||
- - const: google,hayato | |||
- - const: mediatek,mt8192 | |||
- - description: Google Hayato | |||
- items: | |||
- - const: google,hayato-rev1 | |||
- - const: google,hayato | |||
- - const: mediatek,mt8192 | |||
- - description: Google Spherion rev4 (Acer Chromebook 514) | |||
- items: | |||
- - const: google,spherion-rev4 | |||
- - const: google,spherion | |||
- - const: mediatek,mt8192 | |||
- - description: Google Spherion (Acer Chromebook 514) | |||
- items: | |||
- - const: google,spherion-rev3 | |||
- - const: google,spherion-rev2 | |||
- - const: google,spherion-rev1 | |||
- - const: google,spherion-rev0 | |||
- - const: google,spherion | |||
- - const: mediatek,mt8192 | |||
- - description: Acer Tomato (Acer Chromebook Spin 513 CP513-2H) | |||
- items: | |||
- - enum: | |||
- - google,tomato-rev2 | |||
- - google,tomato-rev1 | |||
- - const: google,tomato | |||
- - const: mediatek,mt8195 | |||
- - description: Acer Tomato rev3 - 4 (Acer Chromebook Spin 513 CP513-2H) | |||
- items: | |||
- - const: google,tomato-rev4 | |||
- - const: google,tomato-rev3 | |||
- - const: google,tomato | |||
- - const: mediatek,mt8195 | |||
- - items: | |||
- - enum: | |||
- - mediatek,mt8186-evb | |||
- - const: mediatek,mt8186 | |||
- - items: | |||
- - enum: | |||
- - mediatek,mt8188-evb | |||
- - const: mediatek,mt8188 | |||
- - items: | |||
- - enum: | |||
- - mediatek,mt8192-evb | |||
- - const: mediatek,mt8192 | |||
- - items: | |||
- - enum: | |||
- - mediatek,mt8195-demo | |||
- - mediatek,mt8195-evb | |||
- - const: mediatek,mt8195 | |||
- description: Google Burnet (HP Chromebook x360 11MK G3 EE) | - description: Google Burnet (HP Chromebook x360 11MK G3 EE) | ||
items: | items: | ||
- const: google,burnet | - const: google,burnet | ||
- const: mediatek,mt8183 | - const: mediatek,mt8183 | ||
- - description: Google Krane (Lenovo IdeaPad Duet, 10e,...) | |||
- items: | |||
- - enum: | |||
- - google,krane-sku0 | |||
- - google,krane-sku176 | |||
- - const: google,krane | |||
- - const: mediatek,mt8183 | |||
- description: Google Cozmo (Acer Chromebook 314) | - description: Google Cozmo (Acer Chromebook 314) | ||
items: | items: | ||
- const: google,cozmo | - const: google,cozmo | ||
@@ -255,6 +203,13 @@ properties: | |||
- google,kodama-sku32 | - google,kodama-sku32 | ||
- const: google,kodama | - const: google,kodama | ||
- const: mediatek,mt8183 | - const: mediatek,mt8183 | ||
+ - description: Google Krane (Lenovo IdeaPad Duet, 10e,...) | |||
+ items: | |||
+ - enum: | |||
+ - google,krane-sku0 | |||
+ - google,krane-sku176 | |||
+ - const: google,krane | |||
+ - const: mediatek,mt8183 | |||
- description: Google Makomo (Lenovo 100e Chromebook 2nd Gen MTK 2) | - description: Google Makomo (Lenovo 100e Chromebook 2nd Gen MTK 2) | ||
items: | items: | ||
- enum: | - enum: | ||
@@ -276,17 +231,154 @@ properties: | |||
- google,willow-sku1 | - google,willow-sku1 | ||
- const: google,willow | - const: google,willow | ||
- const: mediatek,mt8183 | - const: mediatek,mt8183 | ||
+ - items: | |||
+ - enum: | |||
+ - mediatek,mt8183-evb | |||
+ - const: mediatek,mt8183 | |||
- items: | - items: | ||
- enum: | - enum: | ||
- mediatek,mt8183-pumpkin | - mediatek,mt8183-pumpkin | ||
- const: mediatek,mt8183 | - const: mediatek,mt8183 | ||
+ - description: Google Magneton (Lenovo IdeaPad Slim 3 Chromebook (14M868)) | |||
+ items: | |||
+ - const: google,steelix-sku393219 | |||
+ - const: google,steelix-sku393216 | |||
+ - const: google,steelix | |||
+ - const: mediatek,mt8186 | |||
+ - description: Google Magneton (Lenovo IdeaPad Slim 3 Chromebook (14M868)) | |||
+ items: | |||
+ - const: google,steelix-sku393220 | |||
+ - const: google,steelix-sku393217 | |||
+ - const: google,steelix | |||
+ - const: mediatek,mt8186 | |||
+ - description: Google Magneton (Lenovo IdeaPad Slim 3 Chromebook (14M868)) | |||
+ items: | |||
+ - const: google,steelix-sku393221 | |||
+ - const: google,steelix-sku393218 | |||
+ - const: google,steelix | |||
+ - const: mediatek,mt8186 | |||
+ - description: Google Rusty (Lenovo 100e Chromebook Gen 4) | |||
+ items: | |||
+ - const: google,steelix-sku196609 | |||
+ - const: google,steelix-sku196608 | |||
+ - const: google,steelix | |||
+ - const: mediatek,mt8186 | |||
+ - description: Google Steelix (Lenovo 300e Yoga Chromebook Gen 4) | |||
+ items: | |||
+ - enum: | |||
+ - google,steelix-sku131072 | |||
+ - google,steelix-sku131073 | |||
+ - const: google,steelix | |||
+ - const: mediatek,mt8186 | |||
+ - description: Google Tentacruel (ASUS Chromebook CM14 Flip CM1402F) | |||
+ items: | |||
+ - const: google,tentacrue | |||
+ - const: google,tentacrue | |||
+ - const: google,tentacrue | |||
+ - const: google,tentacrue | |||
+ - const: google,tentacrue | |||
+ - const: mediatek,mt8186 | |||
+ - description: Google Tentacruel (ASUS Chromebook CM14 Flip CM1402F) | |||
+ items: | |||
+ - const: google,tentacrue | |||
+ - const: google,tentacrue | |||
+ - const: google,tentacrue | |||
+ - const: google,tentacrue | |||
+ - const: google,tentacrue | |||
+ - const: mediatek,mt8186 | |||
+ - description: Google Tentacool (ASUS Chromebook CM14 CM1402C) | |||
+ items: | |||
+ - const: google,tentacrue | |||
+ - const: google,tentacrue | |||
+ - const: mediatek,mt8186 | |||
+ - description: Google Tentacool (ASUS Chromebook CM14 CM1402C) | |||
+ items: | |||
+ - const: google,tentacrue | |||
+ - const: google,tentacrue | |||
+ - const: mediatek,mt8186 | |||
+ - description: Google Voltorb (Acer Chromebook 311 C723/C732T) | |||
+ items: | |||
+ - enum: | |||
+ - google,voltorb-sku589824 | |||
+ - google,voltorb-sku589825 | |||
+ - const: google,voltorb | |||
+ - const: mediatek,mt8186 | |||
+ - items: | |||
+ - enum: | |||
+ - mediatek,mt8186-evb | |||
+ - const: mediatek,mt8186 | |||
+ - items: | |||
+ - enum: | |||
+ - mediatek,mt8188-evb | |||
+ - const: mediatek,mt8188 | |||
+ - description: Google Hayato | |||
+ items: | |||
+ - const: google,hayato-rev1 | |||
+ - const: google,hayato | |||
+ - const: mediatek,mt8192 | |||
+ - description: Google Hayato rev5 | |||
+ items: | |||
+ - const: google,hayato-rev5-sku2 | |||
+ - const: google,hayato-sku2 | |||
+ - const: google,hayato | |||
+ - const: mediatek,mt8192 | |||
+ - description: Google Spherion (Acer Chromebook 514) | |||
+ items: | |||
+ - const: google,spherion-rev3 | |||
+ - const: google,spherion-rev2 | |||
+ - const: google,spherion-rev1 | |||
+ - const: google,spherion-rev0 | |||
+ - const: google,spherion | |||
+ - const: mediatek,mt8192 | |||
+ - description: Google Spherion rev4 (Acer Chromebook 514) | |||
+ items: | |||
+ - const: google,spherion-rev4 | |||
+ - const: google,spherion | |||
+ - const: mediatek,mt8192 | |||
+ - items: | |||
+ - enum: | |||
+ - mediatek,mt8192-evb | |||
+ - const: mediatek,mt8192 | |||
+ - description: Acer Tomato (Acer Chromebook Spin 513 CP513-2H) | |||
+ items: | |||
+ - enum: | |||
+ - google,tomato-rev2 | |||
+ - google,tomato-rev1 | |||
+ - const: google,tomato | |||
+ - const: mediatek,mt8195 | |||
+ - description: Acer Tomato rev3 - 4 (Acer Chromebook Spin 513 CP513-2H) | |||
+ items: | |||
+ - const: google,tomato-rev4 | |||
+ - const: google,tomato-rev3 | |||
+ - const: google,tomato | |||
+ - const: mediatek,mt8195 | |||
+ - description: HP Dojo sku1, 3, 5, 7 (HP Chromebook x360 13b-ca0002sa) | |||
+ items: | |||
+ - const: google,dojo-sku7 | |||
+ - const: google,dojo-sku5 | |||
+ - const: google,dojo-sku3 | |||
+ - const: google,dojo-sku1 | |||
+ - const: google,dojo | |||
+ - const: mediatek,mt8195 | |||
+ - items: | |||
+ - enum: | |||
+ - mediatek,mt8195-demo | |||
+ - mediatek,mt8195-evb | |||
+ - const: mediatek,mt8195 | |||
- items: | - items: | ||
- enum: | - enum: | ||
- mediatek,mt8365-evk | - mediatek,mt8365-evk | ||
- const: mediatek,mt8365 | - const: mediatek,mt8365 | ||
- items: | - items: | ||
- enum: | - enum: | ||
+ - mediatek,mt8390-evk | |||
+ - const: mediatek,mt8390 | |||
+ - const: mediatek,mt8188 | |||
+ - items: | |||
+ - enum: | |||
+ - kontron,3-5-sbc-i1200 | |||
- mediatek,mt8395-evk | - mediatek,mt8395-evk | ||
+ - radxa,nio-12l | |||
- const: mediatek,mt8395 | - const: mediatek,mt8395 | ||
- const: mediatek,mt8195 | - const: mediatek,mt8195 | ||
- items: | - items: |
@@ -53,14 +53,20 @@ properties: | |||
- arm,cortex-a710-pmu | - arm,cortex-a710-pmu | ||
- arm,cortex-a715-pmu | - arm,cortex-a715-pmu | ||
- arm,cortex-a720-pmu | - arm,cortex-a720-pmu | ||
+ - arm,cortex-a725-pmu | |||
- arm,cortex-x1-pmu | - arm,cortex-x1-pmu | ||
- arm,cortex-x2-pmu | - arm,cortex-x2-pmu | ||
- arm,cortex-x3-pmu | - arm,cortex-x3-pmu | ||
- arm,cortex-x4-pmu | - arm,cortex-x4-pmu | ||
+ - arm,cortex-x925-pmu | |||
- arm,neoverse-e1-pmu | - arm,neoverse-e1-pmu | ||
- arm,neoverse-n1-pmu | - arm,neoverse-n1-pmu | ||
- arm,neoverse-n2-pmu | - arm,neoverse-n2-pmu | ||
+ - arm,neoverse-n3-pmu | |||
- arm,neoverse-v1-pmu | - arm,neoverse-v1-pmu | ||
+ - arm,neoverse-v2-pmu | |||
+ - arm,neoverse-v3-pmu | |||
+ - arm,neoverse-v3ae-pmu | |||
- brcm,vulcan-pmu | - brcm,vulcan-pmu | ||
- cavium,thunder-pmu | - cavium,thunder-pmu | ||
- nvidia,denver-pmu | - nvidia,denver-pmu |
@@ -66,13 +66,11 @@ properties: | |||
- const: apb_pclk | - const: apb_pclk | ||
in-ports: | in-ports: | ||
- type: object | |||
description: | | description: | | ||
Input connections from TPDM to TPDA | Input connections from TPDM to TPDA | ||
$ref: /schemas/graph.yaml#/properties/ports | $ref: /schemas/graph.yaml#/properties/ports | ||
out-ports: | out-ports: | ||
- type: object | |||
description: | | description: | | ||
Output connections from the TPDA to legacy CoreSight trace bus. | Output connections from the TPDA to legacy CoreSight trace bus. | ||
$ref: /schemas/graph.yaml#/properties/ports | $ref: /schemas/graph.yaml#/properties/ports | ||
@@ -97,33 +95,31 @@ examples: | |||
# minimum tpda definition. | # minimum tpda definition. | ||
- | | - | | ||
tpda@6004000 { | tpda@6004000 { | ||
- | + compatible = "qcom,coresight-tpda", "arm,primecell"; | ||
- | + reg = <0x6004000 0x1000>; | ||
- | + clocks = <&aoss_qmp>; | ||
- | + clock-names = "apb_pclk"; | ||
- | + in-ports { | ||
- | + #address-cells = <1>; | ||
- | + #size-cells = <0>; | ||
port@0 { | port@0 { | ||
reg = <0>; | reg = <0>; | ||
tpda_qdss_0_in_t | tpda_qdss_0_in_t | ||
- remote-endpoint = | + remote-endpoint = <&tpdm_dcc_out_tpda_qdss_0>; | ||
- <&tpdm_dcc_out_tpd | + }; | ||
- }; | |||
}; | }; | ||
}; | }; | ||
- | + out-ports { | ||
- | + port { | ||
- | + tpda_qdss_out_funnel_in0: endpoint { | ||
- remote-endpoint = | + remote-endpoint = <&funnel_in0_in_tp | ||
- <&funnel_in0_in_tp | |||
- }; | |||
}; | }; | ||
- | + }; | ||
+ }; | |||
}; | }; | ||
... | ... |
@@ -44,14 +44,21 @@ properties: | |||
minItems: 1 | minItems: 1 | ||
maxItems: 2 | maxItems: 2 | ||
- qcom,dsb-element- | + qcom,dsb-element-bits: | ||
description: | description: | ||
Specifies the DSB(Discrete Single Bit) element size supported by | Specifies the DSB(Discrete Single Bit) element size supported by | ||
the monitor. The associated aggregator will read this size before it | the monitor. The associated aggregator will read this size before it | ||
is enabled. DSB element size currently only supports 32-bit and 64-bit. | is enabled. DSB element size currently only supports 32-bit and 64-bit. | ||
- $ref: /schemas/types.yaml#/definitions/uint8 | |||
enum: [32, 64] | enum: [32, 64] | ||
+ qcom,cmb-element-bits: | |||
+ description: | |||
+ Specifies the CMB(Continuous Multi-Bit) element size supported by | |||
+ the monitor. The associated aggregator will read this size before it | |||
+ is enabled. CMB element size currently only supports 8-bit, 32-bit | |||
+ and 64-bit. | |||
+ enum: [8, 32, 64] | |||
+ | |||
qcom,dsb-msrs-num: | qcom,dsb-msrs-num: | ||
description: | description: | ||
Specifies the number of DSB(Discrete Single Bit) MSR(mux select register) | Specifies the number of DSB(Discrete Single Bit) MSR(mux select register) | ||
@@ -61,6 +68,15 @@ properties: | |||
minimum: 0 | minimum: 0 | ||
maximum: 32 | maximum: 32 | ||
+ qcom,cmb-msrs-num: | |||
+ description: | |||
+ Specifies the number of CMB MSR(mux select register) registers supported | |||
+ by the monitor. If this property is not configured or set to 0, it means | |||
+ this TPDM doesn't support CMB MSR. | |||
+ $ref: /schemas/types.yaml#/definitions/uint32 | |||
+ minimum: 0 | |||
+ maximum: 32 | |||
+ | |||
clocks: | clocks: | ||
maxItems: 1 | maxItems: 1 | ||
@@ -94,7 +110,7 @@ examples: | |||
compatible = "qcom,coresight-tpdm", "arm,primecell"; | compatible = "qcom,coresight-tpdm", "arm,primecell"; | ||
reg = <0x0684c000 0x1000>; | reg = <0x0684c000 0x1000>; | ||
- qcom,dsb-element- | + qcom,dsb-element-bits = <32>; | ||
qcom,dsb-msrs-num = <16>; | qcom,dsb-msrs-num = <16>; | ||
clocks = <&aoss_qmp>; | clocks = <&aoss_qmp>; | ||
@@ -110,4 +126,22 @@ examples: | |||
}; | }; | ||
}; | }; | ||
+ tpdm@6c29000 { | |||
+ compatible = "qcom,coresight-tpdm", "arm,primecell"; | |||
+ reg = <0x06c29000 0x1000>; | |||
+ | |||
+ qcom,cmb-element-bits = <64>; | |||
+ qcom,cmb-msrs-num = <32>; | |||
+ | |||
+ clocks = <&aoss_qmp>; | |||
+ clock-names = "apb_pclk"; | |||
+ | |||
+ out-ports { | |||
+ port { | |||
+ tpdm_ipcc_out_fu | |||
+ remote-endpoint = <&funnel_center_in | |||
+ }; | |||
+ }; | |||
+ }; | |||
+ }; | |||
... | ... |
@@ -10,17 +10,10 @@ maintainers: | |||
- Bjorn Andersson <bjorn.andersson@linaro.org> | - Bjorn Andersson <bjorn.andersson@linaro.org> | ||
description: | | description: | | ||
- Some qcom based bootloaders identify the dtb blob based on a set of | + For devices using the Qualcomm SoC the "compatible" properties consists of | ||
- device properties like SoC and platform and revisions of those components. | + one or several "manufacturer,mod | ||
- To support this scheme, we encode this information into the board compatible | + followed by one or several "qcom,<SoC>" strings, describing the SoC used in | ||
- string. | + the device. | ||
- | |||
- Each board must specify a top-level board compatible string with the following | |||
- format: | |||
- | |||
- compatible = "qcom,<SoC>[-<soc_version>][-<foundry_id>]-<board>[/<subtype>][-<board_version>]" | |||
- | |||
- The 'SoC' and 'board' elements are required. All other elements are optional. | |||
The 'SoC' element must be one of the following strings: | The 'SoC' element must be one of the following strings: | ||
@@ -49,6 +42,7 @@ description: | | |||
msm8996 | msm8996 | ||
msm8998 | msm8998 | ||
qcs404 | qcs404 | ||
+ qcs8550 | |||
qcm2290 | qcm2290 | ||
qcm6490 | qcm6490 | ||
qdu1000 | qdu1000 | ||
@@ -90,43 +84,9 @@ description: | | |||
sm8650 | sm8650 | ||
x1e80100 | x1e80100 | ||
- The 'board' element must be one of the following strings: | |||
- | |||
- adp | |||
- cdp | |||
- dragonboard | |||
- idp | |||
- liquid | |||
- mtp | |||
- qcp | |||
- qrd | |||
- rb2 | |||
- ride | |||
- sbc | |||
- x100 | |||
- | |||
- The 'soc_version' and 'board_version' elements take the form of v<Major>.<Minor> | |||
- where the minor number may be omitted when it's zero, i.e. v1.0 is the same | |||
- as v1. If all versions of the 'board_version' elements match, then a | |||
- wildcard '*' should be used, e.g. 'v*'. | |||
- | |||
- The 'foundry_id' and 'subtype' elements are one or more digits from 0 to 9. | |||
- | |||
- Examples: | |||
- | |||
- "qcom,msm8916-v1-cdp-pm8916-v2.1" | |||
- | |||
- A CDP board with an msm8916 SoC, version 1 paired with a pm8916 PMIC of version | |||
- 2.1. | |||
- | |||
- "qcom,apq8074-v2.0-2-dragonboard/1-v0.1" | |||
- | |||
- A dragonboard board v0.1 of subtype 1 with an apq8074 SoC version 2, made in | |||
- foundry 2. | |||
- | |||
There are many devices in the list below that run the standard ChromeOS | There are many devices in the list below that run the standard ChromeOS | ||
bootloader setup and use the open source depthcharge bootloader to boot the | bootloader setup and use the open source depthcharge bootloader to boot the | ||
- OS. These devices | + OS. These devices use the bootflow explained at | ||
https://docs.kernel.org/arch/arm/google/chromebook-boot-flow.html | https://docs.kernel.org/arch/arm/google/chromebook-boot-flow.html | ||
properties: | properties: | ||
@@ -137,6 +97,7 @@ properties: | |||
- items: | - items: | ||
- enum: | - enum: | ||
- qcom,apq8016-sbc | - qcom,apq8016-sbc | ||
+ - schneider,apq801 | |||
- const: qcom,apq8016 | - const: qcom,apq8016 | ||
- items: | - items: | ||
@@ -145,6 +106,7 @@ properties: | |||
- huawei,sturgeon | - huawei,sturgeon | ||
- lg,lenok | - lg,lenok | ||
- samsung,matisse-wifi | - samsung,matisse-wifi | ||
+ - samsung,milletwi | |||
- const: qcom,apq8026 | - const: qcom,apq8026 | ||
- items: | - items: | ||
@@ -178,6 +140,8 @@ properties: | |||
- microsoft,dempse | - microsoft,dempse | ||
- microsoft,makepe | - microsoft,makepe | ||
- microsoft,moneyp | - microsoft,moneyp | ||
+ - motorola,falcon | |||
+ - samsung,ms013g | |||
- samsung,s3ve3g | - samsung,s3ve3g | ||
- const: qcom,msm8226 | - const: qcom,msm8226 | ||
@@ -187,9 +151,15 @@ properties: | |||
- microsoft,superm | - microsoft,superm | ||
- microsoft,tesla | - microsoft,tesla | ||
- motorola,peregri | - motorola,peregri | ||
+ - samsung,matissel | |||
- const: qcom,msm8926 | - const: qcom,msm8926 | ||
- const: qcom,msm8226 | - const: qcom,msm8226 | ||
+ - items: | |||
+ - enum: | |||
+ - wingtech,wt82918 | |||
+ - const: qcom,msm8929 | |||
+ | |||
- items: | - items: | ||
- enum: | - enum: | ||
- huawei,kiwi | - huawei,kiwi | ||
@@ -197,6 +167,8 @@ properties: | |||
- samsung,a7 | - samsung,a7 | ||
- sony,kanuti-tulip | - sony,kanuti-tulip | ||
- square,apq8039-t2 | - square,apq8039-t2 | ||
+ - wingtech,wt82918 | |||
+ - wingtech,wt82918 | |||
- const: qcom,msm8939 | - const: qcom,msm8939 | ||
- items: | - items: | ||
@@ -214,6 +186,7 @@ properties: | |||
- items: | - items: | ||
- enum: | - enum: | ||
- lge,hammerhead | - lge,hammerhead | ||
+ - samsung,hlte | |||
- sony,xperia-amami | - sony,xperia-amami | ||
- sony,xperia-honami | - sony,xperia-honami | ||
- const: qcom,msm8974 | - const: qcom,msm8974 | ||
@@ -221,16 +194,21 @@ properties: | |||
- items: | - items: | ||
- enum: | - enum: | ||
- fairphone,fp2 | - fairphone,fp2 | ||
+ - htc,m8 | |||
- oneplus,bacon | - oneplus,bacon | ||
- samsung,klte | - samsung,klte | ||
+ - sony,xperia-aries | |||
- sony,xperia-castor | - sony,xperia-castor | ||
+ - sony,xperia-leo | |||
- const: qcom,msm8974pro | - const: qcom,msm8974pro | ||
- const: qcom,msm8974 | - const: qcom,msm8974 | ||
- items: | - items: | ||
- - | + - enum: | ||
- - const: qcom,msm8916-mtp/1 | + - samsung,kltechn | ||
- - const: | + - const: samsung,klte | ||
+ - const: qcom,msm8974pro | |||
+ - const: qcom,msm8974 | |||
- items: | - items: | ||
- enum: | - enum: | ||
@@ -239,28 +217,37 @@ properties: | |||
- asus,z00l | - asus,z00l | ||
- gplus,fl8005a | - gplus,fl8005a | ||
- huawei,g7 | - huawei,g7 | ||
+ - lg,c50 | |||
+ - lg,m216 | |||
- longcheer,l8910 | - longcheer,l8910 | ||
+ - longcheer,l8150 | |||
+ - motorola,harpia | |||
+ - motorola,osprey | |||
+ - motorola,surnia | |||
+ - qcom,msm8916-mtp | |||
- samsung,a3u-eur | - samsung,a3u-eur | ||
- samsung,a5u-eur | - samsung,a5u-eur | ||
- samsung,e5 | - samsung,e5 | ||
- samsung,e7 | - samsung,e7 | ||
+ - samsung,fortuna3 | |||
+ - samsung,gprimelt | |||
- samsung,grandmax | - samsung,grandmax | ||
+ - samsung,grandpri | |||
- samsung,gt510 | - samsung,gt510 | ||
- samsung,gt58 | - samsung,gt58 | ||
+ - samsung,j3ltetw | |||
- samsung,j5 | - samsung,j5 | ||
- samsung,j5x | - samsung,j5x | ||
+ - samsung,rossa | |||
- samsung,serranov | - samsung,serranov | ||
- thwc,uf896 | - thwc,uf896 | ||
- thwc,ufi001c | - thwc,ufi001c | ||
+ - wingtech,wt86518 | |||
+ - wingtech,wt86528 | |||
- wingtech,wt88047 | - wingtech,wt88047 | ||
- yiming,uz801-v3 | - yiming,uz801-v3 | ||
- const: qcom,msm8916 | - const: qcom,msm8916 | ||
- - items: | |||
- - const: longcheer,l8150 | |||
- - const: qcom,msm8916-v1-qrd/9-v1 | |||
- - const: qcom,msm8916 | |||
- | |||
- items: | - items: | ||
- enum: | - enum: | ||
- motorola,potter | - motorola,potter | ||
@@ -273,6 +260,7 @@ properties: | |||
- items: | - items: | ||
- enum: | - enum: | ||
- lg,bullhead | - lg,bullhead | ||
+ - lg,h815 | |||
- microsoft,talkma | - microsoft,talkma | ||
- xiaomi,libra | - xiaomi,libra | ||
- const: qcom,msm8992 | - const: qcom,msm8992 | ||
@@ -351,6 +339,7 @@ properties: | |||
- items: | - items: | ||
- enum: | - enum: | ||
- qcom,ipq5018-rdp432-c2 | - qcom,ipq5018-rdp432-c2 | ||
+ - tplink,archer-ax55-v1 | |||
- const: qcom,ipq5018 | - const: qcom,ipq5018 | ||
- items: | - items: | ||
@@ -401,6 +390,7 @@ properties: | |||
- fairphone,fp5 | - fairphone,fp5 | ||
- qcom,qcm6490-idp | - qcom,qcm6490-idp | ||
- qcom,qcs6490-rb3gen2 | - qcom,qcs6490-rb3gen2 | ||
+ - shift,otter | |||
- const: qcom,qcm6490 | - const: qcom,qcm6490 | ||
- description: Qualcomm Technologies, Inc. Distributed Unit 1000 platform | - description: Qualcomm Technologies, Inc. Distributed Unit 1000 platform | ||
@@ -837,6 +827,7 @@ properties: | |||
- items: | - items: | ||
- enum: | - enum: | ||
+ - lenovo,tbx605f | |||
- motorola,ali | - motorola,ali | ||
- const: qcom,sdm450 | - const: qcom,sdm450 | ||
@@ -918,6 +909,7 @@ properties: | |||
- items: | - items: | ||
- enum: | - enum: | ||
- qcom,sa8775p-ride | - qcom,sa8775p-ride | ||
+ - qcom,sa8775p-ride-r3 | |||
- const: qcom,sa8775p | - const: qcom,sa8775p | ||
- items: | - items: | ||
@@ -988,6 +980,7 @@ properties: | |||
- items: | - items: | ||
- enum: | - enum: | ||
+ - xiaomi,curtana | |||
- xiaomi,joyeuse | - xiaomi,joyeuse | ||
- const: qcom,sm7125 | - const: qcom,sm7125 | ||
@@ -1035,18 +1028,39 @@ properties: | |||
- items: | - items: | ||
- enum: | - enum: | ||
+ - qcom,sm8550-hdk | |||
- qcom,sm8550-mtp | - qcom,sm8550-mtp | ||
- qcom,sm8550-qrd | - qcom,sm8550-qrd | ||
+ - samsung,q5q | |||
+ - sony,pdx234 | |||
- const: qcom,sm8550 | - const: qcom,sm8550 | ||
- items: | - items: | ||
- enum: | - enum: | ||
+ - qcom,qcs8550-aim300-aiot | |||
+ - const: qcom,qcs8550-aim300 | |||
+ - const: qcom,qcs8550 | |||
+ - const: qcom,sm8550 | |||
+ | |||
+ - items: | |||
+ - enum: | |||
+ - qcom,sm8650-hdk | |||
- qcom,sm8650-mtp | - qcom,sm8650-mtp | ||
- qcom,sm8650-qrd | - qcom,sm8650-qrd | ||
- const: qcom,sm8650 | - const: qcom,sm8650 | ||
- items: | - items: | ||
- enum: | - enum: | ||
+ - lenovo,thinkpad-t14s | |||
+ - const: qcom,x1e78100 | |||
+ - const: qcom,x1e80100 | |||
+ | |||
+ - items: | |||
+ - enum: | |||
+ - asus,vivobook-s15 | |||
+ - lenovo,yoga-slim7x | |||
+ - microsoft,romulu | |||
+ - microsoft,romulu | |||
- qcom,x1e80100-crd | - qcom,x1e80100-crd | ||
- qcom,x1e80100-qcp | - qcom,x1e80100-qcp | ||
- const: qcom,x1e80100 | - const: qcom,x1e80100 |
@@ -37,30 +37,22 @@ properties: | |||
- anbernic,rg351v | - anbernic,rg351v | ||
- const: rockchip,rk3326 | - const: rockchip,rk3326 | ||
- - description: Anbernic | + - description: Anbernic RK3566 Handheld Gaming Console | ||
items: | items: | ||
- - const: anbernic,rg353p | + - enum: | ||
- - const: rockchip,rk3566 | + - anbernic,rg353p | ||
- | + - anbernic,rg353ps | ||
- - description: Anbernic RG353PS | + - anbernic,rg353v | ||
- items: | + - anbernic,rg353vs | ||
- | + - anbernic,rg503 | ||
- - const: rockchip,rk3566 | + - anbernic,rg-arc-d | ||
- | + - anbernic,rg-arc-s | ||
- - description: Anbernic RG353V | |||
- items: | |||
- - const: anbernic,rg353v | |||
- - const: rockchip,rk3566 | |||
- | |||
- - description: Anbernic RG353VS | |||
- items: | |||
- - const: anbernic,rg353vs | |||
- const: rockchip,rk3566 | - const: rockchip,rk3566 | ||
- - description: | + - description: ArmSoM Sige7 board | ||
items: | items: | ||
- - const: | + - const: armsom,sige7 | ||
- - const: rockchip, | + - const: rockchip,rk3588 | ||
- description: Asus Tinker board | - description: Asus Tinker board | ||
items: | items: | ||
@@ -104,6 +96,13 @@ properties: | |||
- const: coolpi,pi-cm5 | - const: coolpi,pi-cm5 | ||
- const: rockchip,rk3588 | - const: rockchip,rk3588 | ||
+ - description: Cool Pi CM5 GenBook | |||
+ items: | |||
+ - enum: | |||
+ - coolpi,pi-cm5-genbook | |||
+ - const: coolpi,pi-cm5 | |||
+ - const: rockchip,rk3588 | |||
+ | |||
- description: Cool Pi 4 Model B | - description: Cool Pi 4 Model B | ||
items: | items: | ||
- const: coolpi,pi-4b | - const: coolpi,pi-4b | ||
@@ -156,6 +155,12 @@ properties: | |||
- const: engicam,px30-core | - const: engicam,px30-core | ||
- const: rockchip,px30 | - const: rockchip,px30 | ||
+ - description: Firefly Core-PX30-JD4 on MB-JD4-PX30 baseboard | |||
+ items: | |||
+ - const: firefly,px30-jd4-core-mb | |||
+ - const: firefly,px30-jd4-core | |||
+ - const: rockchip,px30 | |||
+ | |||
- description: Firefly Firefly-RK3288 | - description: Firefly Firefly-RK3288 | ||
items: | items: | ||
- enum: | - enum: | ||
@@ -211,12 +216,20 @@ properties: | |||
- const: firefly,rk3568-roc-pc | - const: firefly,rk3568-roc-pc | ||
- const: rockchip,rk3568 | - const: rockchip,rk3568 | ||
+ - description: Forlinx FET3588-C SoM | |||
+ items: | |||
+ - enum: | |||
+ - forlinx,ok3588-c | |||
+ - const: forlinx,fet3588-c | |||
+ - const: rockchip,rk3588 | |||
+ | |||
- description: FriendlyElec NanoPi R2 series boards | - description: FriendlyElec NanoPi R2 series boards | ||
items: | items: | ||
- enum: | - enum: | ||
- friendlyarm,nano | - friendlyarm,nano | ||
- friendlyarm,nano | - friendlyarm,nano | ||
- friendlyarm,nano | - friendlyarm,nano | ||
+ - friendlyarm,nano | |||
- const: rockchip,rk3328 | - const: rockchip,rk3328 | ||
- description: FriendlyElec NanoPi4 series boards | - description: FriendlyElec NanoPi4 series boards | ||
@@ -237,11 +250,37 @@ properties: | |||
- friendlyarm,nano | - friendlyarm,nano | ||
- const: rockchip,rk3568 | - const: rockchip,rk3568 | ||
- - description: FriendlyElec | + - description: FriendlyElec NanoPi R6 series boards | ||
+ items: | |||
+ - enum: | |||
+ - friendlyarm,nano | |||
+ - friendlyarm,nano | |||
+ - const: rockchip,rk3588s | |||
+ | |||
+ - description: FriendlyElec NanoPC T6 series boards | |||
items: | items: | ||
- - const: friendlyarm,nano | + - enum: | ||
+ - friendlyarm,nano | |||
+ - friendlyarm,nano | |||
- const: rockchip,rk3588 | - const: rockchip,rk3588 | ||
+ - description: FriendlyElec CM3588-based boards | |||
+ items: | |||
+ - enum: | |||
+ - friendlyarm,cm35 | |||
+ - const: friendlyarm,cm35 | |||
+ - const: rockchip,rk3588 | |||
+ | |||
+ - description: GameForce Ace | |||
+ items: | |||
+ - const: gameforce,ace | |||
+ - const: rockchip,rk3588s | |||
+ | |||
+ - description: GameForce Chi | |||
+ items: | |||
+ - const: gameforce,chi | |||
+ - const: rockchip,rk3326 | |||
+ | |||
- description: GeekBuying GeekBox | - description: GeekBuying GeekBox | ||
items: | items: | ||
- const: geekbuying,geekb | - const: geekbuying,geekb | ||
@@ -563,9 +602,19 @@ properties: | |||
- description: Hardkernel Odroid M1 | - description: Hardkernel Odroid M1 | ||
items: | items: | ||
- - const: | + - const: hardkernel,odroid-m1 | ||
- const: rockchip,rk3568 | - const: rockchip,rk3568 | ||
+ - description: Hardkernel Odroid M1S | |||
+ items: | |||
+ - const: hardkernel,odroi | |||
+ - const: rockchip,rk3566 | |||
+ | |||
+ - description: Hardkernel Odroid M2 | |||
+ items: | |||
+ - const: hardkernel,odroi | |||
+ - const: rockchip,rk3588s | |||
+ | |||
- description: Hugsun X99 TV Box | - description: Hugsun X99 TV Box | ||
items: | items: | ||
- const: hugsun,x99 | - const: hugsun,x99 | ||
@@ -604,6 +653,11 @@ properties: | |||
- const: leez,p710 | - const: leez,p710 | ||
- const: rockchip,rk3399 | - const: rockchip,rk3399 | ||
+ - description: LCKFB Taishan Pi RK3566 | |||
+ items: | |||
+ - const: lckfb,tspi-rk3566 | |||
+ - const: rockchip,rk3566 | |||
+ | |||
- description: Lunzn FastRhino R66S / R68S | - description: Lunzn FastRhino R66S / R68S | ||
items: | items: | ||
- enum: | - enum: | ||
@@ -616,6 +670,11 @@ properties: | |||
- const: mqmaker,miqi | - const: mqmaker,miqi | ||
- const: rockchip,rk3288 | - const: rockchip,rk3288 | ||
+ - description: Neardi LBA3368 | |||
+ items: | |||
+ - const: neardi,lba3368 | |||
+ - const: rockchip,rk3368 | |||
+ | |||
- description: Netxeon R89 board | - description: Netxeon R89 board | ||
items: | items: | ||
- const: netxeon,r89 | - const: netxeon,r89 | ||
@@ -626,9 +685,9 @@ properties: | |||
- const: openailab,eaidk-610 | - const: openailab,eaidk-610 | ||
- const: rockchip,rk3399 | - const: rockchip,rk3399 | ||
- - description: Orange Pi RK3399 board | + - description: Xunlong Orange Pi RK3399 board | ||
items: | items: | ||
- - const: | + - const: xunlong,rk3399-orangepi | ||
- const: rockchip,rk3399 | - const: rockchip,rk3399 | ||
- description: Phytec phyCORE-RK3288 Rapid Development Kit | - description: Phytec phyCORE-RK3288 Rapid Development Kit | ||
@@ -637,7 +696,7 @@ properties: | |||
- const: phytec,rk3288-phycore-som | - const: phytec,rk3288-phycore-som | ||
- const: rockchip,rk3288 | - const: rockchip,rk3288 | ||
- - description: Pine64 | + - description: Pine64 Pinebook Pro | ||
items: | items: | ||
- const: pine64,pinebook-pro | - const: pine64,pinebook-pro | ||
- const: rockchip,rk3399 | - const: rockchip,rk3399 | ||
@@ -650,11 +709,19 @@ properties: | |||
- const: pine64,pinenote | - const: pine64,pinenote | ||
- const: rockchip,rk3566 | - const: rockchip,rk3566 | ||
- - description: Pine64 | + - description: Pine64 PinePhone Pro | ||
items: | items: | ||
- const: pine64,pinephone | - const: pine64,pinephone | ||
- const: rockchip,rk3399 | - const: rockchip,rk3399 | ||
+ - description: Pine64 PineTab2 | |||
+ items: | |||
+ - enum: | |||
+ - pine64,pinetab2-v0.1 | |||
+ - pine64,pinetab2-v2.0 | |||
+ - const: pine64,pinetab2 | |||
+ - const: rockchip,rk3566 | |||
+ | |||
- description: Pine64 Rock64 | - description: Pine64 Rock64 | ||
items: | items: | ||
- const: pine64,rock64 | - const: pine64,rock64 | ||
@@ -680,7 +747,7 @@ properties: | |||
- const: pine64,quartzpro | - const: pine64,quartzpro | ||
- const: rockchip,rk3588 | - const: rockchip,rk3588 | ||
- - description: Pine64 | + - description: Pine64 SOQuartz | ||
items: | items: | ||
- enum: | - enum: | ||
- pine64,soquartz-blade | - pine64,soquartz-blade | ||
@@ -692,12 +759,23 @@ properties: | |||
- description: Powkiddy RK3566 Handheld Gaming Console | - description: Powkiddy RK3566 Handheld Gaming Console | ||
items: | items: | ||
- enum: | - enum: | ||
+ - powkiddy,rgb10ma | |||
- powkiddy,rgb30 | - powkiddy,rgb30 | ||
- powkiddy,rk2023 | - powkiddy,rk2023 | ||
- powkiddy,x55 | - powkiddy,x55 | ||
- const: rockchip,rk3566 | - const: rockchip,rk3566 | ||
- - description: | + - description: Protonic MECSBC board | ||
+ items: | |||
+ - const: prt,mecsbc | |||
+ - const: rockchip,rk3568 | |||
+ | |||
+ - description: QNAP TS-433-4G 4-Bay NAS | |||
+ items: | |||
+ - const: qnap,ts433 | |||
+ - const: rockchip,rk3568 | |||
+ | |||
+ - description: Radxa Compute Module 3 (CM3) | |||
items: | items: | ||
- enum: | - enum: | ||
- radxa,cm3-io | - radxa,cm3-io | ||
@@ -759,26 +837,53 @@ properties: | |||
- const: radxa,rockpis | - const: radxa,rockpis | ||
- const: rockchip,rk3308 | - const: rockchip,rk3308 | ||
- - description: Radxa | + - description: Radxa Rock 2 Square | ||
items: | items: | ||
- const: radxa,rock2-square | - const: radxa,rock2-square | ||
- const: rockchip,rk3288 | - const: rockchip,rk3288 | ||
- - description: Radxa | + - description: Radxa ROCK 3A | ||
items: | items: | ||
- const: radxa,rock3a | - const: radxa,rock3a | ||
- const: rockchip,rk3568 | - const: rockchip,rk3568 | ||
- - description: Radxa ROCK | + - description: Radxa ROCK 3B | ||
+ items: | |||
+ - const: radxa,rock-3b | |||
+ - const: rockchip,rk3568 | |||
+ | |||
+ - description: Radxa ROCK 3C | |||
+ items: | |||
+ - const: radxa,rock-3c | |||
+ - const: rockchip,rk3566 | |||
+ | |||
+ - description: Radxa ROCK 5 ITX | |||
+ items: | |||
+ - const: radxa,rock-5-itx | |||
+ - const: rockchip,rk3588 | |||
+ | |||
+ - description: Radxa ROCK 5A | |||
items: | items: | ||
- const: radxa,rock-5a | - const: radxa,rock-5a | ||
- const: rockchip,rk3588s | - const: rockchip,rk3588s | ||
- - description: Radxa ROCK | + - description: Radxa ROCK 5B | ||
items: | items: | ||
- const: radxa,rock-5b | - const: radxa,rock-5b | ||
- const: rockchip,rk3588 | - const: rockchip,rk3588 | ||
+ - description: Radxa ROCK S0 | |||
+ items: | |||
+ - const: radxa,rock-s0 | |||
+ - const: rockchip,rk3308 | |||
+ | |||
+ - description: Radxa ZERO 3W/3E | |||
+ items: | |||
+ - enum: | |||
+ - radxa,zero-3e | |||
+ - radxa,zero-3w | |||
+ - const: rockchip,rk3566 | |||
+ | |||
- description: Rikomagic MK808 v1 | - description: Rikomagic MK808 v1 | ||
items: | items: | ||
- const: rikomagic,mk808 | - const: rikomagic,mk808 | ||
@@ -878,6 +983,11 @@ properties: | |||
- const: rockchip,rv1108-evb | - const: rockchip,rv1108-evb | ||
- const: rockchip,rv1108 | - const: rockchip,rv1108 | ||
+ - description: Rockchip Toybrick TB-RK3588X board | |||
+ items: | |||
+ - const: rockchip,rk3588-toybrick-x0 | |||
+ - const: rockchip,rk3588 | |||
+ | |||
- description: Theobroma Systems PX30-uQ7 with Haikou baseboard | - description: Theobroma Systems PX30-uQ7 with Haikou baseboard | ||
items: | items: | ||
- const: tsd,px30-ringneck-haikou | - const: tsd,px30-ringneck-haikou | ||
@@ -898,6 +1008,12 @@ properties: | |||
- const: tsd,rk3588-jaguar | - const: tsd,rk3588-jaguar | ||
- const: rockchip,rk3588 | - const: rockchip,rk3588 | ||
+ - description: Theobroma Systems RK3588-Q7 with Haikou baseboard | |||
+ items: | |||
+ - const: tsd,rk3588-tiger-haikou | |||
+ - const: tsd,rk3588-tiger | |||
+ - const: rockchip,rk3588 | |||
+ | |||
- description: Tronsmart Orion R68 Meta | - description: Tronsmart Orion R68 Meta | ||
items: | items: | ||
- const: tronsmart,orion-r68-meta | - const: tronsmart,orion-r68-meta | ||
@@ -908,6 +1024,19 @@ properties: | |||
- const: turing,rk1 | - const: turing,rk1 | ||
- const: rockchip,rk3588 | - const: rockchip,rk3588 | ||
+ - description: WolfVision PF5 mainboard | |||
+ items: | |||
+ - const: wolfvision,rk356 | |||
+ - const: rockchip,rk3568 | |||
+ | |||
+ - description: Xunlong Orange Pi 3B | |||
+ items: | |||
+ - enum: | |||
+ - xunlong,orangepi | |||
+ - xunlong,orangepi | |||
+ - const: xunlong,orangepi | |||
+ - const: rockchip,rk3566 | |||
+ | |||
- description: Xunlong Orange Pi 5 Plus | - description: Xunlong Orange Pi 5 Plus | ||
items: | items: | ||
- const: xunlong,orangepi | - const: xunlong,orangepi | ||
@@ -940,9 +1069,9 @@ properties: | |||
- const: rockchip,rk3568-evb1-v10 | - const: rockchip,rk3568-evb1-v10 | ||
- const: rockchip,rk3568 | - const: rockchip,rk3568 | ||
- - description: | + - description: Sinovoip RK3568 Banana Pi R2 Pro | ||
items: | items: | ||
- - const: | + - const: sinovoip,rk3568-bpi-r2pro | ||
- const: rockchip,rk3568 | - const: rockchip,rk3568 | ||
- description: Sonoff iHost Smart Home Hub | - description: Sonoff iHost Smart Home Hub |
@@ -26,6 +26,7 @@ select: | |||
- rockchip,rk3368-pmu | - rockchip,rk3368-pmu | ||
- rockchip,rk3399-pmu | - rockchip,rk3399-pmu | ||
- rockchip,rk3568-pmu | - rockchip,rk3568-pmu | ||
+ - rockchip,rk3576-pmu | |||
- rockchip,rk3588-pmu | - rockchip,rk3588-pmu | ||
- rockchip,rv1126-pmu | - rockchip,rv1126-pmu | ||
@@ -43,6 +44,7 @@ properties: | |||
- rockchip,rk3368-pmu | - rockchip,rk3368-pmu | ||
- rockchip,rk3399-pmu | - rockchip,rk3399-pmu | ||
- rockchip,rk3568-pmu | - rockchip,rk3568-pmu | ||
+ - rockchip,rk3576-pmu | |||
- rockchip,rk3588-pmu | - rockchip,rk3588-pmu | ||
- rockchip,rv1126-pmu | - rockchip,rv1126-pmu | ||
- const: syscon | - const: syscon |
@@ -54,11 +54,10 @@ unevaluatedPrope | |||
examples: | examples: | ||
- | | - | | ||
- | + ahb { | ||
compatible = "st,mlahb", "simple-bus"; | compatible = "st,mlahb", "simple-bus"; | ||
#address-cells = <1>; | #address-cells = <1>; | ||
#size-cells = <1>; | #size-cells = <1>; | ||
- reg = <0x10000000 0x40000>; | |||
ranges; | ranges; | ||
dma-ranges = <0x00000000 0x38000000 0x10000>, | dma-ranges = <0x00000000 0x38000000 0x10000>, | ||
<0x10000000 0x10000000 0x60000>, | <0x10000000 0x10000000 0x60000>, |
@@ -54,17 +54,31 @@ properties: | |||
- description: ST STM32MP151 based Boards | - description: ST STM32MP151 based Boards | ||
items: | items: | ||
- enum: | - enum: | ||
+ - prt,mecio1r0 # Protonic MECIO1r0 | |||
+ - prt,mect1s # Protonic MECT1S | |||
- prt,prtt1a # Protonic PRTT1A | - prt,prtt1a # Protonic PRTT1A | ||
- prt,prtt1c # Protonic PRTT1C | - prt,prtt1c # Protonic PRTT1C | ||
- prt,prtt1s # Protonic PRTT1S | - prt,prtt1s # Protonic PRTT1S | ||
- const: st,stm32mp151 | - const: st,stm32mp151 | ||
+ - description: DH STM32MP135 DHCOR SoM based Boards | |||
+ items: | |||
+ - const: dh,stm32mp135f-dhcor-dhsbc | |||
+ - const: dh,stm32mp135f-dhcor-som | |||
+ - const: st,stm32mp135 | |||
+ | |||
- description: DH STM32MP151 DHCOR SoM based Boards | - description: DH STM32MP151 DHCOR SoM based Boards | ||
items: | items: | ||
- const: dh,stm32mp151a-dhcor-testbench | - const: dh,stm32mp151a-dhcor-testbench | ||
- const: dh,stm32mp151a-dhcor-som | - const: dh,stm32mp151a-dhcor-som | ||
- const: st,stm32mp151 | - const: st,stm32mp151 | ||
+ - description: ST STM32MP153 based Boards | |||
+ items: | |||
+ - enum: | |||
+ - prt,mecio1r1 # Protonic MECIO1r1 | |||
+ - const: st,stm32mp153 | |||
+ | |||
- description: DH STM32MP153 DHCOM SoM based Boards | - description: DH STM32MP153 DHCOM SoM based Boards | ||
items: | items: | ||
- const: dh,stm32mp153c-dhcom-drc02 | - const: dh,stm32mp153c-dhcom-drc02 |
@@ -56,6 +56,26 @@ properties: | |||
- const: anbernic,rg-nano | - const: anbernic,rg-nano | ||
- const: allwinner,sun8i-v3s | - const: allwinner,sun8i-v3s | ||
+ - description: Anbernic RG35XX (2024) | |||
+ items: | |||
+ - const: anbernic,rg35xx-2024 | |||
+ - const: allwinner,sun50i | |||
+ | |||
+ - description: Anbernic RG35XX H | |||
+ items: | |||
+ - const: anbernic,rg35xx-h | |||
+ - const: allwinner,sun50i | |||
+ | |||
+ - description: Anbernic RG35XX Plus | |||
+ items: | |||
+ - const: anbernic,rg35xx-plus | |||
+ - const: allwinner,sun50i | |||
+ | |||
+ - description: Anbernic RG35XX SP | |||
+ items: | |||
+ - const: anbernic,rg35xx-sp | |||
+ - const: allwinner,sun50i | |||
+ | |||
- description: Amarula A64 Relic | - description: Amarula A64 Relic | ||
items: | items: | ||
- const: amarula,a64-relic | - const: amarula,a64-relic | ||
@@ -693,12 +713,12 @@ properties: | |||
- const: olimex,a64-teres-i | - const: olimex,a64-teres-i | ||
- const: allwinner,sun50i | - const: allwinner,sun50i | ||
- - description: Pine64 | + - description: Pine64 PINE A64 | ||
items: | items: | ||
- const: pine64,pine64 | - const: pine64,pine64 | ||
- const: allwinner,sun50i | - const: allwinner,sun50i | ||
- - description: Pine64+ | + - description: Pine64 PINE A64+ | ||
items: | items: | ||
- const: pine64,pine64-plus | - const: pine64,pine64-plus | ||
- const: allwinner,sun50i | - const: allwinner,sun50i | ||
@@ -709,17 +729,17 @@ properties: | |||
- const: sochip,s3 | - const: sochip,s3 | ||
- const: allwinner,sun8i-v3 | - const: allwinner,sun8i-v3 | ||
- - description: Pine64 | + - description: Pine64 PINE H64 Model A | ||
items: | items: | ||
- const: pine64,pine-h64 | - const: pine64,pine-h64 | ||
- const: allwinner,sun50i | - const: allwinner,sun50i | ||
- - description: Pine64 | + - description: Pine64 PINE H64 Model B | ||
items: | items: | ||
- const: pine64,pine-h64-model-b | - const: pine64,pine-h64-model-b | ||
- const: allwinner,sun50i | - const: allwinner,sun50i | ||
- - description: Pine64 LTS | + - description: Pine64 PINE A64 LTS | ||
items: | items: | ||
- const: pine64,pine64-lts | - const: pine64,pine64-lts | ||
- const: allwinner,sun50i | - const: allwinner,sun50i | ||
@@ -748,17 +768,17 @@ properties: | |||
- const: pine64,pinephone | - const: pine64,pinephone | ||
- const: allwinner,sun50i | - const: allwinner,sun50i | ||
- - description: Pine64 PineTab | + - description: Pine64 PineTab Developer Sample | ||
items: | items: | ||
- const: pine64,pinetab | - const: pine64,pinetab | ||
- const: allwinner,sun50i | - const: allwinner,sun50i | ||
- - description: Pine64 PineTab | + - description: Pine64 PineTab Early Adopter | ||
items: | items: | ||
- const: pine64,pinetab-early-adopter | - const: pine64,pinetab-early-adopter | ||
- const: allwinner,sun50i | - const: allwinner,sun50i | ||
- - description: Pine64 | + - description: Pine64 SOPINE | ||
items: | items: | ||
- const: pine64,sopine-baseboard | - const: pine64,sopine-baseboard | ||
- const: pine64,sopine | - const: pine64,sopine | ||
@@ -774,6 +794,11 @@ properties: | |||
- const: pocketbook,touch | - const: pocketbook,touch | ||
- const: allwinner,sun5i-a13 | - const: allwinner,sun5i-a13 | ||
+ - description: PocketBook 614 Plus | |||
+ items: | |||
+ - const: pocketbook,614-plus | |||
+ - const: allwinner,sun5i-a13 | |||
+ | |||
- description: Point of View Protab2-IPS9 | - description: Point of View Protab2-IPS9 | ||
items: | items: | ||
- const: pov,protab2-ips9 | - const: pov,protab2-ips9 | ||
@@ -815,6 +840,12 @@ properties: | |||
- const: allwinner,r7-tv-dongle | - const: allwinner,r7-tv-dongle | ||
- const: allwinner,sun5i-a10s | - const: allwinner,sun5i-a10s | ||
+ - description: Remix Mini PC | |||
+ items: | |||
+ - const: jide,remix-mini-pc | |||
+ - const: allwinner,sun50i | |||
+ - const: allwinner,sun50i | |||
+ | |||
- description: RerVision H3-DVK | - description: RerVision H3-DVK | ||
items: | items: | ||
- const: rervision,h3-dvk | - const: rervision,h3-dvk | ||
@@ -835,6 +866,12 @@ properties: | |||
- const: sinlinx,sina33 | - const: sinlinx,sina33 | ||
- const: allwinner,sun8i-a33 | - const: allwinner,sun8i-a33 | ||
+ - description: Sipeed Longan Pi 3H board for the Sipeed Longan Module 3H | |||
+ items: | |||
+ - const: sipeed,longan-pi-3h | |||
+ - const: sipeed,longan-module-3h | |||
+ - const: allwinner,sun50i | |||
+ | |||
- description: SourceParts PopStick v1.1 | - description: SourceParts PopStick v1.1 | ||
items: | items: | ||
- const: sourceparts,pops | - const: sourceparts,pops | ||
@@ -848,6 +885,11 @@ properties: | |||
- const: allwinner,sl631 | - const: allwinner,sl631 | ||
- const: allwinner,sun8i-v3 | - const: allwinner,sun8i-v3 | ||
+ - description: Tanix TX1 | |||
+ items: | |||
+ - const: oranth,tanix-tx1 | |||
+ - const: allwinner,sun50i | |||
+ | |||
- description: Tanix TX6 | - description: Tanix TX6 | ||
items: | items: | ||
- const: oranth,tanix-tx6 | - const: oranth,tanix-tx6 |
@@ -6,18 +6,6 @@ berlin SoCs are now Synaptics' SoCs now. | |||
--------------------------------------------------------------- | --------------------------------------------------------------- | ||
-Work in progress statement: | |||
- | |||
-Device tree files and bindings applying to Marvell Berlin SoCs and boards are | |||
-considered "unstable". Any Marvell Berlin device tree binding may change at any | |||
-time. Be sure to use a device tree binary and a kernel image generated from the | |||
-same source tree. | |||
- | |||
-Please refer to Documentation/devicetree/bindings/ABI.rst for a definition of a | |||
-stable binding/ABI. | |||
- | |||
---------------------------------------------------------------- | |||
- | |||
Boards with a SoC of the Marvell Berlin family, e.g. Armada 1500 | Boards with a SoC of the Marvell Berlin family, e.g. Armada 1500 | ||
shall have the following properties: | shall have the following properties: | ||
@@ -64,6 +64,14 @@ properties: | |||
- items: | - items: | ||
- const: asus,tf700t | - const: asus,tf700t | ||
- const: nvidia,tegra30 | - const: nvidia,tegra30 | ||
+ - description: LG Optimus 4X P880 | |||
+ items: | |||
+ - const: lg,p880 | |||
+ - const: nvidia,tegra30 | |||
+ - description: LG Optimus Vu P895 | |||
+ items: | |||
+ - const: lg,p895 | |||
+ - const: nvidia,tegra30 | |||
- items: | - items: | ||
- const: toradex,apalis_t | - const: toradex,apalis_t | ||
- const: toradex,apalis_t | - const: toradex,apalis_t | ||
@@ -119,6 +127,48 @@ properties: | |||
- nvidia,norrin | - nvidia,norrin | ||
- const: nvidia,tegra132 | - const: nvidia,tegra132 | ||
- const: nvidia,tegra124 | - const: nvidia,tegra124 | ||
+ - items: | |||
+ - const: google,nyan-blaze-rev10 | |||
+ - const: google,nyan-blaze-rev9 | |||
+ - const: google,nyan-blaze-rev8 | |||
+ - const: google,nyan-blaze-rev7 | |||
+ - const: google,nyan-blaze-rev6 | |||
+ - const: google,nyan-blaze-rev5 | |||
+ - const: google,nyan-blaze-rev4 | |||
+ - const: google,nyan-blaze-rev3 | |||
+ - const: google,nyan-blaze-rev2 | |||
+ - const: google,nyan-blaze-rev1 | |||
+ - const: google,nyan-blaze-rev0 | |||
+ - const: google,nyan-blaze | |||
+ - const: google,nyan | |||
+ - const: nvidia,tegra124 | |||
+ - items: | |||
+ - const: google,nyan-big-rev10 | |||
+ - const: google,nyan-big-rev9 | |||
+ - const: google,nyan-big-rev8 | |||
+ - const: google,nyan-big-rev7 | |||
+ - const: google,nyan-big-rev6 | |||
+ - const: google,nyan-big-rev5 | |||
+ - const: google,nyan-big-rev4 | |||
+ - const: google,nyan-big-rev3 | |||
+ - const: google,nyan-big-rev2 | |||
+ - const: google,nyan-big-rev1 | |||
+ - const: google,nyan-big-rev0 | |||
+ - const: google,nyan-big | |||
+ - const: google,nyan | |||
+ - const: nvidia,tegra124 | |||
+ - items: | |||
+ - const: google,nyan-big-rev7 | |||
+ - const: google,nyan-big-rev6 | |||
+ - const: google,nyan-big-rev5 | |||
+ - const: google,nyan-big-rev4 | |||
+ - const: google,nyan-big-rev3 | |||
+ - const: google,nyan-big-rev2 | |||
+ - const: google,nyan-big-rev1 | |||
+ - const: google,nyan-big-rev0 | |||
+ - const: google,nyan-big | |||
+ - const: google,nyan | |||
+ - const: nvidia,tegra124 | |||
- items: | - items: | ||
- enum: | - enum: | ||
- nvidia,darcy | - nvidia,darcy |
@@ -27,7 +27,7 @@ properties: | |||
- const: pmc | - const: pmc | ||
- const: wake | - const: wake | ||
- const: aotag | - const: aotag | ||
- - | + - enum: [ scratch, misc ] | ||
- const: misc | - const: misc | ||
interrupt-controller: true | interrupt-controller: true | ||
@@ -41,25 +41,43 @@ properties: | |||
description: If present, inverts the PMU interrupt signal. | description: If present, inverts the PMU interrupt signal. | ||
$ref: /schemas/types.yaml#/definitions/flag | $ref: /schemas/types.yaml#/definitions/flag | ||
-if: | +allOf: | ||
- properties: | + - if: | ||
- compatible: | + properties: | ||
- | + compatible: | ||
- | + contains: | ||
-then: | + const: nvidia,tegra186-pmc | ||
- properties: | + then: | ||
- reg: | + properties: | ||
- maxItems: 4 | + reg: | ||
- | + maxItems: 4 | ||
- | + reg-names: | ||
- | + maxItems: 4 | ||
-else: | + contains: | ||
- properties: | + const: scratch | ||
- reg: | + | ||
- minItems: 5 | + - if: | ||
- | + properties: | ||
- reg-names: | + compatible: | ||
- | + contains: | ||
+ const: nvidia,tegra194-pmc | |||
+ then: | |||
+ properties: | |||
+ reg: | |||
+ minItems: 5 | |||
+ reg-names: | |||
+ minItems: 5 | |||
+ | |||
+ - if: | |||
+ properties: | |||
+ compatible: | |||
+ contains: | |||
+ const: nvidia,tegra234-pmc | |||
+ then: | |||
+ properties: | |||
+ reg-names: | |||
+ contains: | |||
+ const: misc | |||
patternPropertie | patternPropertie | ||
"^[a-z0-9]+-[a-z0-9]+$": | "^[a-z0-9]+-[a-z0-9]+$": |
@@ -25,6 +25,12 @@ properties: | |||
- ti,am62a7-sk | - ti,am62a7-sk | ||
- const: ti,am62a7 | - const: ti,am62a7 | ||
+ - description: K3 AM62A7 SoC PHYTEC phyBOARD-Lyra | |||
+ items: | |||
+ - const: phytec,am62a7-phyboard-lyra-rdk | |||
+ - const: phytec,am62a-phycore-som | |||
+ - const: ti,am62a7 | |||
+ | |||
- description: K3 AM62P5 SoC and Boards | - description: K3 AM62P5 SoC and Boards | ||
items: | items: | ||
- enum: | - enum: | ||
@@ -87,12 +93,20 @@ properties: | |||
- const: tq,am642-tqma6442l | - const: tq,am642-tqma6442l | ||
- const: ti,am642 | - const: ti,am642 | ||
+ - description: K3 AM642 SoC SolidRun SoM based boards | |||
+ items: | |||
+ - enum: | |||
+ - solidrun,am642-hummingboard-t | |||
+ - const: solidrun,am642-sr-som | |||
+ - const: ti,am642 | |||
+ | |||
- description: K3 AM654 SoC | - description: K3 AM654 SoC | ||
items: | items: | ||
- enum: | - enum: | ||
- siemens,iot2050-advanced | - siemens,iot2050-advanced | ||
- siemens,iot2050-advanced-m2 | - siemens,iot2050-advanced-m2 | ||
- siemens,iot2050-advanced-pg2 | - siemens,iot2050-advanced-pg2 | ||
+ - siemens,iot2050-advanced-sm | |||
- siemens,iot2050-basic | - siemens,iot2050-basic | ||
- siemens,iot2050-basic-pg2 | - siemens,iot2050-basic-pg2 | ||
- ti,am654-evm | - ti,am654-evm | ||
@@ -123,6 +137,13 @@ properties: | |||
- ti,j721s2-evm | - ti,j721s2-evm | ||
- const: ti,j721s2 | - const: ti,j721s2 | ||
+ - description: K3 J722S SoC and Boards | |||
+ items: | |||
+ - enum: | |||
+ - beagle,am67a-beagley-ai | |||
+ - ti,j722s-evm | |||
+ - const: ti,j722s | |||
+ | |||
- description: K3 J784s4 SoC | - description: K3 J784s4 SoC | ||
items: | items: | ||
- enum: | - enum: |
@@ -30,6 +30,8 @@ select: | |||
- marvell,armada-3700-ahci | - marvell,armada-3700-ahci | ||
- marvell,armada-8k-ahci | - marvell,armada-8k-ahci | ||
- marvell,berlin2q | - marvell,berlin2q | ||
+ - qcom,apq8064-ahci | |||
+ - qcom,ipq806x-ahci | |||
- socionext,uniphi | - socionext,uniphi | ||
- socionext,uniphi | - socionext,uniphi | ||
- socionext,uniphi | - socionext,uniphi | ||
@@ -45,6 +47,8 @@ properties: | |||
- marvell,armada-8k-ahci | - marvell,armada-8k-ahci | ||
- marvell,berlin2-ahci | - marvell,berlin2-ahci | ||
- marvell,berlin2q | - marvell,berlin2q | ||
+ - qcom,apq8064-ahci | |||
+ - qcom,ipq806x-ahci | |||
- socionext,uniphi | - socionext,uniphi | ||
- socionext,uniphi | - socionext,uniphi | ||
- socionext,uniphi | - socionext,uniphi | ||
@@ -64,11 +68,11 @@ properties: | |||
clocks: | clocks: | ||
minItems: 1 | minItems: 1 | ||
- maxItems: | + maxItems: 5 | ||
clock-names: | clock-names: | ||
minItems: 1 | minItems: 1 | ||
- maxItems: | + maxItems: 5 | ||
interrupts: | interrupts: | ||
maxItems: 1 | maxItems: 1 | ||
@@ -97,6 +101,31 @@ required: | |||
allOf: | allOf: | ||
- $ref: ahci-common.yaml# | - $ref: ahci-common.yaml# | ||
+ | |||
+ - if: | |||
+ properties: | |||
+ compatible: | |||
+ contains: | |||
+ enum: | |||
+ - qcom,apq8064-ahci | |||
+ - qcom,ipq806x-ahci | |||
+ then: | |||
+ properties: | |||
+ clocks: | |||
+ minItems: 5 | |||
+ clock-names: | |||
+ items: | |||
+ - const: slave_iface | |||
+ - const: iface | |||
+ - const: core | |||
+ - const: rxoob | |||
+ - const: pmalive | |||
+ required: | |||
+ - phys | |||
+ - phy-names | |||
+ - clocks | |||
+ - clock-names | |||
+ | |||
- if: | - if: | ||
properties: | properties: | ||
compatible: | compatible: |
@@ -0,0 +1,42 @@ | |||
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/ata/cirrus,ep9312-pata.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: Cirrus Logic EP9312 PATA controller | |||
+ | |||
+maintainers: | |||
+ - Damien Le Moal <dlemoal@kernel.org> | |||
+ | |||
+properties: | |||
+ compatible: | |||
+ oneOf: | |||
+ - const: cirrus,ep9312-pata | |||
+ - items: | |||
+ - const: cirrus,ep9315-pata | |||
+ - const: cirrus,ep9312-pata | |||
+ | |||
+ reg: | |||
+ maxItems: 1 | |||
+ | |||
+ interrupts: | |||
+ maxItems: 1 | |||
+ | |||
+required: | |||
+ - compatible | |||
+ - reg | |||
+ - interrupts | |||
+ | |||
+additionalProper | |||
+ | |||
+examples: | |||
+ - | | |||
+ ide@800a0000 { | |||
+ compatible = "cirrus,ep9312-pata"; | |||
+ reg = <0x800a0000 0x38>; | |||
+ interrupt-parent = <&vic1>; | |||
+ interrupts = <8>; | |||
+ pinctrl-names = "default"; | |||
+ pinctrl-0 = <&ide_default_pins | |||
+ }; |
@@ -0,0 +1,64 @@ | |||
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/ata/fsl,ahci.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: Freescale QorIQ AHCI SATA Controller | |||
+ | |||
+maintainers: | |||
+ - Frank Li <Frank.Li@nxp.com> | |||
+ | |||
+properties: | |||
+ compatible: | |||
+ oneOf: | |||
+ - description: SATA controller for ls1012a | |||
+ items: | |||
+ - const: fsl,ls1012a-ahci | |||
+ - const: fsl,ls1043a-ahci | |||
+ - enum: | |||
+ - fsl,ls1021a-ahci | |||
+ - fsl,ls1028a-ahci | |||
+ - fsl,ls1043a-ahci | |||
+ - fsl,ls1046a-ahci | |||
+ - fsl,ls1088a-ahci | |||
+ - fsl,ls2080a-ahci | |||
+ - fsl,lx2160a-ahci | |||
+ | |||
+ reg: | |||
+ minItems: 1 | |||
+ maxItems: 2 | |||
+ | |||
+ reg-names: | |||
+ items: | |||
+ - const: ahci | |||
+ - const: sata-ecc | |||
+ minItems: 1 | |||
+ | |||
+ clocks: | |||
+ maxItems: 1 | |||
+ | |||
+ interrupts: | |||
+ maxItems: 1 | |||
+ | |||
+ dma-coherent: true | |||
+ | |||
+required: | |||
+ - compatible | |||
+ - reg | |||
+ - clocks | |||
+ - interrupts | |||
+ | |||
+additionalProper | |||
+ | |||
+examples: | |||
+ - | | |||
+ #include <dt-bindings/interrupt-controller/arm-gic.h> | |||
+ | |||
+ sata@3200000 { | |||
+ compatible = "fsl,ls1021a-ahci"; | |||
+ reg = <0x3200000 0x10000>; | |||
+ interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_H | |||
+ clocks = <&platform_clk 1>; | |||
+ dma-coherent; | |||
+ }; |
@@ -0,0 +1,42 @@ | |||
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/ata/fsl,imx-pata.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: Freescale i.MX PATA Controller | |||
+ | |||
+maintainers: | |||
+ - Animesh Agarwal <animeshagarwal28 | |||
+ | |||
+properties: | |||
+ compatible: | |||
+ oneOf: | |||
+ - items: | |||
+ - enum: | |||
+ - fsl,imx31-pata | |||
+ - fsl,imx51-pata | |||
+ - const: fsl,imx27-pata | |||
+ - const: fsl,imx27-pata | |||
+ | |||
+ reg: | |||
+ maxItems: 1 | |||
+ | |||
+ interrupts: | |||
+ items: | |||
+ - description: PATA Controller interrupts | |||
+ | |||
+ clocks: | |||
+ items: | |||
+ - description: PATA Controller clocks | |||
+ | |||
+additionalProper | |||
+ | |||
+examples: | |||
+ - | | |||
+ pata: pata@83fe0000 { | |||
+ compatible = "fsl,imx51-pata", "fsl,imx27-pata"; | |||
+ reg = <0x83fe0000 0x4000>; | |||
+ interrupts = <70>; | |||
+ clocks = <&clks 161>; | |||
+ }; |
@@ -19,6 +19,7 @@ properties: | |||
- fsl,imx53-ahci | - fsl,imx53-ahci | ||
- fsl,imx6q-ahci | - fsl,imx6q-ahci | ||
- fsl,imx6qp-ahci | - fsl,imx6qp-ahci | ||
+ - fsl,imx8qm-ahci | |||
reg: | reg: | ||
maxItems: 1 | maxItems: 1 | ||
@@ -27,12 +28,14 @@ properties: | |||
maxItems: 1 | maxItems: 1 | ||
clocks: | clocks: | ||
+ minItems: 2 | |||
items: | items: | ||
- description: sata clock | - description: sata clock | ||
- description: sata reference clock | - description: sata reference clock | ||
- description: ahb clock | - description: ahb clock | ||
clock-names: | clock-names: | ||
+ minItems: 2 | |||
items: | items: | ||
- const: sata | - const: sata | ||
- const: sata_ref | - const: sata_ref | ||
@@ -58,6 +61,25 @@ properties: | |||
$ref: /schemas/types.yaml#/definitions/flag | $ref: /schemas/types.yaml#/definitions/flag | ||
description: if present, disable spread-spectrum clocking on the SATA link. | description: if present, disable spread-spectrum clocking on the SATA link. | ||
+ phys: | |||
+ items: | |||
+ - description: phandle to SATA PHY. | |||
+ Since "REXT" pin is only present for first lane of i.MX8QM PHY, it's | |||
+ calibration result will be stored, passed through second lane, and | |||
+ shared with all three lanes PHY. The first two lanes PHY are used as | |||
+ calibration PHYs, although only the third lane PHY is used by SATA. | |||
+ - description: phandle to the first lane PHY of i.MX8QM. | |||
+ - description: phandle to the second lane PHY of i.MX8QM. | |||
+ | |||
+ phy-names: | |||
+ items: | |||
+ - const: sata-phy | |||
+ - const: cali-phy0 | |||
+ - const: cali-phy1 | |||
+ | |||
+ power-domains: | |||
+ maxItems: 1 | |||
+ | |||
required: | required: | ||
- compatible | - compatible | ||
- reg | - reg | ||
@@ -65,6 +87,31 @@ required: | |||
- clocks | - clocks | ||
- clock-names | - clock-names | ||
+allOf: | |||
+ - if: | |||
+ properties: | |||
+ compatible: | |||
+ contains: | |||
+ enum: | |||
+ - fsl,imx53-ahci | |||
+ - fsl,imx6q-ahci | |||
+ - fsl,imx6qp-ahci | |||
+ then: | |||
+ properties: | |||
+ clock-names: | |||
+ minItems: 3 | |||
+ | |||
+ - if: | |||
+ properties: | |||
+ compatible: | |||
+ contains: | |||
+ enum: | |||
+ - fsl,imx8qm-ahci | |||
+ then: | |||
+ properties: | |||
+ clock-names: | |||
+ minItems: 2 | |||
+ | |||
additionalProper | additionalProper | ||
examples: | examples: |
@@ -0,0 +1,98 @@ | |||
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/ata/mediatek,mtk-ahci.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: MediaTek Serial ATA controller | |||
+ | |||
+maintainers: | |||
+ - Ryder Lee <ryder.lee@mediatek.com> | |||
+ | |||
+allOf: | |||
+ - $ref: ahci-common.yaml# | |||
+ | |||
+properties: | |||
+ compatible: | |||
+ items: | |||
+ - enum: | |||
+ - mediatek,mt7622-ahci | |||
+ - const: mediatek,mtk-ahci | |||
+ | |||
+ reg: | |||
+ maxItems: 1 | |||
+ | |||
+ interrupts: | |||
+ maxItems: 1 | |||
+ | |||
+ interrupt-names: | |||
+ const: hostc | |||
+ | |||
+ clocks: | |||
+ maxItems: 5 | |||
+ | |||
+ clock-names: | |||
+ items: | |||
+ - const: ahb | |||
+ - const: axi | |||
+ - const: asic | |||
+ - const: rbc | |||
+ - const: pm | |||
+ | |||
+ power-domains: | |||
+ maxItems: 1 | |||
+ | |||
+ resets: | |||
+ maxItems: 3 | |||
+ | |||
+ reset-names: | |||
+ items: | |||
+ - const: axi | |||
+ - const: sw | |||
+ - const: reg | |||
+ | |||
+ mediatek,phy-mode: | |||
+ description: System controller phandle, used to enable SATA function | |||
+ $ref: /schemas/types.yaml#/definitions/phandle | |||
+ | |||
+required: | |||
+ - reg | |||
+ - interrupts | |||
+ - interrupt-names | |||
+ - clocks | |||
+ - clock-names | |||
+ - phys | |||
+ - phy-names | |||
+ - ports-implemented | |||
+ | |||
+unevaluatedPrope | |||
+ | |||
+examples: | |||
+ - | | |||
+ #include <dt-bindings/clock/mt7622-clk.h> | |||
+ #include <dt-bindings/interrupt-controller/arm-gic.h> | |||
+ #include <dt-bindings/phy/phy.h> | |||
+ #include <dt-bindings/power/mt7622-power.h> | |||
+ #include <dt-bindings/reset/mt7622-reset.h> | |||
+ | |||
+ sata@1a200000 { | |||
+ compatible = "mediatek,mt7622-ahci", "mediatek,mtk-ahci"; | |||
+ reg = <0x1a200000 0x1100>; | |||
+ interrupts = <GIC_SPI 233 IRQ_TYPE_LEVEL_H | |||
+ interrupt-names = "hostc"; | |||
+ clocks = <&pciesys CLK_SATA_AHB_EN>, | |||
+ <&pciesys CLK_SATA_AXI_EN>, | |||
+ <&pciesys CLK_SATA_ASIC_EN | |||
+ <&pciesys CLK_SATA_RBC_EN>, | |||
+ <&pciesys CLK_SATA_PM_EN>; | |||
+ clock-names = "ahb", "axi", "asic", "rbc", "pm"; | |||
+ phys = <&u3port1 PHY_TYPE_SATA>; | |||
+ phy-names = "sata-phy"; | |||
+ ports-implemented = <0x1>; | |||
+ power-domains = <&scpsys MT7622_POWER_DOM | |||
+ resets = <&pciesys MT7622_SATA_AXI_ | |||
+ <&pciesys MT7622_SATA_PHY_ | |||
+ <&pciesys MT7622_SATA_PHY_ | |||
+ reset-names = "axi", "sw", "reg"; | |||
+ mediatek,phy-mode = <&pciesys>; | |||
+ }; |
@@ -35,6 +35,9 @@ properties: | |||
ports-implemented: | ports-implemented: | ||
const: 1 | const: 1 | ||
+ power-domains: | |||
+ maxItems: 1 | |||
+ | |||
sata-port@0: | sata-port@0: | ||
$ref: /schemas/ata/snps,dwc-ahci-common.yaml#/$defs/dwc-ahci-port | $ref: /schemas/ata/snps,dwc-ahci-common.yaml#/$defs/dwc-ahci-port | ||
@@ -0,0 +1,39 @@ | |||
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/ata/ti,da850-ahci.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: TI DA850 AHCI SATA Controller | |||
+ | |||
+maintainers: | |||
+ - Animesh Agarwal <animeshagarwal28 | |||
+ | |||
+properties: | |||
+ compatible: | |||
+ const: ti,da850-ahci | |||
+ | |||
+ reg: | |||
+ items: | |||
+ - description: Address and size of the register map as defined by the AHCI 1.1 standard. | |||
+ - description: | |||
+ Address and size of Power Down Control Register (PWRDN) for enabling/disabling the SATA clock | |||
+ receiver. | |||
+ | |||
+ interrupts: | |||
+ maxItems: 1 | |||
+ | |||
+required: | |||
+ - compatible | |||
+ - reg | |||
+ - interrupts | |||
+ | |||
+additionalProper | |||
+ | |||
+examples: | |||
+ - | | |||
+ sata@218000 { | |||
+ compatible = "ti,da850-ahci"; | |||
+ reg = <0x218000 0x2000>, <0x22c018 0x4>; | |||
+ interrupts = <67>; | |||
+ }; |
@@ -39,6 +39,6 @@ additionalProper | |||
examples: | examples: | ||
- | | - | | ||
lcd@10008000 { | lcd@10008000 { | ||
- | + compatible = "arm,versatile-lcd"; | ||
- | + reg = <0x10008000 0x1000>; | ||
}; | }; |
@@ -0,0 +1,55 @@ | |||
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/auxdisplay/gpio-7-segment.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: GPIO based LED segment display | |||
+ | |||
+maintainers: | |||
+ - Chris Packham <chris.packham@alliedtelesis.co.nz> | |||
+ | |||
+properties: | |||
+ compatible: | |||
+ const: gpio-7-segment | |||
+ | |||
+ segment-gpios: | |||
+ description: | | |||
+ An array of GPIOs one per segment. The first GPIO corresponds to the A | |||
+ segment, the seventh GPIO corresponds to the G segment. Some LED blocks | |||
+ also have a decimal point which can be specified as an optional eighth | |||
+ segment. | |||
+ | |||
+ -a- | |||
+ | | | |||
+ f b | |||
+ | | | |||
+ -g- | |||
+ | | | |||
+ e c | |||
+ | | | |||
+ -d- dp | |||
+ | |||
+ minItems: 7 | |||
+ maxItems: 8 | |||
+ | |||
+required: | |||
+ - segment-gpios | |||
+ | |||
+additionalProper | |||
+ | |||
+examples: | |||
+ - | | |||
+ | |||
+ #include <dt-bindings/gpio/gpio.h> | |||
+ | |||
+ led-7seg { | |||
+ compatible = "gpio-7-segment"; | |||
+ segment-gpios = <&gpio 0 GPIO_ACTIVE_LOW>, | |||
+ <&gpio 1 GPIO_ACTIVE_LOW>, | |||
+ <&gpio 2 GPIO_ACTIVE_LOW>, | |||
+ <&gpio 3 GPIO_ACTIVE_LOW>, | |||
+ <&gpio 4 GPIO_ACTIVE_LOW>, | |||
+ <&gpio 5 GPIO_ACTIVE_LOW>, | |||
+ <&gpio 6 GPIO_ACTIVE_LOW>; | |||
+ }; |
@@ -84,42 +84,44 @@ additionalProper | |||
examples: | examples: | ||
- | | - | | ||
#include <dt-bindings/gpio/gpio.h> | #include <dt-bindings/gpio/gpio.h> | ||
- auxdisplay { | + display-controller { | ||
- | + compatible = "hit,hd44780"; | ||
- | + | ||
- | + data-gpios = <&hc595 0 GPIO_ACTIVE_HIGH>, | ||
- | + <&hc595 1 GPIO_ACTIVE_HIGH>, | ||
- | + <&hc595 2 GPIO_ACTIVE_HIGH>, | ||
- | + <&hc595 3 GPIO_ACTIVE_HIGH>; | ||
- | + enable-gpios = <&hc595 4 GPIO_ACTIVE_HIGH>; | ||
- | + rs-gpios = <&hc595 5 GPIO_ACTIVE_HIGH>; | ||
- | + | ||
- | + display-height-chars = <2>; | ||
- | + display-width-chars = <16>; | ||
}; | }; | ||
+ | |||
- | | - | | ||
#include <dt-bindings/gpio/gpio.h> | #include <dt-bindings/gpio/gpio.h> | ||
i2c { | i2c { | ||
- | + #address-cells = <1>; | ||
- | + #size-cells = <0>; | ||
- | + | ||
- pcf8574: pcf8574@27 { | + pcf8574: gpio-expander@27 { | ||
- | + compatible = "nxp,pcf8574"; | ||
- | + reg = <0x27>; | ||
- | + gpio-controller; | ||
- | + #gpio-cells = <2>; | ||
- | + }; | ||
}; | }; | ||
- hd44780 { | + | ||
- compatible = "hit,hd44780"; | + display-controller { | ||
- display-height-chars = <2>; | + compatible = "hit,hd44780"; | ||
- | + display-height-chars = <2>; | ||
- data-gpios = <&pcf8574 4 0>, | + display-width-chars = <16>; | ||
- <&pcf8574 5 0>, | + data-gpios = <&pcf8574 4 GPIO_ACTIVE_HIGH | ||
- | + <&pcf8574 5 GPIO_ACTIVE_HIGH>, | ||
- | + <&pcf8574 6 GPIO_ACTIVE_HIGH>, | ||
- enable-gpios = <&pcf8574 2 0>; | + <&pcf8574 7 GPIO_ACTIVE_HIGH | ||
- rs-gpios = <&pcf8574 0 0>; | + enable-gpios = <&pcf8574 2 GPIO_ACTIVE_HIGH | ||
- | + rs-gpios = <&pcf8574 0 GPIO_ACTIVE_HIGH>; | ||
- backlight-gpios = <&pcf8574 3 0>; | + rw-gpios = <&pcf8574 1 GPIO_ACTIVE_HIGH | ||
+ backlight-gpios = <&pcf8574 3 GPIO_ACTIVE_HIGH | |||
}; | }; |
@@ -74,31 +74,31 @@ examples: | |||
#include <dt-bindings/input/input.h> | #include <dt-bindings/input/input.h> | ||
#include <dt-bindings/leds/common.h> | #include <dt-bindings/leds/common.h> | ||
i2c { | i2c { | ||
- | + #address-cells = <1>; | ||
- | + #size-cells = <0>; | ||
- | + | ||
- ht16k33: ht16k33@70 { | + display-controller@70 { | ||
- | + compatible = "holtek,ht16k33"; | ||
- | + reg = <0x70>; | ||
- | + refresh-rate-hz = <20>; | ||
- | + interrupt-parent = <&gpio4>; | ||
- | + interrupts = <5 (IRQ_TYPE_LEVEL_HIGH | IRQ_TYPE_EDGE_RISING)>; | ||
- | + debounce-delay-ms = <50>; | ||
- | + linux,keymap = <MATRIX_KEY(2, 0, KEY_F6)>, | ||
- | + <MATRIX_KEY(3, 0, KEY_F8)>, | ||
- | + <MATRIX_KEY(4, 0, KEY_F10)>, | ||
- | + <MATRIX_KEY(5, 0, KEY_F4)>, | ||
- | + <MATRIX_KEY(6, 0, KEY_F2)>, | ||
- | + <MATRIX_KEY(2, 1, KEY_F5)>, | ||
- | + <MATRIX_KEY(3, 1, KEY_F7)>, | ||
- | + <MATRIX_KEY(4, 1, KEY_F9)>, | ||
- | + <MATRIX_KEY(5, 1, KEY_F3)>, | ||
- | + <MATRIX_KEY(6, 1, KEY_F1)>; | ||
- | + | ||
- | + led { | ||
- | + color = <LED_COLOR_ID_RED>; | ||
- | + function = LED_FUNCTION_BACKLIGHT; | ||
- | + linux,default-trigger = "backlight"; | ||
- }; | |||
}; | }; | ||
- | + }; | ||
+ }; |
@@ -50,6 +50,6 @@ additionalProper | |||
examples: | examples: | ||
- | | - | | ||
lcd: lcd@17fff000 { | lcd: lcd@17fff000 { | ||
- | + compatible = "img,boston-lcd"; | ||
- | + reg = <0x17fff000 0x8>; | ||
}; | }; |
@@ -0,0 +1,44 @@ | |||
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/auxdisplay/maxim,max6959.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: MAX6958/6959 7-segment LED display controller | |||
+ | |||
+maintainers: | |||
+ - Andy Shevchenko <andriy.shevchenko@linux.intel.com> | |||
+ | |||
+description: | |||
+ The Maxim MAX6958/6959 7-segment LED display controller provides | |||
+ an I2C interface to up to four 7-segment LED digits. The MAX6959, | |||
+ in comparison to MAX6958, adds input support. Type of the chip can | |||
+ be autodetected via specific register read, and hence the features | |||
+ may be enabled in the driver at run-time, in case they are requested | |||
+ via Device Tree. A given hardware is simple and does not provide | |||
+ any additional pins, such as reset or power enable. | |||
+ | |||
+properties: | |||
+ compatible: | |||
+ const: maxim,max6959 | |||
+ | |||
+ reg: | |||
+ maxItems: 1 | |||
+ | |||
+required: | |||
+ - compatible | |||
+ - reg | |||
+ | |||
+additionalProper | |||
+ | |||
+examples: | |||
+ - | | |||
+ i2c { | |||
+ #address-cells = <1>; | |||
+ #size-cells = <0>; | |||
+ | |||
+ display-controller@38 { | |||
+ compatible = "maxim,max6959"; | |||
+ reg = <0x38>; | |||
+ }; | |||
+ }; |
@@ -0,0 +1,32 @@ | |||
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/board/fsl,bcsr.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: Board Control and Status | |||
+ | |||
+maintainers: | |||
+ - Frank Li <Frank.Li@nxp.com> | |||
+ | |||
+properties: | |||
+ compatible: | |||
+ enum: | |||
+ - fsl,mpc8360mds-bcsr | |||
+ | |||
+ reg: | |||
+ maxItems: 1 | |||
+ | |||
+required: | |||
+ - compatible | |||
+ - reg | |||
+ | |||
+additionalProper | |||
+ | |||
+examples: | |||
+ - | | |||
+ board@f8000000 { | |||
+ compatible = "fsl,mpc8360mds-bcsr"; | |||
+ reg = <0xf8000000 0x8000>; | |||
+ }; | |||
+ |
@@ -0,0 +1,70 @@ | |||
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/board/fsl,fpga-qixis-i2c.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: Freescale on-board FPGA connected on I2C bus | |||
+ | |||
+maintainers: | |||
+ - Frank Li <Frank.Li@nxp.com> | |||
+ | |||
+properties: | |||
+ compatible: | |||
+ oneOf: | |||
+ - items: | |||
+ - enum: | |||
+ - fsl,bsc9132qds-fpga | |||
+ - const: fsl,fpga-qixis-i2c | |||
+ - items: | |||
+ - enum: | |||
+ - fsl,ls1028aqds-fpga | |||
+ - fsl,lx2160aqds-fpga | |||
+ - const: fsl,fpga-qixis-i2c | |||
+ - const: simple-mfd | |||
+ | |||
+ interrupts: | |||
+ maxItems: 1 | |||
+ | |||
+ reg: | |||
+ maxItems: 1 | |||
+ | |||
+ mux-controller: | |||
+ $ref: /schemas/mux/reg-mux.yaml | |||
+ | |||
+required: | |||
+ - compatible | |||
+ - reg | |||
+ | |||
+additionalProper | |||
+ | |||
+examples: | |||
+ - | | |||
+ i2c { | |||
+ #address-cells = <1>; | |||
+ #size-cells = <0>; | |||
+ | |||
+ board-control@66 { | |||
+ compatible = "fsl,bsc9132qds-fpga", "fsl,fpga-qixis-i2c"; | |||
+ reg = <0x66>; | |||
+ }; | |||
+ }; | |||
+ | |||
+ - | | |||
+ i2c { | |||
+ #address-cells = <1>; | |||
+ #size-cells = <0>; | |||
+ | |||
+ board-control@66 { | |||
+ compatible = "fsl,ls1028aqds-fpga", "fsl,fpga-qixis-i2c", | |||
+ "simple-mfd"; | |||
+ reg = <0x66>; | |||
+ | |||
+ mux-controller { | |||
+ compatible = "reg-mux"; | |||
+ #mux-control-cells = <1>; | |||
+ mux-reg-masks = <0x54 0xf0>; /* 0: reg 0x54, bits 7:4 */ | |||
+ }; | |||
+ }; | |||
+ }; | |||
+ |
@@ -0,0 +1,81 @@ | |||
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/board/fsl,fpga-qixis.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: Freescale on-board FPGA/CPLD | |||
+ | |||
+maintainers: | |||
+ - Frank Li <Frank.Li@nxp.com> | |||
+ | |||
+properties: | |||
+ compatible: | |||
+ oneOf: | |||
+ - items: | |||
+ - const: fsl,p1022ds-fpga | |||
+ - const: fsl,fpga-ngpixis | |||
+ - items: | |||
+ - enum: | |||
+ - fsl,ls1088aqds-fpga | |||
+ - fsl,ls1088ardb-fpga | |||
+ - fsl,ls2080aqds-fpga | |||
+ - fsl,ls2080ardb-fpga | |||
+ - const: fsl,fpga-qixis | |||
+ - items: | |||
+ - enum: | |||
+ - fsl,ls1043aqds-fpga | |||
+ - fsl,ls1043ardb-fpga | |||
+ - fsl,ls1046aqds-fpga | |||
+ - fsl,ls1046ardb-fpga | |||
+ - fsl,ls208xaqds-fpga | |||
+ - const: fsl,fpga-qixis | |||
+ - const: simple-mfd | |||
+ - enum: | |||
+ - fsl,ls1043ardb-cpld | |||
+ - fsl,ls1046ardb-cpld | |||
+ - fsl,t1040rdb-cpld | |||
+ - fsl,t1042rdb-cpld | |||
+ - fsl,t1042rdb_pi-cpld | |||
+ | |||
+ interrupts: | |||
+ maxItems: 1 | |||
+ | |||
+ reg: | |||
+ maxItems: 1 | |||
+ | |||
+ "#address-cells": | |||
+ const: 1 | |||
+ | |||
+ "#size-cells": | |||
+ const: 1 | |||
+ | |||
+ ranges: | |||
+ maxItems: 1 | |||
+ | |||
+patternPropertie | |||
+ '^mdio-mux@[a-f0-9,]+$': | |||
+ $ref: /schemas/net/mdio-mux-mmioreg.yaml | |||
+ | |||
+required: | |||
+ - compatible | |||
+ - reg | |||
+ | |||
+additionalProper | |||
+ | |||
+examples: | |||
+ - | | |||
+ #include <dt-bindings/interrupt-controller/irq.h> | |||
+ board-control@3 { | |||
+ compatible = "fsl,p1022ds-fpga", "fsl,fpga-ngpixis"; | |||
+ reg = <3 0x30>; | |||
+ interrupt-parent = <&mpic>; | |||
+ interrupts = <8 IRQ_TYPE_LEVEL_L | |||
+ }; | |||
+ | |||
+ - | | |||
+ board-control@3 { | |||
+ compatible = "fsl,ls2080ardb-fpga", "fsl,fpga-qixis"; | |||
+ reg = <0x3 0x10000>; | |||
+ }; | |||
+ |
@@ -18,6 +18,7 @@ properties: | |||
- const: brcm,gisb-arb | - const: brcm,gisb-arb | ||
- items: | - items: | ||
- enum: | - enum: | ||
+ - brcm,bcm74165-gisb-arb # for V7 new style 16nm chips | |||
- brcm,bcm7278-gisb-arb # for V7 28nm chips | - brcm,bcm7278-gisb-arb # for V7 28nm chips | ||
- brcm,bcm7435-gisb-arb # for newer 40nm chips | - brcm,bcm7435-gisb-arb # for newer 40nm chips | ||
- brcm,bcm7400-gisb-arb # for older 40nm chips and all 65nm chips | - brcm,bcm7400-gisb-arb # for older 40nm chips and all 65nm chips |
@@ -0,0 +1,239 @@ | |||
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/bus/qcom,ebi2.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: Qualcomm External Bus Interface 2 (EBI2) | |||
+ | |||
+description: | | |||
+ The EBI2 contains two peripheral blocks: XMEM and LCDC. The XMEM handles any | |||
+ external memory (such as NAND or other memory-mapped peripherals) whereas | |||
+ LCDC handles LCD displays. | |||
+ | |||
+ As it says it connects devices to an external bus interface, meaning address | |||
+ lines (up to 9 address lines so can only address 1KiB external memory space), | |||
+ data lines (16 bits), OE (output enable), ADV (address valid, used on some | |||
+ NOR flash memories), WE (write enable). This on top of 6 different chip selects | |||
+ (CS0 thru CS5) so that in theory 6 different devices can be connected. | |||
+ | |||
+ Apparently this bus is clocked at 64MHz. It has dedicated pins on the package | |||
+ and the bus can only come out on these pins, however if some of the pins are | |||
+ unused they can be left unconnected or remuxed to be used as GPIO or in some | |||
+ cases other orthogonal functions as well. | |||
+ | |||
+ Also CS1 and CS2 has -A and -B signals. Why they have that is unclear to me. | |||
+ | |||
+ The chip selects have the following memory range assignments. This region of | |||
+ memory is referred to as "Chip Peripheral SS FPB0" and is 168MB big. | |||
+ | |||
+ Chip Select Physical address base | |||
+ CS0 GPIO134 0x1a800000-0x1b000000 (8MB) | |||
+ CS1 GPIO39 (A) / GPIO123 (B) 0x1b000000-0x1b800000 (8MB) | |||
+ CS2 GPIO40 (A) / GPIO124 (B) 0x1b800000-0x1c000000 (8MB) | |||
+ CS3 GPIO133 0x1d000000-0x25000000 (128 MB) | |||
+ CS4 GPIO132 0x1c800000-0x1d000000 (8MB) | |||
+ CS5 GPIO131 0x1c000000-0x1c800000 (8MB) | |||
+ | |||
+ The APQ8060 Qualcomm Application Processor User Guide, 80-N7150-14 Rev. A, | |||
+ August 6, 2012 contains some incomplete documentation of the EBI2. | |||
+ | |||
+ FIXME: the manual mentions "write precharge cycles" and "precharge cycles". | |||
+ We have not been able to figure out which bit fields these correspond to | |||
+ in the hardware, or what valid values exist. The current hypothesis is that | |||
+ this is something just used on the FAST chip selects and that the SLOW | |||
+ chip selects are understood fully. There is also a "byte device enable" | |||
+ flag somewhere for 8bit memories. | |||
+ | |||
+ FIXME: The chipselects have SLOW and FAST configuration registers. It's a bit | |||
+ unclear what this means, if they are mutually exclusive or can be used | |||
+ together, or if some chip selects are hardwired to be FAST and others are SLOW | |||
+ by design. | |||
+ | |||
+ The XMEM registers are totally undocumented but could be partially decoded | |||
+ because the Cypress AN49576 Antioch Westbridge apparently has suspiciously | |||
+ similar register layout, see: http://www.cypress.com/file/105771/download | |||
+ | |||
+maintainers: | |||
+ - Bjorn Andersson <andersson@kernel.org> | |||
+ | |||
+properties: | |||
+ compatible: | |||
+ enum: | |||
+ - qcom,apq8060-ebi2 | |||
+ - qcom,msm8660-ebi2 | |||
+ | |||
+ reg: | |||
+ items: | |||
+ - description: EBI2 config region | |||
+ - description: XMEM config region | |||
+ | |||
+ reg-names: | |||
+ items: | |||
+ - const: ebi2 | |||
+ - const: xmem | |||
+ | |||
+ ranges: true | |||
+ | |||
+ clocks: | |||
+ items: | |||
+ - description: EBI_2X clock | |||
+ - description: EBI clock | |||
+ | |||
+ clock-names: | |||
+ items: | |||
+ - const: ebi2x | |||
+ - const: ebi2 | |||
+ | |||
+ '#address-cells': | |||
+ const: 2 | |||
+ | |||
+ '#size-cells': | |||
+ const: 1 | |||
+ | |||
+required: | |||
+ - compatible | |||
+ - reg | |||
+ - reg-names | |||
+ - ranges | |||
+ - clocks | |||
+ - clock-names | |||
+ - '#address-cells' | |||
+ - '#size-cells' | |||
+ | |||
+patternPropertie | |||
+ "^.*@[0-5],[0-9a-f]+$": | |||
+ type: object | |||
+ additionalProper | |||
+ properties: | |||
+ reg: | |||
+ maxItems: 1 | |||
+ | |||
+ # SLOW chip selects | |||
+ qcom,xmem-recovery-cycles: | |||
+ $ref: /schemas/types.yaml#/definitions/uint32 | |||
+ description: > | |||
+ The time the memory continues to drive the data bus after OE | |||
+ is de-asserted, in order to avoid contention on the data bus. | |||
+ They are inserted when reading one CS and switching to another | |||
+ CS or read followed by write on the same CS. Minimum value is | |||
+ actually 1, so a value of 0 will still yield 1 recovery cycle. | |||
+ minimum: 0 | |||
+ maximum: 15 | |||
+ | |||
+ qcom,xmem-write-hold-cycles: | |||
+ $ref: /schemas/types.yaml#/definitions/uint32 | |||
+ description: > | |||
+ The extra cycles inserted after every write minimum 1. The | |||
+ data out is driven from the time WE is asserted until CS is | |||
+ asserted. With a hold of 1 (value = 0), the CS stays active | |||
+ for 1 extra cycle, etc. | |||
+ minimum: 0 | |||
+ maximum: 15 | |||
+ | |||
+ qcom,xmem-write-delta-cycles: | |||
+ $ref: /schemas/types.yaml#/definitions/uint32 | |||
+ description: > | |||
+ The initial latency for write cycles inserted for the first | |||
+ write to a page or burst memory. | |||
+ minimum: 0 | |||
+ maximum: 255 | |||
+ | |||
+ qcom,xmem-read-delta-cycles: | |||
+ $ref: /schemas/types.yaml#/definitions/uint32 | |||
+ description: > | |||
+ The initial latency for read cycles inserted for the first | |||
+ read to a page or burst memory. | |||
+ minimum: 0 | |||
+ maximum: 255 | |||
+ | |||
+ qcom,xmem-write-wait-cycles: | |||
+ $ref: /schemas/types.yaml#/definitions/uint32 | |||
+ description: > | |||
+ The number of wait cycles for every write access. | |||
+ minimum: 0 | |||
+ maximum: 15 | |||
+ | |||
+ qcom,xmem-read-wait-cycles: | |||
+ $ref: /schemas/types.yaml#/definitions/uint32 | |||
+ description: > | |||
+ The number of wait cycles for every read access. | |||
+ minimum: 0 | |||
+ maximum: 15 | |||
+ | |||
+ | |||
+ # FAST chip selects | |||
+ qcom,xmem-address-hold-enable: | |||
+ $ref: /schemas/types.yaml#/definitions/uint32 | |||
+ description: > | |||
+ Holds the address for an extra cycle to meet hold time | |||
+ requirements with ADV assertion, when set to 1. | |||
+ enum: [ 0, 1 ] | |||
+ | |||
+ qcom,xmem-adv-to-oe-recovery-cycles: | |||
+ $ref: /schemas/types.yaml#/definitions/uint32 | |||
+ description: > | |||
+ The number of cycles elapsed before an OE assertion, with | |||
+ respect to the cycle where ADV (address valid) is asserted. | |||
+ minimum: 0 | |||
+ maximum: 3 | |||
+ | |||
+ qcom,xmem-read-hold-cycles: | |||
+ $ref: /schemas/types.yaml#/definitions/uint32 | |||
+ description: > | |||
+ The length in cycles of the first segment of a read transfer. | |||
+ For a single read transfer this will be the time from CS | |||
+ assertion to OE assertion. | |||
+ minimum: 0 | |||
+ maximum: 15 | |||
+ | |||
+ required: | |||
+ - reg | |||
+ | |||
+additionalProper | |||
+ | |||
+examples: | |||
+ - | | |||
+ #include <dt-bindings/clock/qcom,gcc-msm8660.h> | |||
+ #include <dt-bindings/interrupt-controller/irq.h> | |||
+ #include <dt-bindings/gpio/gpio.h> | |||
+ | |||
+ external-bus@1a100000 { | |||
+ compatible = "qcom,msm8660-ebi2"; | |||
+ reg = <0x1a100000 0x1000>, <0x1a110000 0x1000>; | |||
+ reg-names = "ebi2", "xmem"; | |||
+ ranges = <0 0x0 0x1a800000 0x00800000>, | |||
+ <1 0x0 0x1b000000 0x00800000>, | |||
+ <2 0x0 0x1b800000 0x00800000>, | |||
+ <3 0x0 0x1d000000 0x08000000>, | |||
+ <4 0x0 0x1c800000 0x00800000>, | |||
+ <5 0x0 0x1c000000 0x00800000>; | |||
+ | |||
+ clocks = <&gcc EBI2_2X_CLK>, <&gcc EBI2_CLK>; | |||
+ clock-names = "ebi2x", "ebi2"; | |||
+ | |||
+ #address-cells = <2>; | |||
+ #size-cells = <1>; | |||
+ | |||
+ ethernet@2,0 { | |||
+ compatible = "smsc,lan9221", "smsc,lan9115"; | |||
+ reg = <2 0x0 0x100>; | |||
+ | |||
+ interrupts-extended = <&pm8058_gpio 7 IRQ_TYPE_EDGE_FA | |||
+ <&tlmm 29 IRQ_TYPE_EDGE_RI | |||
+ reset-gpios = <&tlmm 30 GPIO_ACTIVE_LOW>; | |||
+ | |||
+ phy-mode = "mii"; | |||
+ reg-io-width = <2>; | |||
+ smsc,force-external-phy; | |||
+ smsc,irq-push-pull; | |||
+ | |||
+ /* SLOW chipselect config */ | |||
+ qcom,xmem-recovery-cycles = <0>; | |||
+ qcom,xmem-write-hold-cycles = <3>; | |||
+ qcom,xmem-write-delta-cycles = <31>; | |||
+ qcom,xmem-read-delta-cycles = <28>; | |||
+ qcom,xmem-write-wait-cycles = <9>; | |||
+ qcom,xmem-read-wait-cycles = <9>; | |||
+ }; | |||
+ }; |
@@ -0,0 +1,96 @@ | |||
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/bus/st,stm32-etzpc.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: STM32 Extended TrustZone protection controller | |||
+ | |||
+description: | | |||
+ The ETZPC configures TrustZone security in a SoC having bus masters and | |||
+ devices with programmable-security attributes (securable resources). | |||
+ | |||
+maintainers: | |||
+ - Gatien Chevallier <gatien.chevallier@foss.st.com> | |||
+ | |||
+select: | |||
+ properties: | |||
+ compatible: | |||
+ contains: | |||
+ const: st,stm32-etzpc | |||
+ required: | |||
+ - compatible | |||
+ | |||
+properties: | |||
+ compatible: | |||
+ items: | |||
+ - const: st,stm32-etzpc | |||
+ - const: simple-bus | |||
+ | |||
+ reg: | |||
+ maxItems: 1 | |||
+ | |||
+ "#address-cells": | |||
+ const: 1 | |||
+ | |||
+ "#size-cells": | |||
+ const: 1 | |||
+ | |||
+ ranges: true | |||
+ | |||
+ "#access-controller-cells": | |||
+ const: 1 | |||
+ description: | |||
+ Contains the firewall ID associated to the peripheral. | |||
+ | |||
+patternPropertie | |||
+ "^.*@[0-9a-f]+$": | |||
+ description: Peripherals | |||
+ type: object | |||
+ | |||
+ additionalProper | |||
+ | |||
+ required: | |||
+ - access-controllers | |||
+ | |||
+required: | |||
+ - compatible | |||
+ - reg | |||
+ - "#address-cells" | |||
+ - "#size-cells" | |||
+ - "#access-controller-cells" | |||
+ - ranges | |||
+ | |||
+additionalProper | |||
+ | |||
+examples: | |||
+ - | | |||
+ // In this example, the usart2 device refers to rifsc as its access | |||
+ // controller. | |||
+ // Access rights are verified before creating devices. | |||
+ | |||
+ #include <dt-bindings/interrupt-controller/arm-gic.h> | |||
+ #include <dt-bindings/clock/stm32mp13-clks.h> | |||
+ #include <dt-bindings/reset/stm32mp13-resets.h> | |||
+ | |||
+ etzpc: bus@5c007000 { | |||
+ compatible = "st,stm32-etzpc", "simple-bus"; | |||
+ reg = <0x5c007000 0x400>; | |||
+ #address-cells = <1>; | |||
+ #size-cells = <1>; | |||
+ #access-controller-cells = <1>; | |||
+ ranges; | |||
+ | |||
+ usart2: serial@4c001000 { | |||
+ compatible = "st,stm32h7-uart"; | |||
+ reg = <0x4c001000 0x400>; | |||
+ interrupts-extended = <&exti 27 IRQ_TYPE_LEVEL_H | |||
+ clocks = <&rcc USART2_K>; | |||
+ resets = <&rcc USART2_R>; | |||
+ wakeup-source; | |||
+ dmas = <&dmamux1 43 0x400 0x5>, | |||
+ <&dmamux1 44 0x400 0x1>; | |||
+ dma-names = "rx", "tx"; | |||
+ access-controllers = <&etzpc 17>; | |||
+ }; | |||
+ }; |
@@ -0,0 +1,105 @@ | |||
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/bus/st,stm32mp25-rifsc.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: STM32 Resource isolation framework security controller | |||
+ | |||
+maintainers: | |||
+ - Gatien Chevallier <gatien.chevallier@foss.st.com> | |||
+ | |||
+description: | | |||
+ Resource isolation framework (RIF) is a comprehensive set of hardware blocks | |||
+ designed to enforce and manage isolation of STM32 hardware resources like | |||
+ memory and peripherals. | |||
+ | |||
+ The RIFSC (RIF security controller) is composed of three sets of registers, | |||
+ each managing a specific set of hardware resources: | |||
+ - RISC registers associated with RISUP logic (resource isolation device unit | |||
+ for peripherals), assign all non-RIF aware peripherals to zero, one or | |||
+ any security domains (secure, privilege, compartment). | |||
+ - RIMC registers: associated with RIMU logic (resource isolation master | |||
+ unit), assign all non RIF-aware bus master to one security domain by | |||
+ setting secure, privileged and compartment information on the system bus. | |||
+ Alternatively, the RISUP logic controlling the device port access to a | |||
+ peripheral can assign target bus attributes to this peripheral master port | |||
+ (supported attribute: CID). | |||
+ - RISC registers associated with RISAL logic (resource isolation device unit | |||
+ for address space - Lite version), assign address space subregions to one | |||
+ security domains (secure, privilege, compartment). | |||
+ | |||
+select: | |||
+ properties: | |||
+ compatible: | |||
+ contains: | |||
+ const: st,stm32mp25-rifsc | |||
+ required: | |||
+ - compatible | |||
+ | |||
+properties: | |||
+ compatible: | |||
+ items: | |||
+ - const: st,stm32mp25-rifsc | |||
+ - const: simple-bus | |||
+ | |||
+ reg: | |||
+ maxItems: 1 | |||
+ | |||
+ "#address-cells": | |||
+ const: 1 | |||
+ | |||
+ "#size-cells": | |||
+ const: 1 | |||
+ | |||
+ ranges: true | |||
+ | |||
+ "#access-controller-cells": | |||
+ const: 1 | |||
+ description: | |||
+ Contains the firewall ID associated to the peripheral. | |||
+ | |||
+patternPropertie | |||
+ "^.*@[0-9a-f]+$": | |||
+ description: Peripherals | |||
+ type: object | |||
+ | |||
+ additionalProper | |||
+ | |||
+ required: | |||
+ - access-controllers | |||
+ | |||
+required: | |||
+ - compatible | |||
+ - reg | |||
+ - "#address-cells" | |||
+ - "#size-cells" | |||
+ - "#access-controller-cells" | |||
+ - ranges | |||
+ | |||
+additionalProper | |||
+ | |||
+examples: | |||
+ - | | |||
+ // In this example, the usart2 device refers to rifsc as its domain | |||
+ // controller. | |||
+ // Access rights are verified before creating devices. | |||
+ | |||
+ #include <dt-bindings/interrupt-controller/arm-gic.h> | |||
+ | |||
+ rifsc: bus@42080000 { | |||
+ compatible = "st,stm32mp25-rifsc", "simple-bus"; | |||
+ reg = <0x42080000 0x1000>; | |||
+ #address-cells = <1>; | |||
+ #size-cells = <1>; | |||
+ #access-controller-cells = <1>; | |||
+ ranges; | |||
+ | |||
+ usart2: serial@400e0000 { | |||
+ compatible = "st,stm32h7-uart"; | |||
+ reg = <0x400e0000 0x400>; | |||
+ interrupts = <GIC_SPI 115 IRQ_TYPE_LEVEL_H | |||
+ clocks = <&ck_flexgen_08>; | |||
+ access-controllers = <&rifsc 32>; | |||
+ }; | |||
+ }; |
@@ -21,6 +21,7 @@ properties: | |||
compatible: | compatible: | ||
enum: | enum: | ||
- qcom,qdu1000-llcc | - qcom,qdu1000-llcc | ||
+ - qcom,sa8775p-llcc | |||
- qcom,sc7180-llcc | - qcom,sc7180-llcc | ||
- qcom,sc7280-llcc | - qcom,sc7280-llcc | ||
- qcom,sc8180x-llcc | - qcom,sc8180x-llcc | ||
@@ -66,7 +67,6 @@ allOf: | |||
compatible: | compatible: | ||
contains: | contains: | ||
enum: | enum: | ||
- - qcom,qdu1000-llcc | |||
- qcom,sc7180-llcc | - qcom,sc7180-llcc | ||
- qcom,sm6350-llcc | - qcom,sm6350-llcc | ||
then: | then: | ||
@@ -80,6 +80,33 @@ allOf: | |||
- const: llcc0_base | - const: llcc0_base | ||
- const: llcc_broadcast_b | - const: llcc_broadcast_b | ||
+ - if: | |||
+ properties: | |||
+ compatible: | |||
+ contains: | |||
+ enum: | |||
+ - qcom,sa8775p-llcc | |||
+ then: | |||
+ properties: | |||
+ reg: | |||
+ items: | |||
+ - description: LLCC0 base register region | |||
+ - description: LLCC1 base register region | |||
+ - description: LLCC2 base register region | |||
+ - description: LLCC3 base register region | |||
+ - description: LLCC4 base register region | |||
+ - description: LLCC5 base register region | |||
+ - description: LLCC broadcast base register region | |||
+ reg-names: | |||
+ items: | |||
+ - const: llcc0_base | |||
+ - const: llcc1_base | |||
+ - const: llcc2_base | |||
+ - const: llcc3_base | |||
+ - const: llcc4_base | |||
+ - const: llcc5_base | |||
+ - const: llcc_broadcast_b | |||
+ | |||
- if: | - if: | ||
properties: | properties: | ||
compatible: | compatible: | ||
@@ -104,6 +131,7 @@ allOf: | |||
compatible: | compatible: | ||
contains: | contains: | ||
enum: | enum: | ||
+ - qcom,qdu1000-llcc | |||
- qcom,sc8180x-llcc | - qcom,sc8180x-llcc | ||
- qcom,sc8280xp-llcc | - qcom,sc8280xp-llcc | ||
- qcom,x1e80100-llcc | - qcom,x1e80100-llcc | ||
@@ -141,8 +169,31 @@ allOf: | |||
- qcom,sm8150-llcc | - qcom,sm8150-llcc | ||
- qcom,sm8250-llcc | - qcom,sm8250-llcc | ||
- qcom,sm8350-llcc | - qcom,sm8350-llcc | ||
+ then: | |||
+ properties: | |||
+ reg: | |||
+ items: | |||
+ - description: LLCC0 base register region | |||
+ - description: LLCC1 base register region | |||
+ - description: LLCC2 base register region | |||
+ - description: LLCC3 base register region | |||
+ - description: LLCC broadcast base register region | |||
+ reg-names: | |||
+ items: | |||
+ - const: llcc0_base | |||
+ - const: llcc1_base | |||
+ - const: llcc2_base | |||
+ - const: llcc3_base | |||
+ - const: llcc_broadcast_b | |||
+ | |||
+ - if: | |||
+ properties: | |||
+ compatible: | |||
+ contains: | |||
+ enum: | |||
- qcom,sm8450-llcc | - qcom,sm8450-llcc | ||
- qcom,sm8550-llcc | - qcom,sm8550-llcc | ||
+ - qcom,sm8650-llcc | |||
then: | then: | ||
properties: | properties: | ||
reg: | reg: | ||
@@ -151,7 +202,8 @@ allOf: | |||
- description: LLCC1 base register region | - description: LLCC1 base register region | ||
- description: LLCC2 base register region | - description: LLCC2 base register region | ||
- description: LLCC3 base register region | - description: LLCC3 base register region | ||
- - description: LLCC broadcast | + - description: LLCC broadcast OR register region | ||
+ - description: LLCC broadcast AND register region | |||
reg-names: | reg-names: | ||
items: | items: | ||
- const: llcc0_base | - const: llcc0_base | ||
@@ -159,6 +211,7 @@ allOf: | |||
- const: llcc2_base | - const: llcc2_base | ||
- const: llcc3_base | - const: llcc3_base | ||
- const: llcc_broadcast_b | - const: llcc_broadcast_b | ||
+ - const: llcc_broadcast_a | |||
additionalProper | additionalProper | ||
@@ -0,0 +1,66 @@ | |||
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/cache/starfive,jh8100-starlink-cache.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: StarFive StarLink Cache Controller | |||
+ | |||
+maintainers: | |||
+ - Joshua Yeong <joshua.yeong@starfivetech.com> | |||
+ | |||
+description: | |||
+ StarFive's StarLink Cache Controller manages the L3 cache shared between | |||
+ clusters of CPU cores. The cache driver enables RISC-V non-standard cache | |||
+ management as an alternative to instructions in the RISC-V Zicbom extension. | |||
+ | |||
+allOf: | |||
+ - $ref: /schemas/cache-controller.yaml# | |||
+ | |||
+# We need a select here so we don't match all nodes with 'cache' | |||
+select: | |||
+ properties: | |||
+ compatible: | |||
+ contains: | |||
+ enum: | |||
+ - starfive,jh8100-starlink-cache | |||
+ | |||
+ required: | |||
+ - compatible | |||
+ | |||
+properties: | |||
+ compatible: | |||
+ items: | |||
+ - const: starfive,jh8100-starlink-cache | |||
+ - const: cache | |||
+ | |||
+ reg: | |||
+ maxItems: 1 | |||
+ | |||
+unevaluatedPrope | |||
+ | |||
+required: | |||
+ - compatible | |||
+ - reg | |||
+ - cache-block-size | |||
+ - cache-level | |||
+ - cache-sets | |||
+ - cache-size | |||
+ - cache-unified | |||
+ | |||
+examples: | |||
+ - | | |||
+ soc { | |||
+ #address-cells = <2>; | |||
+ #size-cells = <2>; | |||
+ | |||
+ cache-controller@15000000 { | |||
+ compatible = "starfive,jh8100-starlink-cache", "cache"; | |||
+ reg = <0x0 0x15000000 0x0 0x278>; | |||
+ cache-block-size = <64>; | |||
+ cache-level = <3>; | |||
+ cache-sets = <8192>; | |||
+ cache-size = <0x400000>; | |||
+ cache-unified; | |||
+ }; | |||
+ }; |
@@ -29,10 +29,13 @@ description: | | |||
properties: | properties: | ||
compatible: | compatible: | ||
items: | items: | ||
- - const: airoha,en7523-scu | + - enum: | ||
+ - airoha,en7523-scu | |||
+ - airoha,en7581-scu | |||
reg: | reg: | ||
- | + minItems: 2 | ||
+ maxItems: 4 | |||
"#clock-cells": | "#clock-cells": | ||
description: | description: | ||
@@ -40,11 +43,42 @@ properties: | |||
clocks. | clocks. | ||
const: 1 | const: 1 | ||
+ '#reset-cells': | |||
+ description: ID of the controller reset line | |||
+ const: 1 | |||
+ | |||
required: | required: | ||
- compatible | - compatible | ||
- reg | - reg | ||
- '#clock-cells' | - '#clock-cells' | ||
+allOf: | |||
+ - if: | |||
+ properties: | |||
+ compatible: | |||
+ const: airoha,en7523-scu | |||
+ then: | |||
+ properties: | |||
+ reg: | |||
+ items: | |||
+ - description: scu base address | |||
+ - description: misc scu base address | |||
+ | |||
+ '#reset-cells': false | |||
+ | |||
+ - if: | |||
+ properties: | |||
+ compatible: | |||
+ const: airoha,en7581-scu | |||
+ then: | |||
+ properties: | |||
+ reg: | |||
+ items: | |||
+ - description: scu base address | |||
+ - description: misc scu base address | |||
+ - description: reset base address | |||
+ - description: pb scu base address | |||
+ | |||
additionalProper | additionalProper | ||
examples: | examples: | ||
@@ -56,3 +90,19 @@ examples: | |||
<0x1fb00000 0x1000>; | <0x1fb00000 0x1000>; | ||
#clock-cells = <1>; | #clock-cells = <1>; | ||
}; | }; | ||
+ | |||
+ - | | |||
+ soc { | |||
+ #address-cells = <2>; | |||
+ #size-cells = <2>; | |||
+ | |||
+ scuclk: clock-controller@1fa20000 { | |||
+ compatible = "airoha,en7581-scu"; | |||
+ reg = <0x0 0x1fa20000 0x0 0x400>, | |||
+ <0x0 0x1fb00000 0x0 0x90>, | |||
+ <0x0 0x1fb00830 0x0 0x8>, | |||
+ <0x0 0x1fbe3400 0x0 0xfc>; | |||
+ #clock-cells = <1>; | |||
+ #reset-cells = <1>; | |||
+ }; | |||
+ }; |
@@ -30,6 +30,8 @@ properties: | |||
- description: input fixed pll div7 | - description: input fixed pll div7 | ||
- description: input hifi pll | - description: input hifi pll | ||
- description: input oscillator (usually at 24MHz) | - description: input oscillator (usually at 24MHz) | ||
+ - description: input sys pll | |||
+ minItems: 6 # sys_pll is optional | |||
clock-names: | clock-names: | ||
items: | items: | ||
@@ -39,6 +41,8 @@ properties: | |||
- const: fclk_div7 | - const: fclk_div7 | ||
- const: hifi_pll | - const: hifi_pll | ||
- const: xtal | - const: xtal | ||
+ - const: sys_pll | |||
+ minItems: 6 # sys_pll is optional | |||
required: | required: | ||
- compatible | - compatible | ||
@@ -65,9 +69,10 @@ examples: | |||
<&clkc_pll CLKID_FCLK_DIV5>, | <&clkc_pll CLKID_FCLK_DIV5>, | ||
<&clkc_pll CLKID_FCLK_DIV7>, | <&clkc_pll CLKID_FCLK_DIV7>, | ||
<&clkc_pll CLKID_HIFI_PLL>, | <&clkc_pll CLKID_HIFI_PLL>, | ||
- | + <&xtal>, | ||
+ <&clkc_pll CLKID_SYS_PLL>; | |||
clock-names = "fclk_div2", "fclk_div3", | clock-names = "fclk_div2", "fclk_div3", | ||
"fclk_div5", "fclk_div7", | "fclk_div5", "fclk_div7", | ||
- "hifi_pll", | + "hifi_pll", "xtal", "sys_pll"; | ||
}; | }; | ||
}; | }; |
@@ -26,11 +26,15 @@ properties: | |||
items: | items: | ||
- description: input fixpll_in | - description: input fixpll_in | ||
- description: input hifipll_in | - description: input hifipll_in | ||
+ - description: input syspll_in | |||
+ minItems: 2 # syspll_in is optional | |||
clock-names: | clock-names: | ||
items: | items: | ||
- const: fixpll_in | - const: fixpll_in | ||
- const: hifipll_in | - const: hifipll_in | ||
+ - const: syspll_in | |||
+ minItems: 2 # syspll_in is optional | |||
required: | required: | ||
- compatible | - compatible | ||
@@ -53,7 +57,8 @@ examples: | |||
reg = <0 0x7c80 0 0x18c>; | reg = <0 0x7c80 0 0x18c>; | ||
#clock-cells = <1>; | #clock-cells = <1>; | ||
clocks = <&clkc_periphs CLKID_FIXPLL_IN>, | clocks = <&clkc_periphs CLKID_FIXPLL_IN>, | ||
- <&clkc_periphs | + <&clkc_periphs CLKID_HIFIPLL_IN>, | ||
- clock-names = "fixpll_in", "hifipll_in"; | + <&clkc_periphs CLKID_SYSPLL_IN>; | ||
+ clock-names = "fixpll_in", "hifipll_in", "syspll_in"; | |||
}; | }; | ||
}; | }; |
@@ -0,0 +1,201 @@ | |||
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/clock/amlogic,axg-audio-clkc.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: Amlogic AXG Audio Clock Controller | |||
+ | |||
+maintainers: | |||
+ - Neil Armstrong <neil.armstrong@linaro.org> | |||
+ - Jerome Brunet <jbrunet@baylibre.com> | |||
+ | |||
+description: | |||
+ The Amlogic AXG audio clock controller generates and supplies clock to the | |||
+ other elements of the audio subsystem, such as fifos, i2s, spdif and pdm | |||
+ devices. | |||
+ | |||
+properties: | |||
+ compatible: | |||
+ enum: | |||
+ - amlogic,axg-audio-clkc | |||
+ - amlogic,g12a-audio-clkc | |||
+ - amlogic,sm1-audio-clkc | |||
+ | |||
+ '#clock-cells': | |||
+ const: 1 | |||
+ | |||
+ '#reset-cells': | |||
+ const: 1 | |||
+ | |||
+ reg: | |||
+ maxItems: 1 | |||
+ | |||
+ clocks: | |||
+ minItems: 1 | |||
+ items: | |||
+ - description: main peripheral bus clock | |||
+ - description: input plls to generate clock signals N0 | |||
+ - description: input plls to generate clock signals N1 | |||
+ - description: input plls to generate clock signals N2 | |||
+ - description: input plls to generate clock signals N3 | |||
+ - description: input plls to generate clock signals N4 | |||
+ - description: input plls to generate clock signals N5 | |||
+ - description: input plls to generate clock signals N6 | |||
+ - description: input plls to generate clock signals N7 | |||
+ - description: slave bit clock N0 provided by external components | |||
+ - description: slave bit clock N1 provided by external components | |||
+ - description: slave bit clock N2 provided by external components | |||
+ - description: slave bit clock N3 provided by external components | |||
+ - description: slave bit clock N4 provided by external components | |||
+ - description: slave bit clock N5 provided by external components | |||
+ - description: slave bit clock N6 provided by external components | |||
+ - description: slave bit clock N7 provided by external components | |||
+ - description: slave bit clock N8 provided by external components | |||
+ - description: slave bit clock N9 provided by external components | |||
+ - description: slave sample clock N0 provided by external components | |||
+ - description: slave sample clock N1 provided by external components | |||
+ - description: slave sample clock N2 provided by external components | |||
+ - description: slave sample clock N3 provided by external components | |||
+ - description: slave sample clock N4 provided by external components | |||
+ - description: slave sample clock N5 provided by external components | |||
+ - description: slave sample clock N6 provided by external components | |||
+ - description: slave sample clock N7 provided by external components | |||
+ - description: slave sample clock N8 provided by external components | |||
+ - description: slave sample clock N9 provided by external components | |||
+ | |||
+ clock-names: | |||
+ minItems: 1 | |||
+ items: | |||
+ - const: pclk | |||
+ - const: mst_in0 | |||
+ - const: mst_in1 | |||
+ - const: mst_in2 | |||
+ - const: mst_in3 | |||
+ - const: mst_in4 | |||
+ - const: mst_in5 | |||
+ - const: mst_in6 | |||
+ - const: mst_in7 | |||
+ - const: slv_sclk0 | |||
+ - const: slv_sclk1 | |||
+ - const: slv_sclk2 | |||
+ - const: slv_sclk3 | |||
+ - const: slv_sclk4 | |||
+ - const: slv_sclk5 | |||
+ - const: slv_sclk6 | |||
+ - const: slv_sclk7 | |||
+ - const: slv_sclk8 | |||
+ - const: slv_sclk9 | |||
+ - const: slv_lrclk0 | |||
+ - const: slv_lrclk1 | |||
+ - const: slv_lrclk2 | |||
+ - const: slv_lrclk3 | |||
+ - const: slv_lrclk4 | |||
+ - const: slv_lrclk5 | |||
+ - const: slv_lrclk6 | |||
+ - const: slv_lrclk7 | |||
+ - const: slv_lrclk8 | |||
+ - const: slv_lrclk9 | |||
+ | |||
+ resets: | |||
+ description: internal reset line | |||
+ | |||
+required: | |||
+ - compatible | |||
+ - '#clock-cells' | |||
+ - reg | |||
+ - clocks | |||
+ - clock-names | |||
+ - resets | |||
+ | |||
+allOf: | |||
+ - if: | |||
+ properties: | |||
+ compatible: | |||
+ contains: | |||
+ enum: | |||
+ - amlogic,g12a-audio-clkc | |||
+ - amlogic,sm1-audio-clkc | |||
+ then: | |||
+ required: | |||
+ - '#reset-cells' | |||
+ else: | |||
+ properties: | |||
+ '#reset-cells': false | |||
+ | |||
+additionalProper | |||
+ | |||
+examples: | |||
+ - | | |||
+ #include <dt-bindings/clock/axg-clkc.h> | |||
+ #include <dt-bindings/reset/amlogic,meson-axg-reset.h> | |||
+ apb { | |||
+ #address-cells = <2>; | |||
+ #size-cells = <2>; | |||
+ | |||
+ clkc_audio: clock-controller@0 { | |||
+ compatible = "amlogic,axg-audio-clkc"; | |||
+ reg = <0x0 0x0 0x0 0xb4>; | |||
+ #clock-cells = <1>; | |||
+ | |||
+ clocks = <&clkc CLKID_AUDIO>, | |||
+ <&clkc CLKID_MPLL0>, | |||
+ <&clkc CLKID_MPLL1>, | |||
+ <&clkc CLKID_MPLL2>, | |||
+ <&clkc CLKID_MPLL3>, | |||
+ <&clkc CLKID_HIFI_PLL>, | |||
+ <&clkc CLKID_FCLK_DIV3>, | |||
+ <&clkc CLKID_FCLK_DIV4>, | |||
+ <&clkc CLKID_GP0_PLL>, | |||
+ <&slv_sclk0>, | |||
+ <&slv_sclk1>, | |||
+ <&slv_sclk2>, | |||
+ <&slv_sclk3>, | |||
+ <&slv_sclk4>, | |||
+ <&slv_sclk5>, | |||
+ <&slv_sclk6>, | |||
+ <&slv_sclk7>, | |||
+ <&slv_sclk8>, | |||
+ <&slv_sclk9>, | |||
+ <&slv_lrclk0>, | |||
+ <&slv_lrclk1>, | |||
+ <&slv_lrclk2>, | |||
+ <&slv_lrclk3>, | |||
+ <&slv_lrclk4>, | |||
+ <&slv_lrclk5>, | |||
+ <&slv_lrclk6>, | |||
+ <&slv_lrclk7>, | |||
+ <&slv_lrclk8>, | |||
+ <&slv_lrclk9>; | |||
+ clock-names = "pclk", | |||
+ "mst_in0", | |||
+ "mst_in1", | |||
+ "mst_in2", | |||
+ "mst_in3", | |||
+ "mst_in4", | |||
+ "mst_in5", | |||
+ "mst_in6", | |||
+ "mst_in7", | |||
+ "slv_sclk0", | |||
+ "slv_sclk1", | |||
+ "slv_sclk2", | |||
+ "slv_sclk3", | |||
+ "slv_sclk4", | |||
+ "slv_sclk5", | |||
+ "slv_sclk6", | |||
+ "slv_sclk7", | |||
+ "slv_sclk8", | |||
+ "slv_sclk9", | |||
+ "slv_lrclk0", | |||
+ "slv_lrclk1", | |||
+ "slv_lrclk2", | |||
+ "slv_lrclk3", | |||
+ "slv_lrclk4", | |||
+ "slv_lrclk5", | |||
+ "slv_lrclk6", | |||
+ "slv_lrclk7", | |||
+ "slv_lrclk8", | |||
+ "slv_lrclk9"; | |||
+ resets = <&reset RESET_AUDIO>; | |||
+ }; | |||
+ }; |
@@ -0,0 +1,120 @@ | |||
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |||
+# Copyright (C) 2022-2023 Amlogic, Inc. All rights reserved | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/clock/amlogic,c3-peripherals-clkc.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: Amlogic C3 series Peripheral Clock Controller | |||
+ | |||
+maintainers: | |||
+ - Neil Armstrong <neil.armstrong@linaro.org> | |||
+ - Jerome Brunet <jbrunet@baylibre.com> | |||
+ - Xianwei Zhao <xianwei.zhao@amlogic.com> | |||
+ - Chuan Liu <chuan.liu@amlogic.com> | |||
+ | |||
+properties: | |||
+ compatible: | |||
+ const: amlogic,c3-peripherals-clkc | |||
+ | |||
+ reg: | |||
+ maxItems: 1 | |||
+ | |||
+ clocks: | |||
+ minItems: 16 | |||
+ items: | |||
+ - description: input oscillator (usually at 24MHz) | |||
+ - description: input oscillators multiplexer | |||
+ - description: input fix pll | |||
+ - description: input fclk div 2 | |||
+ - description: input fclk div 2p5 | |||
+ - description: input fclk div 3 | |||
+ - description: input fclk div 4 | |||
+ - description: input fclk div 5 | |||
+ - description: input fclk div 7 | |||
+ - description: input gp0 pll | |||
+ - description: input gp1 pll | |||
+ - description: input hifi pll | |||
+ - description: input sys clk | |||
+ - description: input axi clk | |||
+ - description: input sys pll div 16 | |||
+ - description: input cpu clk div 16 | |||
+ - description: input pad clock for rtc clk (optional) | |||
+ | |||
+ clock-names: | |||
+ minItems: 16 | |||
+ items: | |||
+ - const: xtal_24m | |||
+ - const: oscin | |||
+ - const: fix | |||
+ - const: fdiv2 | |||
+ - const: fdiv2p5 | |||
+ - const: fdiv3 | |||
+ - const: fdiv4 | |||
+ - const: fdiv5 | |||
+ - const: fdiv7 | |||
+ - const: gp0 | |||
+ - const: gp1 | |||
+ - const: hifi | |||
+ - const: sysclk | |||
+ - const: axiclk | |||
+ - const: sysplldiv16 | |||
+ - const: cpudiv16 | |||
+ - const: pad_osc | |||
+ | |||
+ "#clock-cells": | |||
+ const: 1 | |||
+ | |||
+required: | |||
+ - compatible | |||
+ - reg | |||
+ - clocks | |||
+ - clock-names | |||
+ - "#clock-cells" | |||
+ | |||
+additionalProper | |||
+ | |||
+examples: | |||
+ - | | |||
+ apb { | |||
+ #address-cells = <2>; | |||
+ #size-cells = <2>; | |||
+ | |||
+ clock-controller@0 { | |||
+ compatible = "amlogic,c3-peripherals-clkc"; | |||
+ reg = <0x0 0x0 0x0 0x49c>; | |||
+ #clock-cells = <1>; | |||
+ clocks = <&xtal_24m>, | |||
+ <&scmi_clk 8>, | |||
+ <&scmi_clk 12>, | |||
+ <&clkc_pll 3>, | |||
+ <&clkc_pll 5>, | |||
+ <&clkc_pll 7>, | |||
+ <&clkc_pll 9>, | |||
+ <&clkc_pll 11>, | |||
+ <&clkc_pll 13>, | |||
+ <&clkc_pll 15>, | |||
+ <&scmi_clk 13>, | |||
+ <&clkc_pll 17>, | |||
+ <&scmi_clk 9>, | |||
+ <&scmi_clk 10>, | |||
+ <&scmi_clk 14>, | |||
+ <&scmi_clk 15>; | |||
+ clock-names = "xtal_24m", | |||
+ "oscin", | |||
+ "fix", | |||
+ "fdiv2", | |||
+ "fdiv2p5", | |||
+ "fdiv3", | |||
+ "fdiv4", | |||
+ "fdiv5", | |||
+ "fdiv7", | |||
+ "gp0", | |||
+ "gp1", | |||
+ "hifi", | |||
+ "sysclk", | |||
+ "axiclk", | |||
+ "sysplldiv16", | |||
+ "cpudiv16"; | |||
+ }; | |||
+ }; |
@@ -0,0 +1,62 @@ | |||
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |||
+# Copyright (C) 2022-2023 Amlogic, Inc. All rights reserved | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/clock/amlogic,c3-pll-clkc.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: Amlogic C3 series PLL Clock Controller | |||
+ | |||
+maintainers: | |||
+ - Neil Armstrong <neil.armstrong@linaro.org> | |||
+ - Jerome Brunet <jbrunet@baylibre.com> | |||
+ - Chuan Liu <chuan.liu@amlogic.com> | |||
+ - Xianwei Zhao <xianwei.zhao@amlogic.com> | |||
+ | |||
+properties: | |||
+ compatible: | |||
+ const: amlogic,c3-pll-clkc | |||
+ | |||
+ reg: | |||
+ maxItems: 1 | |||
+ | |||
+ clocks: | |||
+ items: | |||
+ - description: input top pll | |||
+ - description: input mclk pll | |||
+ - description: input fix pll | |||
+ | |||
+ clock-names: | |||
+ items: | |||
+ - const: top | |||
+ - const: mclk | |||
+ - const: fix | |||
+ | |||
+ "#clock-cells": | |||
+ const: 1 | |||
+ | |||
+required: | |||
+ - compatible | |||
+ - reg | |||
+ - clocks | |||
+ - clock-names | |||
+ - "#clock-cells" | |||
+ | |||
+additionalProper | |||
+ | |||
+examples: | |||
+ - | | |||
+ apb { | |||
+ #address-cells = <2>; | |||
+ #size-cells = <2>; | |||
+ | |||
+ clock-controller@8000 { | |||
+ compatible = "amlogic,c3-pll-clkc"; | |||
+ reg = <0x0 0x8000 0x0 0x1a4>; | |||
+ clocks = <&scmi_clk 2>, | |||
+ <&scmi_clk 5>, | |||
+ <&scmi_clk 12>; | |||
+ clock-names = "top", "mclk", "fix"; | |||
+ #clock-cells = <1>; | |||
+ }; | |||
+ }; |
@@ -42,6 +42,7 @@ properties: | |||
- atmel,sama5d3-pmc | - atmel,sama5d3-pmc | ||
- atmel,sama5d4-pmc | - atmel,sama5d4-pmc | ||
- microchip,sam9x6 | - microchip,sam9x6 | ||
+ - microchip,sam9x7 | |||
- microchip,sama7g | - microchip,sama7g | ||
- const: syscon | - const: syscon | ||
@@ -88,6 +89,7 @@ allOf: | |||
contains: | contains: | ||
enum: | enum: | ||
- microchip,sam9x6 | - microchip,sam9x6 | ||
+ - microchip,sam9x7 | |||
- microchip,sama7g | - microchip,sama7g | ||
then: | then: | ||
properties: | properties: |
@@ -18,7 +18,9 @@ properties: | |||
- atmel,sama5d4-sckc | - atmel,sama5d4-sckc | ||
- microchip,sam9x6 | - microchip,sam9x6 | ||
- items: | - items: | ||
- - const: microchip,sama7g | + - enum: | ||
+ - microchip,sam9x7 | |||
+ - microchip,sama7g | |||
- const: microchip,sam9x6 | - const: microchip,sam9x6 | ||
reg: | reg: |
@@ -134,9 +134,13 @@ properties: | |||
"#reset-cells": | "#reset-cells": | ||
const: 1 | const: 1 | ||
- clocks: | + clocks: | ||
+ minItems: 3 | |||
+ maxItems: 4 | |||
- clock-names: | + clock-names: | ||
+ minItems: 3 | |||
+ maxItems: 4 | |||
additionalProper | additionalProper | ||
@@ -67,9 +67,9 @@ properties: | |||
minItems: 1 | minItems: 1 | ||
maxItems: 19 | maxItems: 19 | ||
- clocks: | + clocks: | ||
- assigned-clocks: true | + minItems: 1 | ||
- assigned-clock-parents: true | + maxItems: 19 | ||
additionalProper | additionalProper | ||
@@ -11,6 +11,15 @@ maintainers: | |||
- Stephen Boyd <sboyd@kernel.org> | - Stephen Boyd <sboyd@kernel.org> | ||
properties: | properties: | ||
+ $nodename: | |||
+ anyOf: | |||
+ - description: | |||
+ Preferred name is 'clock-<freq>' with <freq> being the output | |||
+ frequency as defined in the 'clock-frequency' property. | |||
+ pattern: "^clock-([0-9]+|[a-z0-9-]+)$" | |||
+ - description: Any name allowed | |||
+ deprecated: true | |||
+ | |||
compatible: | compatible: | ||
const: fixed-clock | const: fixed-clock | ||
@@ -11,6 +11,15 @@ maintainers: | |||
- Stephen Boyd <sboyd@kernel.org> | - Stephen Boyd <sboyd@kernel.org> | ||
properties: | properties: | ||
+ $nodename: | |||
+ anyOf: | |||
+ - description: | |||
+ If the frequency is fixed, the preferred name is 'clock-<freq>' with | |||
+ <freq> being the output frequency. | |||
+ pattern: "^clock-([0-9]+|[0-9a-z-]+)$" | |||
+ - description: Any name allowed | |||
+ deprecated: true | |||
+ | |||
compatible: | compatible: | ||
enum: | enum: | ||
- fixed-factor-clock | - fixed-factor-clock |
@@ -0,0 +1,84 @@ | |||
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/clock/fsl,qoriq-clock-legacy.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: Legacy Clock Block on Freescale QorIQ Platforms | |||
+ | |||
+maintainers: | |||
+ - Frank Li <Frank.Li@nxp.com> | |||
+ | |||
+description: | | |||
+ These nodes are deprecated. Kernels should continue to support | |||
+ device trees with these nodes, but new device trees should not use them. | |||
+ | |||
+ Most of the bindings are from the common clock binding[1]. | |||
+ [1] Documentation/devicetree/bindings/clock/clock-bindings.txt | |||
+ | |||
+properties: | |||
+ compatible: | |||
+ enum: | |||
+ - fsl,qoriq-core-pll-1.0 | |||
+ - fsl,qoriq-core-pll-2.0 | |||
+ - fsl,qoriq-core-mux-1.0 | |||
+ - fsl,qoriq-core-mux-2.0 | |||
+ - fsl,qoriq-sysclk-1.0 | |||
+ - fsl,qoriq-sysclk-2.0 | |||
+ - fsl,qoriq-platform-pll-1.0 | |||
+ - fsl,qoriq-platform-pll-2.0 | |||
+ | |||
+ reg: | |||
+ maxItems: 1 | |||
+ | |||
+ clocks: | |||
+ minItems: 1 | |||
+ maxItems: 4 | |||
+ | |||
+ clock-names: | |||
+ minItems: 1 | |||
+ maxItems: 4 | |||
+ | |||
+ clock-output-names: | |||
+ minItems: 1 | |||
+ maxItems: 8 | |||
+ | |||
+ '#clock-cells': | |||
+ minimum: 0 | |||
+ maximum: 1 | |||
+ | |||
+required: | |||
+ - compatible | |||
+ - '#clock-cells' | |||
+ | |||
+additionalProper | |||
+ | |||
+allOf: | |||
+ - if: | |||
+ properties: | |||
+ compatible: | |||
+ contains: | |||
+ enum: | |||
+ - fsl,qoriq-sysclk-1.0 | |||
+ - fsl,qoriq-sysclk-2.0 | |||
+ then: | |||
+ properties: | |||
+ '#clock-cells': | |||
+ const: 0 | |||
+ | |||
+ - if: | |||
+ properties: | |||
+ compatible: | |||
+ contains: | |||
+ enum: | |||
+ - fsl,qoriq-core-pll-1.0 | |||
+ - fsl,qoriq-core-pll-2.0 | |||
+ then: | |||
+ properties: | |||
+ '#clock-cells': | |||
+ const: 1 | |||
+ description: | | |||
+ * 0 - equal to the PLL frequency | |||
+ * 1 - equal to the PLL frequency divided by 2 | |||
+ * 2 - equal to the PLL frequency divided by 4 | |||
+ |
@@ -0,0 +1,207 @@ | |||
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/clock/fsl,qoriq-clock.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: Clock Block on Freescale QorIQ Platforms | |||
+ | |||
+maintainers: | |||
+ - Frank Li <Frank.Li@nxp.com> | |||
+ | |||
+description: | | |||
+ Freescale QorIQ chips take primary clocking input from the external | |||
+ SYSCLK signal. The SYSCLK input (frequency) is multiplied using | |||
+ multiple phase locked loops (PLL) to create a variety of frequencies | |||
+ which can then be passed to a variety of internal logic, including | |||
+ cores and peripheral IP blocks. | |||
+ Please refer to the Reference Manual for details. | |||
+ | |||
+ All references to "1.0" and "2.0" refer to the QorIQ chassis version to | |||
+ which the chip complies. | |||
+ | |||
+ Chassis Version Example Chips | |||
+ --------------- ------------- | |||
+ 1.0 p4080, p5020, p5040 | |||
+ 2.0 t4240 | |||
+ | |||
+ Clock Provider | |||
+ | |||
+ The clockgen node should act as a clock provider, though in older device | |||
+ trees the children of the clockgen node are the clock providers. | |||
+ | |||
+properties: | |||
+ compatible: | |||
+ oneOf: | |||
+ - items: | |||
+ - enum: | |||
+ - fsl,p2041-clockgen | |||
+ - fsl,p3041-clockgen | |||
+ - fsl,p4080-clockgen | |||
+ - fsl,p5020-clockgen | |||
+ - fsl,p5040-clockgen | |||
+ - const: fsl,qoriq-clockgen-1.0 | |||
+ - items: | |||
+ - enum: | |||
+ - fsl,t1023-clockgen | |||
+ - fsl,t1024-clockgen | |||
+ - fsl,t1040-clockgen | |||
+ - fsl,t1042-clockgen | |||
+ - fsl,t2080-clockgen | |||
+ - fsl,t2081-clockgen | |||
+ - fsl,t4240-clockgen | |||
+ - const: fsl,qoriq-clockgen-2.0 | |||
+ - items: | |||
+ - enum: | |||
+ - fsl,b4420-clockgen | |||
+ - fsl,b4860-clockgen | |||
+ - const: fsl,b4-clockgen | |||
+ - items: | |||
+ - enum: | |||
+ - fsl,ls1012a-clockgen | |||
+ - fsl,ls1021a-clockgen | |||
+ - fsl,ls1028a-clockgen | |||
+ - fsl,ls1043a-clockgen | |||
+ - fsl,ls1046a-clockgen | |||
+ - fsl,ls1088a-clockgen | |||
+ - fsl,ls2080a-clockgen | |||
+ - fsl,lx2160a-clockgen | |||
+ | |||
+ reg: | |||
+ maxItems: 1 | |||
+ | |||
+ ranges: true | |||
+ | |||
+ '#address-cells': | |||
+ const: 1 | |||
+ | |||
+ '#size-cells': | |||
+ const: 1 | |||
+ | |||
+ '#clock-cells': | |||
+ const: 2 | |||
+ description: | | |||
+ The first cell of the clock specifier is the clock type, and the | |||
+ second cell is the clock index for the specified type. | |||
+ | |||
+ Type# Name Index Cell | |||
+ 0 sysclk must be 0 | |||
+ 1 cmux index (n in CLKCnCSR) | |||
+ 2 hwaccel index (n in CLKCGnHWACSR) | |||
+ 3 fman 0 for fm1, 1 for fm2 | |||
+ 4 platform pll n=pll/(n+1). For example, when n=1, | |||
+ that means output_freq=PLL_freq/2. | |||
+ 5 coreclk must be 0 | |||
+ | |||
+ clock-frequency: | |||
+ description: Input system clock frequency (SYSCLK) | |||
+ | |||
+ clocks: | |||
+ items: | |||
+ - description: | |||
+ sysclk may be provided as an input clock. Either clock-frequency | |||
+ or clocks must be provided. | |||
+ - description: | |||
+ A second input clock, called "coreclk", may be provided if | |||
+ core PLLs are based on a different input clock from the | |||
+ platform PLL. | |||
+ minItems: 1 | |||
+ | |||
+ clock-names: | |||
+ items: | |||
+ - const: sysclk | |||
+ - const: coreclk | |||
+ | |||
+patternPropertie | |||
+ '^mux[0-9]@[a-f0-9]+$': | |||
+ deprecated: true | |||
+ $ref: fsl,qoriq-clock-legacy.yaml | |||
+ | |||
+ '^sysclk(-[a-z0-9]+)?$': | |||
+ deprecated: true | |||
+ $ref: fsl,qoriq-clock-legacy.yaml | |||
+ | |||
+ '^pll[0-9]@[a-f0-9]+$': | |||
+ deprecated: true | |||
+ $ref: fsl,qoriq-clock-legacy.yaml | |||
+ | |||
+ '^platform\-pll@[a-f0-9]+$': | |||
+ deprecated: true | |||
+ $ref: fsl,qoriq-clock-legacy.yaml | |||
+ | |||
+required: | |||
+ - compatible | |||
+ - reg | |||
+ - '#clock-cells' | |||
+ | |||
+additionalProper | |||
+ | |||
+examples: | |||
+ - | | |||
+ /* clock provider example */ | |||
+ global-utilities@e1000 { | |||
+ compatible = "fsl,p5020-clockgen", "fsl,qoriq-clockgen-1.0"; | |||
+ reg = <0xe1000 0x1000>; | |||
+ clock-frequency = <133333333>; | |||
+ #clock-cells = <2>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ /* Legacy example */ | |||
+ global-utilities@e1000 { | |||
+ compatible = "fsl,p5020-clockgen", "fsl,qoriq-clockgen-1.0"; | |||
+ reg = <0xe1000 0x1000>; | |||
+ ranges = <0x0 0xe1000 0x1000>; | |||
+ clock-frequency = <133333333>; | |||
+ #address-cells = <1>; | |||
+ #size-cells = <1>; | |||
+ #clock-cells = <2>; | |||
+ | |||
+ sysclk: sysclk { | |||
+ compatible = "fsl,qoriq-sysclk-1.0"; | |||
+ clock-output-names = "sysclk"; | |||
+ #clock-cells = <0>; | |||
+ }; | |||
+ | |||
+ pll0: pll0@800 { | |||
+ compatible = "fsl,qoriq-core-pll-1.0"; | |||
+ reg = <0x800 0x4>; | |||
+ #clock-cells = <1>; | |||
+ clocks = <&sysclk>; | |||
+ clock-output-names = "pll0", "pll0-div2"; | |||
+ }; | |||
+ | |||
+ pll1: pll1@820 { | |||
+ compatible = "fsl,qoriq-core-pll-1.0"; | |||
+ reg = <0x820 0x4>; | |||
+ #clock-cells = <1>; | |||
+ clocks = <&sysclk>; | |||
+ clock-output-names = "pll1", "pll1-div2"; | |||
+ }; | |||
+ | |||
+ mux0: mux0@0 { | |||
+ compatible = "fsl,qoriq-core-mux-1.0"; | |||
+ reg = <0x0 0x4>; | |||
+ #clock-cells = <0>; | |||
+ clocks = <&pll0 0>, <&pll0 1>, <&pll1 0>, <&pll1 1>; | |||
+ clock-names = "pll0", "pll0-div2", "pll1", "pll1-div2"; | |||
+ clock-output-names = "cmux0"; | |||
+ }; | |||
+ | |||
+ mux1: mux1@20 { | |||
+ compatible = "fsl,qoriq-core-mux-1.0"; | |||
+ reg = <0x20 0x4>; | |||
+ #clock-cells = <0>; | |||
+ clocks = <&pll0 0>, <&pll0 1>, <&pll1 0>, <&pll1 1>; | |||
+ clock-names = "pll0", "pll0-div2", "pll1", "pll1-div2"; | |||
+ clock-output-names = "cmux1"; | |||
+ }; | |||
+ | |||
+ platform-pll@c00 { | |||
+ #clock-cells = <1>; | |||
+ reg = <0xc00 0x4>; | |||
+ compatible = "fsl,qoriq-platform-pll-1.0"; | |||
+ clocks = <&sysclk>; | |||
+ clock-output-names = "platform-pll", "platform-pll-div2"; | |||
+ }; | |||
+ }; |
@@ -30,14 +30,18 @@ properties: | |||
- google,gs101-cmu-top | - google,gs101-cmu-top | ||
- google,gs101-cmu-apm | - google,gs101-cmu-apm | ||
- google,gs101-cmu-misc | - google,gs101-cmu-misc | ||
+ - google,gs101-cmu-hsi0 | |||
+ - google,gs101-cmu-hsi2 | |||
+ - google,gs101-cmu-peric0 | |||
+ - google,gs101-cmu-peric1 | |||
clocks: | clocks: | ||
minItems: 1 | minItems: 1 | ||
- maxItems: | + maxItems: 5 | ||
clock-names: | clock-names: | ||
minItems: 1 | minItems: 1 | ||
- maxItems: | + maxItems: 5 | ||
"#clock-cells": | "#clock-cells": | ||
const: 1 | const: 1 | ||
@@ -70,6 +74,55 @@ allOf: | |||
items: | items: | ||
- const: oscclk | - const: oscclk | ||
+ - if: | |||
+ properties: | |||
+ compatible: | |||
+ contains: | |||
+ const: google,gs101-cmu-hsi0 | |||
+ | |||
+ then: | |||
+ properties: | |||
+ clocks: | |||
+ items: | |||
+ - description: External reference clock (24.576 MHz) | |||
+ - description: HSI0 bus clock (from CMU_TOP) | |||
+ - description: DPGTC (from CMU_TOP) | |||
+ - description: USB DRD controller clock (from CMU_TOP) | |||
+ - description: USB Display Port debug clock (from CMU_TOP) | |||
+ | |||
+ clock-names: | |||
+ items: | |||
+ - const: oscclk | |||
+ - const: bus | |||
+ - const: dpgtc | |||
+ - const: usb31drd | |||
+ - const: usbdpdbg | |||
+ | |||
+ - if: | |||
+ properties: | |||
+ compatible: | |||
+ contains: | |||
+ enum: | |||
+ - google,gs101-cmu-hsi2 | |||
+ | |||
+ then: | |||
+ properties: | |||
+ clocks: | |||
+ items: | |||
+ - description: External reference clock (24.576 MHz) | |||
+ - description: High Speed Interface bus clock (from CMU_TOP) | |||
+ - description: High Speed Interface pcie clock (from CMU_TOP) | |||
+ - description: High Speed Interface ufs clock (from CMU_TOP) | |||
+ - description: High Speed Interface mmc clock (from CMU_TOP) | |||
+ | |||
+ clock-names: | |||
+ items: | |||
+ - const: oscclk | |||
+ - const: bus | |||
+ - const: pcie | |||
+ - const: ufs | |||
+ - const: mmc | |||
+ | |||
- if: | - if: | ||
properties: | properties: | ||
compatible: | compatible: | ||
@@ -88,6 +141,28 @@ allOf: | |||
- const: bus | - const: bus | ||
- const: sss | - const: sss | ||
+ - if: | |||
+ properties: | |||
+ compatible: | |||
+ contains: | |||
+ enum: | |||
+ - google,gs101-cmu-peric0 | |||
+ - google,gs101-cmu-peric1 | |||
+ | |||
+ then: | |||
+ properties: | |||
+ clocks: | |||
+ items: | |||
+ - description: External reference clock (24.576 MHz) | |||
+ - description: Connectivity Peripheral 0/1 bus clock (from CMU_TOP) | |||
+ - description: Connectivity Peripheral 0/1 IP clock (from CMU_TOP) | |||
+ | |||
+ clock-names: | |||
+ items: | |||
+ - const: oscclk | |||
+ - const: bus | |||
+ - const: ip | |||
+ | |||
additionalProper | additionalProper | ||
examples: | examples: |
@@ -126,8 +126,6 @@ required: | |||
- compatible | - compatible | ||
- reg | - reg | ||
- '#clock-cells' | - '#clock-cells' | ||
- - idt,shutdown | |||
- - idt,output-enable-active | |||
allOf: | allOf: | ||
- if: | - if: |
@@ -7,7 +7,8 @@ $schema: http://devicetre | |||
title: Freescale i.MX6 Quad Clock Controller | title: Freescale i.MX6 Quad Clock Controller | ||
maintainers: | maintainers: | ||
- - Anson Huang <Anson.Huang@nxp.com> | + - Abel Vesa <abelvesa@kernel.org> | ||
+ - Peng Fan <peng.fan@nxp.com> | |||
properties: | properties: | ||
compatible: | compatible: |
@@ -7,7 +7,8 @@ $schema: http://devicetre | |||
title: Freescale i.MX6 SoloLite Clock Controller | title: Freescale i.MX6 SoloLite Clock Controller | ||
maintainers: | maintainers: | ||
- - Anson Huang <Anson.Huang@nxp.com> | + - Abel Vesa <abelvesa@kernel.org> | ||
+ - Peng Fan <peng.fan@nxp.com> | |||
properties: | properties: | ||
compatible: | compatible: |
@@ -7,7 +7,8 @@ $schema: http://devicetre | |||
title: Freescale i.MX6 SLL Clock Controller | title: Freescale i.MX6 SLL Clock Controller | ||
maintainers: | maintainers: | ||
- - Anson Huang <Anson.Huang@nxp.com> | + - Abel Vesa <abelvesa@kernel.org> | ||
+ - Peng Fan <peng.fan@nxp.com> | |||
properties: | properties: | ||
compatible: | compatible: |
@@ -7,7 +7,8 @@ $schema: http://devicetre | |||
title: Freescale i.MX6 SoloX Clock Controller | title: Freescale i.MX6 SoloX Clock Controller | ||
maintainers: | maintainers: | ||
- - Anson Huang <Anson.Huang@nxp.com> | + - Abel Vesa <abelvesa@kernel.org> | ||
+ - Peng Fan <peng.fan@nxp.com> | |||
properties: | properties: | ||
compatible: | compatible: |
@@ -7,7 +7,8 @@ $schema: http://devicetre | |||
title: Freescale i.MX6 UltraLite Clock Controller | title: Freescale i.MX6 UltraLite Clock Controller | ||
maintainers: | maintainers: | ||
- - Anson Huang <Anson.Huang@nxp.com> | + - Abel Vesa <abelvesa@kernel.org> | ||
+ - Peng Fan <peng.fan@nxp.com> | |||
properties: | properties: | ||
compatible: | compatible: |
@@ -8,7 +8,6 @@ title: Freescale i.MX7 Dual Clock Controller | |||
maintainers: | maintainers: | ||
- Frank Li <Frank.Li@nxp.com> | - Frank Li <Frank.Li@nxp.com> | ||
- - Anson Huang <Anson.Huang@nxp.com> | |||
description: | | description: | | ||
The clock consumer should specify the desired clock by having the clock | The clock consumer should specify the desired clock by having the clock |
@@ -7,7 +7,8 @@ $schema: http://devicetre | |||
title: NXP i.MX8M Family Clock Control Module | title: NXP i.MX8M Family Clock Control Module | ||
maintainers: | maintainers: | ||
- - Anson Huang <Anson.Huang@nxp.com> | + - Abel Vesa <abelvesa@kernel.org> | ||
+ - Peng Fan <peng.fan@nxp.com> | |||
description: | | description: | | ||
NXP i.MX8M Mini/Nano/Plus/Quad clock control module is an integrated clock | NXP i.MX8M Mini/Nano/Plus/Quad clock control module is an integrated clock |
@@ -44,6 +44,9 @@ properties: | |||
ID in its "clocks" phandle cell. See include/dt-bindings/clock/imx8mp-clock.h | ID in its "clocks" phandle cell. See include/dt-bindings/clock/imx8mp-clock.h | ||
for the full list of i.MX8MP IMX8MP_CLK_AUDIO | for the full list of i.MX8MP IMX8MP_CLK_AUDIO | ||
+ '#reset-cells': | |||
+ const: 1 | |||
+ | |||
required: | required: | ||
- compatible | - compatible | ||
- reg | - reg |
@@ -1,5 +1,3 @@ | |||
-Status: Unstable - ABI compatibility may be broken in the future | |||
- | |||
Binding for Keystone gate control driver which uses PSC controller IP. | Binding for Keystone gate control driver which uses PSC controller IP. | ||
This binding uses the common clock binding[1]. | This binding uses the common clock binding[1]. |
@@ -1,5 +1,3 @@ | |||
-Status: Unstable - ABI compatibility may be broken in the future | |||
- | |||
Binding for keystone PLLs. The main PLL IP typically has a multiplier, | Binding for keystone PLLs. The main PLL IP typically has a multiplier, | ||
a divider and a post divider. The additional PLL IPs like ARMPLL, DDRPLL | a divider and a post divider. The additional PLL IPs like ARMPLL, DDRPLL | ||
and PAPLL are controlled by the memory mapped register where as the Main | and PAPLL are controlled by the memory mapped register where as the Main |
@@ -16,7 +16,9 @@ description: | | |||
properties: | properties: | ||
compatible: | compatible: | ||
enum: | enum: | ||
- - loongson, | + - loongson,ls2k0500-clk | ||
+ - loongson,ls2k-clk # This is for Loongson-2K1000 | |||
+ - loongson,ls2k200 | |||
reg: | reg: | ||
maxItems: 1 | maxItems: 1 |
@@ -35,7 +35,7 @@ properties: | |||
- mediatek,mt2701-apmixedsys | - mediatek,mt2701-apmixedsys | ||
- mediatek,mt2712-apmixedsys | - mediatek,mt2712-apmixedsys | ||
- mediatek,mt6765-apmixedsys | - mediatek,mt6765-apmixedsys | ||
- - mediatek,mt6779- | + - mediatek,mt6779-apmixed | ||
- mediatek,mt6795-apmixedsys | - mediatek,mt6795-apmixedsys | ||
- mediatek,mt7629-apmixedsys | - mediatek,mt7629-apmixedsys | ||
- mediatek,mt8167-apmixedsys | - mediatek,mt8167-apmixedsys |
@@ -0,0 +1,85 @@ | |||
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/clock/mediatek,infracf | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: MediaTek Infrastructure System Configuration Controller | |||
+ | |||
+maintainers: | |||
+ - Matthias Brugger <matthias.bgg@gmail.com> | |||
+ | |||
+description: | |||
+ The Mediatek infracfg controller provides various clocks and reset outputs | |||
+ to the system. The clock values can be found in <dt-bindings/clock/mt*-clk.h>, | |||
+ and reset values in <dt-bindings/reset/mt*-reset.h> and | |||
+ <dt-bindings/reset/mt*-resets.h>. | |||
+ | |||
+properties: | |||
+ compatible: | |||
+ oneOf: | |||
+ - items: | |||
+ - enum: | |||
+ - mediatek,mt2701-infracfg | |||
+ - mediatek,mt2712-infracfg | |||
+ - mediatek,mt6765-infracfg | |||
+ - mediatek,mt6795-infracfg | |||
+ - mediatek,mt6779-infracfg_ao | |||
+ - mediatek,mt6797-infracfg | |||
+ - mediatek,mt7622-infracfg | |||
+ - mediatek,mt7629-infracfg | |||
+ - mediatek,mt7981-infracfg | |||
+ - mediatek,mt7986-infracfg | |||
+ - mediatek,mt7988-infracfg | |||
+ - mediatek,mt8135-infracfg | |||
+ - mediatek,mt8167-infracfg | |||
+ - mediatek,mt8173-infracfg | |||
+ - mediatek,mt8183-infracfg | |||
+ - mediatek,mt8516-infracfg | |||
+ - const: syscon | |||
+ - items: | |||
+ - const: mediatek,mt7623-infracfg | |||
+ - const: mediatek,mt2701-infracfg | |||
+ - const: syscon | |||
+ | |||
+ reg: | |||
+ maxItems: 1 | |||
+ | |||
+ '#clock-cells': | |||
+ const: 1 | |||
+ | |||
+ '#reset-cells': | |||
+ const: 1 | |||
+ | |||
+required: | |||
+ - compatible | |||
+ - reg | |||
+ - '#clock-cells' | |||
+ | |||
+if: | |||
+ properties: | |||
+ compatible: | |||
+ contains: | |||
+ enum: | |||
+ - mediatek,mt2701-infracfg | |||
+ - mediatek,mt2712-infracfg | |||
+ - mediatek,mt6795-infracfg | |||
+ - mediatek,mt7622-infracfg | |||
+ - mediatek,mt7986-infracfg | |||
+ - mediatek,mt8135-infracfg | |||
+ - mediatek,mt8173-infracfg | |||
+ - mediatek,mt8183-infracfg | |||
+then: | |||
+ required: | |||
+ - '#reset-cells' | |||
+ | |||
+additionalProper | |||
+ | |||
+examples: | |||
+ - | | |||
+ infracfg: clock-controller@10001000 { | |||
+ compatible = "mediatek,mt8173-infracfg", "syscon"; | |||
+ reg = <0x10001000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ #reset-cells = <1>; | |||
+ }; |
@@ -0,0 +1,50 @@ | |||
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/clock/mediatek,mt2701-hifsys.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: MediaTek HIFSYS clock and reset controller | |||
+ | |||
+description: | |||
+ The MediaTek HIFSYS controller provides various clocks and reset outputs to | |||
+ the system. | |||
+ | |||
+maintainers: | |||
+ - Matthias Brugger <matthias.bgg@gmail.com> | |||
+ | |||
+properties: | |||
+ compatible: | |||
+ oneOf: | |||
+ - enum: | |||
+ - mediatek,mt2701-hifsys | |||
+ - mediatek,mt7622-hifsys | |||
+ - items: | |||
+ - enum: | |||
+ - mediatek,mt7623-hifsys | |||
+ - const: mediatek,mt2701-hifsys | |||
+ | |||
+ reg: | |||
+ maxItems: 1 | |||
+ | |||
+ "#clock-cells": | |||
+ const: 1 | |||
+ description: The available clocks are defined in dt-bindings/clock/mt*-clk.h | |||
+ | |||
+ "#reset-cells": | |||
+ const: 1 | |||
+ | |||
+required: | |||
+ - reg | |||
+ - "#clock-cells" | |||
+ | |||
+additionalProper | |||
+ | |||
+examples: | |||
+ - | | |||
+ clock-controller@1a000000 { | |||
+ compatible = "mediatek,mt2701-hifsys"; | |||
+ reg = <0x1a000000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ #reset-cells = <1>; | |||
+ }; |
@@ -0,0 +1,47 @@ | |||
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/clock/mediatek,mt7622-pciesys.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: MediaTek PCIESYS clock and reset controller | |||
+ | |||
+description: | |||
+ The MediaTek PCIESYS controller provides various clocks to the system. | |||
+ | |||
+maintainers: | |||
+ - Matthias Brugger <matthias.bgg@gmail.com> | |||
+ | |||
+properties: | |||
+ compatible: | |||
+ oneOf: | |||
+ - items: | |||
+ - const: mediatek,mt7622-pciesys | |||
+ - const: syscon | |||
+ - const: mediatek,mt7629-pciesys | |||
+ | |||
+ reg: | |||
+ maxItems: 1 | |||
+ | |||
+ "#clock-cells": | |||
+ const: 1 | |||
+ description: The available clocks are defined in dt-bindings/clock/mt*-clk.h | |||
+ | |||
+ "#reset-cells": | |||
+ const: 1 | |||
+ | |||
+required: | |||
+ - reg | |||
+ - "#clock-cells" | |||
+ - "#reset-cells" | |||
+ | |||
+additionalProper | |||
+ | |||
+examples: | |||
+ - | | |||
+ clock-controller@1a100800 { | |||
+ compatible = "mediatek,mt7622-pciesys", "syscon"; | |||
+ reg = <0x1a100800 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ #reset-cells = <1>; | |||
+ }; |
@@ -0,0 +1,45 @@ | |||
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/clock/mediatek,mt7622-ssusbsys.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: MediaTek SSUSBSYS clock and reset controller | |||
+ | |||
+description: | |||
+ The MediaTek SSUSBSYS controller provides various clocks to the system. | |||
+ | |||
+maintainers: | |||
+ - Matthias Brugger <matthias.bgg@gmail.com> | |||
+ | |||
+properties: | |||
+ compatible: | |||
+ enum: | |||
+ - mediatek,mt7622-ssusbsys | |||
+ - mediatek,mt7629-ssusbsys | |||
+ | |||
+ reg: | |||
+ maxItems: 1 | |||
+ | |||
+ "#clock-cells": | |||
+ const: 1 | |||
+ description: The available clocks are defined in dt-bindings/clock/mt*-clk.h | |||
+ | |||
+ "#reset-cells": | |||
+ const: 1 | |||
+ | |||
+required: | |||
+ - reg | |||
+ - "#clock-cells" | |||
+ - "#reset-cells" | |||
+ | |||
+additionalProper | |||
+ | |||
+examples: | |||
+ - | | |||
+ clock-controller@1a000000 { | |||
+ compatible = "mediatek,mt7622-ssusbsys"; | |||
+ reg = <0x1a000000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ #reset-cells = <1>; | |||
+ }; |
@@ -0,0 +1,56 @@ | |||
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/clock/mediatek,mt8186-clock.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: MediaTek Functional Clock Controller for MT8186 | |||
+ | |||
+maintainers: | |||
+ - Chun-Jie Chen <chun-jie.chen@mediatek.com> | |||
+ | |||
+description: | | |||
+ The clock architecture in MediaTek like below | |||
+ PLLs --> | |||
+ dividers --> | |||
+ muxes | |||
+ --> | |||
+ clock gate | |||
+ | |||
+ The devices provide clock gate control in different IP blocks. | |||
+ | |||
+properties: | |||
+ compatible: | |||
+ items: | |||
+ - enum: | |||
+ - mediatek,mt8186-imp_iic_wrap | |||
+ - mediatek,mt8186-mfgsys | |||
+ - mediatek,mt8186-wpesys | |||
+ - mediatek,mt8186-imgsys1 | |||
+ - mediatek,mt8186-imgsys2 | |||
+ - mediatek,mt8186-vdecsys | |||
+ - mediatek,mt8186-vencsys | |||
+ - mediatek,mt8186-camsys | |||
+ - mediatek,mt8186-camsys_rawa | |||
+ - mediatek,mt8186-camsys_rawb | |||
+ - mediatek,mt8186-mdpsys | |||
+ - mediatek,mt8186-ipesys | |||
+ reg: | |||
+ maxItems: 1 | |||
+ | |||
+ '#clock-cells': | |||
+ const: 1 | |||
+ | |||
+required: | |||
+ - compatible | |||
+ - reg | |||
+ | |||
+additionalProper | |||
+ | |||
+examples: | |||
+ - | | |||
+ imp_iic_wrap: clock-controller@11017000 { | |||
+ compatible = "mediatek,mt8186-imp_iic_wrap"; | |||
+ reg = <0x11017000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; |
@@ -0,0 +1,57 @@ | |||
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/clock/mediatek,mt8186-sys-clock.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: MediaTek System Clock Controller for MT8186 | |||
+ | |||
+maintainers: | |||
+ - Chun-Jie Chen <chun-jie.chen@mediatek.com> | |||
+ | |||
+description: | | |||
+ The clock architecture in MediaTek like below | |||
+ PLLs --> | |||
+ dividers --> | |||
+ muxes | |||
+ --> | |||
+ clock gate | |||
+ | |||
+ The apmixedsys provides most of PLLs which generated from SoC 26m. | |||
+ The topckgen provides dividers and muxes which provide the clock source to other IP blocks. | |||
+ The infracfg_ao provides clock gate in peripheral and infrastructure IP blocks. | |||
+ The mcusys provides mux control to select the clock source in AP MCU. | |||
+ The device nodes also provide the system control capacity for configuration. | |||
+ | |||
+properties: | |||
+ compatible: | |||
+ items: | |||
+ - enum: | |||
+ - mediatek,mt8186-mcusys | |||
+ - mediatek,mt8186-topckgen | |||
+ - mediatek,mt8186-infracfg_ao | |||
+ - mediatek,mt8186-apmixedsys | |||
+ - const: syscon | |||
+ | |||
+ reg: | |||
+ maxItems: 1 | |||
+ | |||
+ '#clock-cells': | |||
+ const: 1 | |||
+ | |||
+ '#reset-cells': | |||
+ const: 1 | |||
+ | |||
+required: | |||
+ - compatible | |||
+ - reg | |||
+ | |||
+additionalProper | |||
+ | |||
+examples: | |||
+ - | | |||
+ topckgen: syscon@10000000 { | |||
+ compatible = "mediatek,mt8186-topckgen", "syscon"; | |||
+ reg = <0x10000000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; |
@@ -39,6 +39,9 @@ properties: | |||
'#clock-cells': | '#clock-cells': | ||
const: 1 | const: 1 | ||
+ '#reset-cells': | |||
+ const: 1 | |||
+ | |||
required: | required: | ||
- compatible | - compatible | ||
- reg | - reg |
@@ -0,0 +1,191 @@ | |||
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/clock/mediatek,mt8192-clock.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: MediaTek Functional Clock Controller for MT8192 | |||
+ | |||
+maintainers: | |||
+ - Chun-Jie Chen <chun-jie.chen@mediatek.com> | |||
+ | |||
+description: | |||
+ The Mediatek functional clock controller provides various clocks on MT8192. | |||
+ | |||
+properties: | |||
+ compatible: | |||
+ items: | |||
+ - enum: | |||
+ - mediatek,mt8192-scp_adsp | |||
+ - mediatek,mt8192-imp_iic_wrap_c | |||
+ - mediatek,mt8192-imp_iic_wrap_e | |||
+ - mediatek,mt8192-imp_iic_wrap_s | |||
+ - mediatek,mt8192-imp_iic_wrap_ws | |||
+ - mediatek,mt8192-imp_iic_wrap_w | |||
+ - mediatek,mt8192-imp_iic_wrap_n | |||
+ - mediatek,mt8192-msdc_top | |||
+ - mediatek,mt8192-mfgcfg | |||
+ - mediatek,mt8192-imgsys | |||
+ - mediatek,mt8192-imgsys2 | |||
+ - mediatek,mt8192-vdecsys_soc | |||
+ - mediatek,mt8192-vdecsys | |||
+ - mediatek,mt8192-vencsys | |||
+ - mediatek,mt8192-camsys | |||
+ - mediatek,mt8192-camsys_rawa | |||
+ - mediatek,mt8192-camsys_rawb | |||
+ - mediatek,mt8192-camsys_rawc | |||
+ - mediatek,mt8192-ipesys | |||
+ - mediatek,mt8192-mdpsys | |||
+ | |||
+ reg: | |||
+ maxItems: 1 | |||
+ | |||
+ '#clock-cells': | |||
+ const: 1 | |||
+ | |||
+required: | |||
+ - compatible | |||
+ - reg | |||
+ | |||
+additionalProper | |||
+ | |||
+examples: | |||
+ - | | |||
+ scp_adsp: clock-controller@10720000 { | |||
+ compatible = "mediatek,mt8192-scp_adsp"; | |||
+ reg = <0x10720000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ imp_iic_wrap_c: clock-controller@11007000 { | |||
+ compatible = "mediatek,mt8192-imp_iic_wrap_c"; | |||
+ reg = <0x11007000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ imp_iic_wrap_e: clock-controller@11cb1000 { | |||
+ compatible = "mediatek,mt8192-imp_iic_wrap_e"; | |||
+ reg = <0x11cb1000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ imp_iic_wrap_s: clock-controller@11d03000 { | |||
+ compatible = "mediatek,mt8192-imp_iic_wrap_s"; | |||
+ reg = <0x11d03000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ imp_iic_wrap_ws: clock-controller@11d23000 { | |||
+ compatible = "mediatek,mt8192-imp_iic_wrap_ws"; | |||
+ reg = <0x11d23000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ imp_iic_wrap_w: clock-controller@11e01000 { | |||
+ compatible = "mediatek,mt8192-imp_iic_wrap_w"; | |||
+ reg = <0x11e01000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ imp_iic_wrap_n: clock-controller@11f02000 { | |||
+ compatible = "mediatek,mt8192-imp_iic_wrap_n"; | |||
+ reg = <0x11f02000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ msdc_top: clock-controller@11f10000 { | |||
+ compatible = "mediatek,mt8192-msdc_top"; | |||
+ reg = <0x11f10000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ mfgcfg: clock-controller@13fbf000 { | |||
+ compatible = "mediatek,mt8192-mfgcfg"; | |||
+ reg = <0x13fbf000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ imgsys: clock-controller@15020000 { | |||
+ compatible = "mediatek,mt8192-imgsys"; | |||
+ reg = <0x15020000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ imgsys2: clock-controller@15820000 { | |||
+ compatible = "mediatek,mt8192-imgsys2"; | |||
+ reg = <0x15820000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ vdecsys_soc: clock-controller@1600f000 { | |||
+ compatible = "mediatek,mt8192-vdecsys_soc"; | |||
+ reg = <0x1600f000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ vdecsys: clock-controller@1602f000 { | |||
+ compatible = "mediatek,mt8192-vdecsys"; | |||
+ reg = <0x1602f000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ vencsys: clock-controller@17000000 { | |||
+ compatible = "mediatek,mt8192-vencsys"; | |||
+ reg = <0x17000000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ camsys: clock-controller@1a000000 { | |||
+ compatible = "mediatek,mt8192-camsys"; | |||
+ reg = <0x1a000000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ camsys_rawa: clock-controller@1a04f000 { | |||
+ compatible = "mediatek,mt8192-camsys_rawa"; | |||
+ reg = <0x1a04f000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ camsys_rawb: clock-controller@1a06f000 { | |||
+ compatible = "mediatek,mt8192-camsys_rawb"; | |||
+ reg = <0x1a06f000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ camsys_rawc: clock-controller@1a08f000 { | |||
+ compatible = "mediatek,mt8192-camsys_rawc"; | |||
+ reg = <0x1a08f000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ ipesys: clock-controller@1b000000 { | |||
+ compatible = "mediatek,mt8192-ipesys"; | |||
+ reg = <0x1b000000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ mdpsys: clock-controller@1f000000 { | |||
+ compatible = "mediatek,mt8192-mdpsys"; | |||
+ reg = <0x1f000000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; |
@@ -0,0 +1,68 @@ | |||
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/clock/mediatek,mt8192-sys-clock.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: MediaTek System Clock Controller for MT8192 | |||
+ | |||
+maintainers: | |||
+ - Chun-Jie Chen <chun-jie.chen@mediatek.com> | |||
+ | |||
+description: | |||
+ The Mediatek system clock controller provides various clocks and system configuration | |||
+ like reset and bus protection on MT8192. | |||
+ | |||
+properties: | |||
+ compatible: | |||
+ items: | |||
+ - enum: | |||
+ - mediatek,mt8192-topckgen | |||
+ - mediatek,mt8192-infracfg | |||
+ - mediatek,mt8192-pericfg | |||
+ - mediatek,mt8192-apmixedsys | |||
+ - const: syscon | |||
+ | |||
+ reg: | |||
+ maxItems: 1 | |||
+ | |||
+ '#clock-cells': | |||
+ const: 1 | |||
+ | |||
+ '#reset-cells': | |||
+ const: 1 | |||
+ | |||
+required: | |||
+ - compatible | |||
+ - reg | |||
+ | |||
+additionalProper | |||
+ | |||
+examples: | |||
+ - | | |||
+ topckgen: syscon@10000000 { | |||
+ compatible = "mediatek,mt8192-topckgen", "syscon"; | |||
+ reg = <0x10000000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ infracfg: syscon@10001000 { | |||
+ compatible = "mediatek,mt8192-infracfg", "syscon"; | |||
+ reg = <0x10001000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ pericfg: syscon@10003000 { | |||
+ compatible = "mediatek,mt8192-pericfg", "syscon"; | |||
+ reg = <0x10003000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ apmixedsys: syscon@1000c000 { | |||
+ compatible = "mediatek,mt8192-apmixedsys", "syscon"; | |||
+ reg = <0x1000c000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; |
@@ -0,0 +1,238 @@ | |||
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/clock/mediatek,mt8195-clock.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: MediaTek Functional Clock Controller for MT8195 | |||
+ | |||
+maintainers: | |||
+ - Chun-Jie Chen <chun-jie.chen@mediatek.com> | |||
+ | |||
+description: | |||
+ The clock architecture in Mediatek like below | |||
+ PLLs --> | |||
+ dividers --> | |||
+ muxes | |||
+ --> | |||
+ clock gate | |||
+ | |||
+ The devices except apusys_pll provide clock gate control in different IP blocks. | |||
+ The apusys_pll provides Plls which generated from SoC 26m for AI Processing Unit. | |||
+ | |||
+properties: | |||
+ compatible: | |||
+ items: | |||
+ - enum: | |||
+ - mediatek,mt8195-scp_adsp | |||
+ - mediatek,mt8195-imp_iic_wrap_s | |||
+ - mediatek,mt8195-imp_iic_wrap_w | |||
+ - mediatek,mt8195-mfgcfg | |||
+ - mediatek,mt8195-wpesys | |||
+ - mediatek,mt8195-wpesys_vpp0 | |||
+ - mediatek,mt8195-wpesys_vpp1 | |||
+ - mediatek,mt8195-imgsys | |||
+ - mediatek,mt8195-imgsys1_dip_top | |||
+ - mediatek,mt8195-imgsys1_dip_nr | |||
+ - mediatek,mt8195-imgsys1_wpe | |||
+ - mediatek,mt8195-ipesys | |||
+ - mediatek,mt8195-camsys | |||
+ - mediatek,mt8195-camsys_rawa | |||
+ - mediatek,mt8195-camsys_yuva | |||
+ - mediatek,mt8195-camsys_rawb | |||
+ - mediatek,mt8195-camsys_yuvb | |||
+ - mediatek,mt8195-camsys_mraw | |||
+ - mediatek,mt8195-ccusys | |||
+ - mediatek,mt8195-vdecsys_soc | |||
+ - mediatek,mt8195-vdecsys | |||
+ - mediatek,mt8195-vdecsys_core1 | |||
+ - mediatek,mt8195-vencsys | |||
+ - mediatek,mt8195-vencsys_core1 | |||
+ - mediatek,mt8195-apusys_pll | |||
+ reg: | |||
+ maxItems: 1 | |||
+ | |||
+ '#clock-cells': | |||
+ const: 1 | |||
+ | |||
+required: | |||
+ - compatible | |||
+ - reg | |||
+ | |||
+additionalProper | |||
+ | |||
+examples: | |||
+ - | | |||
+ scp_adsp: clock-controller@10720000 { | |||
+ compatible = "mediatek,mt8195-scp_adsp"; | |||
+ reg = <0x10720000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ imp_iic_wrap_s: clock-controller@11d03000 { | |||
+ compatible = "mediatek,mt8195-imp_iic_wrap_s"; | |||
+ reg = <0x11d03000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ imp_iic_wrap_w: clock-controller@11e05000 { | |||
+ compatible = "mediatek,mt8195-imp_iic_wrap_w"; | |||
+ reg = <0x11e05000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ mfgcfg: clock-controller@13fbf000 { | |||
+ compatible = "mediatek,mt8195-mfgcfg"; | |||
+ reg = <0x13fbf000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ wpesys: clock-controller@14e00000 { | |||
+ compatible = "mediatek,mt8195-wpesys"; | |||
+ reg = <0x14e00000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ wpesys_vpp0: clock-controller@14e02000 { | |||
+ compatible = "mediatek,mt8195-wpesys_vpp0"; | |||
+ reg = <0x14e02000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ wpesys_vpp1: clock-controller@14e03000 { | |||
+ compatible = "mediatek,mt8195-wpesys_vpp1"; | |||
+ reg = <0x14e03000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ imgsys: clock-controller@15000000 { | |||
+ compatible = "mediatek,mt8195-imgsys"; | |||
+ reg = <0x15000000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ imgsys1_dip_top: clock-controller@15110000 { | |||
+ compatible = "mediatek,mt8195-imgsys1_dip_top"; | |||
+ reg = <0x15110000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ imgsys1_dip_nr: clock-controller@15130000 { | |||
+ compatible = "mediatek,mt8195-imgsys1_dip_nr"; | |||
+ reg = <0x15130000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ imgsys1_wpe: clock-controller@15220000 { | |||
+ compatible = "mediatek,mt8195-imgsys1_wpe"; | |||
+ reg = <0x15220000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ ipesys: clock-controller@15330000 { | |||
+ compatible = "mediatek,mt8195-ipesys"; | |||
+ reg = <0x15330000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ camsys: clock-controller@16000000 { | |||
+ compatible = "mediatek,mt8195-camsys"; | |||
+ reg = <0x16000000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ camsys_rawa: clock-controller@1604f000 { | |||
+ compatible = "mediatek,mt8195-camsys_rawa"; | |||
+ reg = <0x1604f000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ camsys_yuva: clock-controller@1606f000 { | |||
+ compatible = "mediatek,mt8195-camsys_yuva"; | |||
+ reg = <0x1606f000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ camsys_rawb: clock-controller@1608f000 { | |||
+ compatible = "mediatek,mt8195-camsys_rawb"; | |||
+ reg = <0x1608f000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ camsys_yuvb: clock-controller@160af000 { | |||
+ compatible = "mediatek,mt8195-camsys_yuvb"; | |||
+ reg = <0x160af000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ camsys_mraw: clock-controller@16140000 { | |||
+ compatible = "mediatek,mt8195-camsys_mraw"; | |||
+ reg = <0x16140000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ ccusys: clock-controller@17200000 { | |||
+ compatible = "mediatek,mt8195-ccusys"; | |||
+ reg = <0x17200000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ vdecsys_soc: clock-controller@1800f000 { | |||
+ compatible = "mediatek,mt8195-vdecsys_soc"; | |||
+ reg = <0x1800f000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ vdecsys: clock-controller@1802f000 { | |||
+ compatible = "mediatek,mt8195-vdecsys"; | |||
+ reg = <0x1802f000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ vdecsys_core1: clock-controller@1803f000 { | |||
+ compatible = "mediatek,mt8195-vdecsys_core1"; | |||
+ reg = <0x1803f000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ vencsys: clock-controller@1a000000 { | |||
+ compatible = "mediatek,mt8195-vencsys"; | |||
+ reg = <0x1a000000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ vencsys_core1: clock-controller@1b000000 { | |||
+ compatible = "mediatek,mt8195-vencsys_core1"; | |||
+ reg = <0x1b000000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ apusys_pll: clock-controller@190f3000 { | |||
+ compatible = "mediatek,mt8195-apusys_pll"; | |||
+ reg = <0x190f3000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; |
@@ -0,0 +1,76 @@ | |||
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/clock/mediatek,mt8195-sys-clock.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: MediaTek System Clock Controller for MT8195 | |||
+ | |||
+maintainers: | |||
+ - Chun-Jie Chen <chun-jie.chen@mediatek.com> | |||
+ | |||
+description: | |||
+ The clock architecture in Mediatek like below | |||
+ PLLs --> | |||
+ dividers --> | |||
+ muxes | |||
+ --> | |||
+ clock gate | |||
+ | |||
+ The apmixedsys provides most of PLLs which generated from SoC 26m. | |||
+ The topckgen provides dividers and muxes which provide the clock source to other IP blocks. | |||
+ The infracfg_ao and pericfg_ao provides clock gate in peripheral and infrastructure IP blocks. | |||
+ | |||
+properties: | |||
+ compatible: | |||
+ items: | |||
+ - enum: | |||
+ - mediatek,mt8195-topckgen | |||
+ - mediatek,mt8195-infracfg_ao | |||
+ - mediatek,mt8195-apmixedsys | |||
+ - mediatek,mt8195-pericfg_ao | |||
+ - const: syscon | |||
+ | |||
+ reg: | |||
+ maxItems: 1 | |||
+ | |||
+ '#clock-cells': | |||
+ const: 1 | |||
+ | |||
+ '#reset-cells': | |||
+ const: 1 | |||
+ | |||
+required: | |||
+ - compatible | |||
+ - reg | |||
+ | |||
+additionalProper | |||
+ | |||
+examples: | |||
+ - | | |||
+ topckgen: syscon@10000000 { | |||
+ compatible = "mediatek,mt8195-topckgen", "syscon"; | |||
+ reg = <0x10000000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ infracfg_ao: syscon@10001000 { | |||
+ compatible = "mediatek,mt8195-infracfg_ao", "syscon"; | |||
+ reg = <0x10001000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ apmixedsys: syscon@1000c000 { | |||
+ compatible = "mediatek,mt8195-apmixedsys", "syscon"; | |||
+ reg = <0x1000c000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ pericfg_ao: syscon@11003000 { | |||
+ compatible = "mediatek,mt8195-pericfg_ao", "syscon"; | |||
+ reg = <0x11003000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ }; |
@@ -0,0 +1,71 @@ | |||
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/clock/mediatek,pericfg | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: MediaTek Peripheral Configuration Controller | |||
+ | |||
+maintainers: | |||
+ - Bartosz Golaszewski <bgolaszewski@baylibre.com> | |||
+ | |||
+description: | |||
+ The Mediatek pericfg controller provides various clocks and reset outputs | |||
+ to the system. | |||
+ | |||
+properties: | |||
+ compatible: | |||
+ oneOf: | |||
+ - items: | |||
+ - enum: | |||
+ - mediatek,mt2701-pericfg | |||
+ - mediatek,mt2712-pericfg | |||
+ - mediatek,mt6765-pericfg | |||
+ - mediatek,mt6795-pericfg | |||
+ - mediatek,mt7622-pericfg | |||
+ - mediatek,mt7629-pericfg | |||
+ - mediatek,mt8135-pericfg | |||
+ - mediatek,mt8173-pericfg | |||
+ - mediatek,mt8183-pericfg | |||
+ - mediatek,mt8186-pericfg | |||
+ - mediatek,mt8188-pericfg | |||
+ - mediatek,mt8195-pericfg | |||
+ - mediatek,mt8516-pericfg | |||
+ - const: syscon | |||
+ - items: | |||
+ # Special case for mt7623 for backward compatibility | |||
+ - const: mediatek,mt7623-pericfg | |||
+ - const: mediatek,mt2701-pericfg | |||
+ - const: syscon | |||
+ | |||
+ reg: | |||
+ maxItems: 1 | |||
+ | |||
+ '#clock-cells': | |||
+ const: 1 | |||
+ | |||
+ '#reset-cells': | |||
+ const: 1 | |||
+ | |||
+required: | |||
+ - compatible | |||
+ - reg | |||
+ | |||
+additionalProper | |||
+ | |||
+examples: | |||
+ - | | |||
+ pericfg@10003000 { | |||
+ compatible = "mediatek,mt8173-pericfg", "syscon"; | |||
+ reg = <0x10003000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ #reset-cells = <1>; | |||
+ }; | |||
+ | |||
+ - | | |||
+ pericfg@10003000 { | |||
+ compatible = "mediatek,mt7623-pericfg", "mediatek,mt2701-pericfg", "syscon"; | |||
+ reg = <0x10003000 0x1000>; | |||
+ #clock-cells = <1>; | |||
+ #reset-cells = <1>; | |||
+ }; |
@@ -0,0 +1,93 @@ | |||
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/clock/mediatek,syscon.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: MediaTek Clock controller syscon's | |||
+ | |||
+maintainers: | |||
+ - Matthias Brugger <matthias.bgg@gmail.com> | |||
+ - AngeloGioacchino | |||
+ | |||
+description: | |||
+ The MediaTek clock controller syscon's provide various clocks to the system. | |||
+ | |||
+properties: | |||
+ compatible: | |||
+ oneOf: | |||
+ - items: | |||
+ - enum: | |||
+ - mediatek,mt2701-bdpsys | |||
+ - mediatek,mt2701-imgsys | |||
+ - mediatek,mt2701-vdecsys | |||
+ - mediatek,mt2712-bdpsys | |||
+ - mediatek,mt2712-imgsys | |||
+ - mediatek,mt2712-jpgdecsys | |||
+ - mediatek,mt2712-mcucfg | |||
+ - mediatek,mt2712-mfgcfg | |||
+ - mediatek,mt2712-vdecsys | |||
+ - mediatek,mt2712-vencsys | |||
+ - mediatek,mt6765-camsys | |||
+ - mediatek,mt6765-imgsys | |||
+ - mediatek,mt6765-mipi0a | |||
+ - mediatek,mt6765-vcodecsys | |||
+ - mediatek,mt6779-camsys | |||
+ - mediatek,mt6779-imgsys | |||
+ - mediatek,mt6779-ipesys | |||
+ - mediatek,mt6779-mfgcfg | |||
+ - mediatek,mt6779-vdecsys | |||
+ - mediatek,mt6779-vencsys | |||
+ - mediatek,mt6797-imgsys | |||
+ - mediatek,mt6797-vdecsys | |||
+ - mediatek,mt6797-vencsys | |||
+ - mediatek,mt8167-imgsys | |||
+ - mediatek,mt8167-mfgcfg | |||
+ - mediatek,mt8167-vdecsys | |||
+ - mediatek,mt8173-imgsys | |||
+ - mediatek,mt8173-vdecsys | |||
+ - mediatek,mt8173-vencltsys | |||
+ - mediatek,mt8173-vencsys | |||
+ - mediatek,mt8183-camsys | |||
+ - mediatek,mt8183-imgsys | |||
+ - mediatek,mt8183-ipu_conn | |||
+ - mediatek,mt8183-ipu_adl | |||
+ - mediatek,mt8183-ipu_core0 | |||
+ - mediatek,mt8183-ipu_core1 | |||
+ - mediatek,mt8183-mcucfg | |||
+ - mediatek,mt8183-mfgcfg | |||
+ - mediatek,mt8183-vdecsys | |||
+ - mediatek,mt8183-vencsys | |||
+ - const: syscon | |||
+ - items: | |||
+ - const: mediatek,mt7623-bdpsys | |||
+ - const: mediatek,mt2701-bdpsys | |||
+ - const: syscon | |||
+ - items: | |||
+ - const: mediatek,mt7623-imgsys | |||
+ - const: mediatek,mt2701-imgsys | |||
+ - const: syscon | |||
+ - items: | |||
+ - const: mediatek,mt7623-vdecsys | |||
+ - const: mediatek,mt2701-vdecsys | |||
+ - const: syscon | |||
+ | |||
+ reg: | |||
+ maxItems: 1 | |||
+ | |||
+ '#clock-cells': | |||
+ const: 1 | |||
+ | |||
+required: | |||
+ - compatible | |||
+ - '#clock-cells' | |||
+ | |||
+additionalProper | |||
+ | |||
+examples: | |||
+ - | | |||
+ clock-controller@11220000 { | |||
+ compatible = "mediatek,mt2701-bdpsys", "syscon"; | |||
+ reg = <0x11220000 0x2000>; | |||
+ #clock-cells = <1>; | |||
+ }; |
@@ -40,38 +40,11 @@ required: | |||
additionalProper | additionalProper | ||
examples: | examples: | ||
- # Clock controller node: | |||
- | | - | | ||
- | + clock-controller@1d021000 { | ||
compatible = "socionext,milbea | compatible = "socionext,milbea | ||
reg = <0x1d021000 0x4000>; | reg = <0x1d021000 0x4000>; | ||
#clock-cells = <1>; | #clock-cells = <1>; | ||
clocks = <&clki40mhz>; | clocks = <&clki40mhz>; | ||
}; | }; | ||
- | |||
- # Required an external clock for Clock controller node: | |||
- - | | |||
- clocks { | |||
- clki40mhz: clki40mhz { | |||
- compatible = "fixed-clock"; | |||
- #clock-cells = <0>; | |||
- clock-frequency = <40000000>; | |||
- }; | |||
- /* other clocks */ | |||
- }; | |||
- | |||
- # The clock consumer shall specify the desired clock-output of the clock | |||
- # controller as below by specifying output-id in its "clk" phandle cell. | |||
- # 2: uart | |||
- # 4: 32-bit timer | |||
- # 7: UHS-I/II | |||
- - | | |||
- serial@1e700010 { | |||
- compatible = "socionext,milbea | |||
- reg = <0x1e700010 0x10>; | |||
- interrupts = <0 141 0x4>, <0 149 0x4>; | |||
- interrupt-names = "rx", "tx"; | |||
- clocks = <&clk 2>; | |||
- }; | |||
- | |||
... | ... |
@@ -0,0 +1,51 @@ | |||
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/clock/mobileye,eyeq5-clk.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: Mobileye EyeQ5 clock controller | |||
+ | |||
+description: | |||
+ The EyeQ5 clock controller handles 10 read-only PLLs derived from the main | |||
+ crystal clock. It also exposes one divider clock, a child of one of the PLLs. | |||
+ Its registers live in a shared region called OLB. | |||
+ | |||
+maintainers: | |||
+ - Grégory Clement <gregory.clement@bootlin.com> | |||
+ - Théo Lebrun <theo.lebrun@bootlin.com> | |||
+ - Vladimir Kondratiev <vladimir.kondratiev@mobileye.com> | |||
+ | |||
+properties: | |||
+ compatible: | |||
+ const: mobileye,eyeq5-clk | |||
+ | |||
+ reg: | |||
+ maxItems: 2 | |||
+ | |||
+ reg-names: | |||
+ items: | |||
+ - const: plls | |||
+ - const: ospi | |||
+ | |||
+ "#clock-cells": | |||
+ const: 1 | |||
+ | |||
+ clocks: | |||
+ maxItems: 1 | |||
+ description: | |||
+ Input parent clock to all PLLs. Expected to be the main crystal. | |||
+ | |||
+ clock-names: | |||
+ items: | |||
+ - const: ref | |||
+ | |||
+required: | |||
+ - compatible | |||
+ - reg | |||
+ - reg-names | |||
+ - "#clock-cells" | |||
+ - clocks | |||
+ - clock-names | |||
+ | |||
+additionalProper |
@@ -0,0 +1,57 @@ | |||
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/clock/nxp,imx95-blk-ctl.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: NXP i.MX95 Block Control | |||
+ | |||
+maintainers: | |||
+ - Peng Fan <peng.fan@nxp.com> | |||
+ | |||
+properties: | |||
+ compatible: | |||
+ items: | |||
+ - enum: | |||
+ - nxp,imx95-lvds-csr | |||
+ - nxp,imx95-display-csr | |||
+ - nxp,imx95-camera-csr | |||
+ - nxp,imx95-netcmix-blk-ctrl | |||
+ - nxp,imx95-vpu-csr | |||
+ - const: syscon | |||
+ | |||
+ reg: | |||
+ maxItems: 1 | |||
+ | |||
+ power-domains: | |||
+ maxItems: 1 | |||
+ | |||
+ clocks: | |||
+ maxItems: 1 | |||
+ | |||
+ '#clock-cells': | |||
+ const: 1 | |||
+ description: | |||
+ The clock consumer should specify the desired clock by having the clock | |||
+ ID in its "clocks" phandle cell. See | |||
+ include/dt-bindings/clock/nxp,imx95-clock.h | |||
+ | |||
+required: | |||
+ - compatible | |||
+ - reg | |||
+ - '#clock-cells' | |||
+ - power-domains | |||
+ - clocks | |||
+ | |||
+additionalProper | |||
+ | |||
+examples: | |||
+ - | | |||
+ syscon@4c410000 { | |||
+ compatible = "nxp,imx95-vpu-csr", "syscon"; | |||
+ reg = <0x4c410000 0x10000>; | |||
+ #clock-cells = <1>; | |||
+ clocks = <&scmi_clk 114>; | |||
+ power-domains = <&scmi_devpd 21>; | |||
+ }; | |||
+... |
@@ -0,0 +1,64 @@ | |||
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/clock/nxp,imx95-display-master-csr.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: NXP i.MX95 Display Master Block Control | |||
+ | |||
+maintainers: | |||
+ - Peng Fan <peng.fan@nxp.com> | |||
+ | |||
+properties: | |||
+ compatible: | |||
+ items: | |||
+ - const: nxp,imx95-display-master-csr | |||
+ - const: syscon | |||
+ | |||
+ reg: | |||
+ maxItems: 1 | |||
+ | |||
+ power-domains: | |||
+ maxItems: 1 | |||
+ | |||
+ clocks: | |||
+ maxItems: 1 | |||
+ | |||
+ '#clock-cells': | |||
+ const: 1 | |||
+ description: | |||
+ The clock consumer should specify the desired clock by having the clock | |||
+ ID in its "clocks" phandle cell. See | |||
+ include/dt-bindings/clock/nxp,imx95-clock.h | |||
+ | |||
+ mux-controller: | |||
+ type: object | |||
+ $ref: /schemas/mux/reg-mux.yaml | |||
+ | |||
+required: | |||
+ - compatible | |||
+ - reg | |||
+ - '#clock-cells' | |||
+ - mux-controller | |||
+ - power-domains | |||
+ - clocks | |||
+ | |||
+additionalProper | |||
+ | |||
+examples: | |||
+ - | | |||
+ syscon@4c410000 { | |||
+ compatible = "nxp,imx95-display-master-csr", "syscon"; | |||
+ reg = <0x4c410000 0x10000>; | |||
+ #clock-cells = <1>; | |||
+ clocks = <&scmi_clk 62>; | |||
+ power-domains = <&scmi_devpd 3>; | |||
+ | |||
+ mux: mux-controller { | |||
+ compatible = "mmio-mux"; | |||
+ #mux-control-cells = <1>; | |||
+ mux-reg-masks = <0x4 0x00000001>; /* Pixel_link_sel */ | |||
+ idle-states = <0>; | |||
+ }; | |||
+ }; | |||
+... |
@@ -0,0 +1,51 @@ | |||
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/clock/nxp,lpc3220-clk.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: NXP LPC32xx Clock Controller | |||
+ | |||
+maintainers: | |||
+ - Animesh Agarwal <animeshagarwal28 | |||
+ | |||
+properties: | |||
+ compatible: | |||
+ const: nxp,lpc3220-clk | |||
+ | |||
+ reg: | |||
+ maxItems: 1 | |||
+ | |||
+ '#clock-cells': | |||
+ const: 1 | |||
+ | |||
+ clocks: | |||
+ minItems: 1 | |||
+ items: | |||
+ - description: External 32768 Hz oscillator. | |||
+ - description: Optional high frequency oscillator. | |||
+ | |||
+ clock-names: | |||
+ minItems: 1 | |||
+ items: | |||
+ - const: xtal_32k | |||
+ - const: xtal | |||
+ | |||
+required: | |||
+ - compatible | |||
+ - reg | |||
+ - '#clock-cells' | |||
+ - clocks | |||
+ - clock-names | |||
+ | |||
+additionalProper | |||
+ | |||
+examples: | |||
+ - | | |||
+ clock-controller@0 { | |||
+ compatible = "nxp,lpc3220-clk"; | |||
+ reg = <0x00 0x114>; | |||
+ #clock-cells = <1>; | |||
+ clocks = <&xtal_32k>, <&xtal>; | |||
+ clock-names = "xtal_32k", "xtal"; | |||
+ }; |
@@ -0,0 +1,35 @@ | |||
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/clock/nxp,lpc3220-usb-clk.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: NXP LPC32xx USB Clock Controller | |||
+ | |||
+maintainers: | |||
+ - Animesh Agarwal <animeshagarwal28 | |||
+ | |||
+properties: | |||
+ compatible: | |||
+ const: nxp,lpc3220-usb-clk | |||
+ | |||
+ reg: | |||
+ maxItems: 1 | |||
+ | |||
+ '#clock-cells': | |||
+ const: 1 | |||
+ | |||
+required: | |||
+ - compatible | |||
+ - reg | |||
+ - '#clock-cells' | |||
+ | |||
+additionalProper | |||
+ | |||
+examples: | |||
+ - | | |||
+ clock-controller@f00 { | |||
+ compatible = "nxp,lpc3220-usb-clk"; | |||
+ reg = <0xf00 0x100>; | |||
+ #clock-cells = <1>; | |||
+ }; |
@@ -21,6 +21,7 @@ properties: | |||
- qcom,ipq6018-a53pll | - qcom,ipq6018-a53pll | ||
- qcom,ipq8074-a53pll | - qcom,ipq8074-a53pll | ||
- qcom,ipq9574-a73pll | - qcom,ipq9574-a73pll | ||
+ - qcom,msm8226-a7pll | |||
- qcom,msm8916-a53pll | - qcom,msm8916-a53pll | ||
- qcom,msm8939-a53pll | - qcom,msm8939-a53pll | ||
@@ -40,6 +41,9 @@ properties: | |||
operating-points-v2: true | operating-points-v2: true | ||
+ opp-table: | |||
+ type: object | |||
+ | |||
required: | required: | ||
- compatible | - compatible | ||
- reg | - reg |
@@ -40,31 +40,19 @@ properties: | |||
- description: DSI 1 PLL byte clock | - description: DSI 1 PLL byte clock | ||
- description: DSI 1 PLL DSI clock | - description: DSI 1 PLL DSI clock | ||
- '#clock-cells': | |||
- const: 1 | |||
- | |||
- '#reset-cells': | |||
- const: 1 | |||
- | |||
- '#power-domain-cells': | |||
- const: 1 | |||
- | |||
- reg: | |||
- maxItems: 1 | |||
- | |||
power-domains: | power-domains: | ||
items: | items: | ||
- description: MMCX power domain | - description: MMCX power domain | ||
required: | required: | ||
- compatible | - compatible | ||
- - reg | |||
- clocks | - clocks | ||
- - '#clock-cells' | |||
- - '#reset-cells' | |||
- '#power-domain-cells' | - '#power-domain-cells' | ||
-additionalProper | +allOf: | ||
+ - $ref: qcom,gcc.yaml# | |||
+ | |||
+unevaluatedPrope | |||
examples: | examples: | ||
- | | - | |
@@ -7,7 +7,7 @@ $schema: http://devicetre | |||
title: Qualcomm Display Clock & Reset Controller on SM6350 | title: Qualcomm Display Clock & Reset Controller on SM6350 | ||
maintainers: | maintainers: | ||
- - Konrad Dybcio | + - Konrad Dybcio <konradybcio@kernel.org> | ||
description: | | description: | | ||
Qualcomm display clock control module provides the clocks, resets and power | Qualcomm display clock control module provides the clocks, resets and power | ||
@@ -37,28 +37,16 @@ properties: | |||
- const: dp_phy_pll_link_ | - const: dp_phy_pll_link_ | ||
- const: dp_phy_pll_vco_d | - const: dp_phy_pll_vco_d | ||
- '#clock-cells': | |||
- const: 1 | |||
- | |||
- '#reset-cells': | |||
- const: 1 | |||
- | |||
- '#power-domain-cells': | |||
- const: 1 | |||
- | |||
- reg: | |||
- maxItems: 1 | |||
- | |||
required: | required: | ||
- compatible | - compatible | ||
- - reg | |||
- clocks | - clocks | ||
- clock-names | - clock-names | ||
- - '#clock-cells' | |||
- - '#reset-cells' | |||
- '#power-domain-cells' | - '#power-domain-cells' | ||
-additionalProper | +allOf: | ||
+ - $ref: qcom,gcc.yaml# | |||
+ | |||
+unevaluatedPrope | |||
examples: | examples: | ||
- | | - | |
@@ -27,6 +27,7 @@ properties: | |||
- qcom,sm8350-dispcc | - qcom,sm8350-dispcc | ||
clocks: | clocks: | ||
+ minItems: 7 | |||
items: | items: | ||
- description: Board XO source | - description: Board XO source | ||
- description: Byte clock from DSI PHY0 | - description: Byte clock from DSI PHY0 | ||
@@ -35,8 +36,15 @@ properties: | |||
- description: Pixel clock from DSI PHY1 | - description: Pixel clock from DSI PHY1 | ||
- description: Link clock from DP PHY | - description: Link clock from DP PHY | ||
- description: VCO DIV clock from DP PHY | - description: VCO DIV clock from DP PHY | ||
+ - description: Link clock from eDP PHY | |||
+ - description: VCO DIV clock from eDP PHY | |||
+ - description: Link clock from DP1 PHY | |||
+ - description: VCO DIV clock from DP1 PHY | |||
+ - description: Link clock from DP2 PHY | |||
+ - description: VCO DIV clock from DP2 PHY | |||
clock-names: | clock-names: | ||
+ minItems: 7 | |||
items: | items: | ||
- const: bi_tcxo | - const: bi_tcxo | ||
- const: dsi0_phy_pll_out | - const: dsi0_phy_pll_out | ||
@@ -45,18 +53,12 @@ properties: | |||
- const: dsi1_phy_pll_out | - const: dsi1_phy_pll_out | ||
- const: dp_phy_pll_link_ | - const: dp_phy_pll_link_ | ||
- const: dp_phy_pll_vco_d | - const: dp_phy_pll_vco_d | ||
- | + - const: edp_phy_pll_link | ||
- '#clock-cells': | + - const: edp_phy_pll_vco_ | ||
- const: 1 | + - const: dptx1_phy_pll_li | ||
- | + - const: dptx1_phy_pll_vc | ||
- '#reset-cells': | + - const: dptx2_phy_pll_li | ||
- const: 1 | + - const: dptx2_phy_pll_vc | ||
- | |||
- '#power-domain-cells': | |||
- const: 1 | |||
- | |||
- reg: | |||
- maxItems: 1 | |||
power-domains: | power-domains: | ||
description: | description: | ||
@@ -70,14 +72,26 @@ properties: | |||
required: | required: | ||
- compatible | - compatible | ||
- - reg | |||
- clocks | - clocks | ||
- clock-names | - clock-names | ||
- - '#clock-cells' | |||
- - '#reset-cells' | |||
- '#power-domain-cells' | - '#power-domain-cells' | ||
-additionalProper | +allOf: | ||
+ - $ref: qcom,gcc.yaml# | |||
+ - if: | |||
+ not: | |||
+ properties: | |||
+ compatible: | |||
+ contains: | |||
+ const: qcom,sc8180x-dispcc | |||
+ then: | |||
+ properties: | |||
+ clocks: | |||
+ maxItems: 7 | |||
+ clock-names: | |||
+ maxItems: 7 | |||
+ | |||
+unevaluatedPrope | |||
examples: | examples: | ||
- | | - | |
@@ -69,6 +69,8 @@ properties: | |||
const: 1 | const: 1 | ||
deprecated: true | deprecated: true | ||
+ '#power-domain-cells': false | |||
+ | |||
required: | required: | ||
- compatible | - compatible | ||
@@ -81,7 +83,6 @@ examples: | |||
reg = <0x00900000 0x4000>; | reg = <0x00900000 0x4000>; | ||
#clock-cells = <1>; | #clock-cells = <1>; | ||
#reset-cells = <1>; | #reset-cells = <1>; | ||
- #power-domain-cells = <1>; | |||
thermal-sensor { | thermal-sensor { | ||
compatible = "qcom,msm8960-tsens"; | compatible = "qcom,msm8960-tsens"; |
@@ -51,6 +51,7 @@ properties: | |||
required: | required: | ||
- compatible | - compatible | ||
+ - '#power-domain-cells' | |||
unevaluatedPrope | unevaluatedPrope | ||
@@ -34,6 +34,8 @@ properties: | |||
- const: xo | - const: xo | ||
- const: sleep_clk | - const: sleep_clk | ||
+ '#power-domain-cells': false | |||
+ | |||
required: | required: | ||
- compatible | - compatible | ||
@@ -45,7 +47,6 @@ examples: | |||
compatible = "qcom,gcc-ipq4019"; | compatible = "qcom,gcc-ipq4019"; | ||
reg = <0x1800000 0x60000>; | reg = <0x1800000 0x60000>; | ||
#clock-cells = <1>; | #clock-cells = <1>; | ||
- #power-domain-cells = <1>; | |||
#reset-cells = <1>; | #reset-cells = <1>; | ||
clocks = <&xo>, <&sleep_clk>; | clocks = <&xo>, <&sleep_clk>; | ||
clock-names = "xo", "sleep_clk"; | clock-names = "xo", "sleep_clk"; |
@@ -36,6 +36,8 @@ properties: | |||
- const: xo | - const: xo | ||
- const: sleep_clk | - const: sleep_clk | ||
+ '#power-domain-cells': false | |||
+ | |||
required: | required: | ||
- compatible | - compatible | ||
- clocks | - clocks | ||
@@ -51,7 +53,6 @@ examples: | |||
clocks = <&xo>, <&sleep_clk>; | clocks = <&xo>, <&sleep_clk>; | ||
clock-names = "xo", "sleep_clk"; | clock-names = "xo", "sleep_clk"; | ||
#clock-cells = <1>; | #clock-cells = <1>; | ||
- #power-domain-cells = <1>; | |||
#reset-cells = <1>; | #reset-cells = <1>; | ||
}; | }; | ||
... | ... |
@@ -46,6 +46,8 @@ properties: | |||
allOf: | allOf: | ||
- $ref: /schemas/thermal/qcom-tsens.yaml# | - $ref: /schemas/thermal/qcom-tsens.yaml# | ||
+ '#power-domain-cells': false | |||
+ | |||
required: | required: | ||
- compatible | - compatible | ||
- clocks | - clocks | ||
@@ -65,7 +67,6 @@ examples: | |||
clock-names = "pxo", "cxo", "pll4"; | clock-names = "pxo", "cxo", "pll4"; | ||
#clock-cells = <1>; | #clock-cells = <1>; | ||
#reset-cells = <1>; | #reset-cells = <1>; | ||
- #power-domain-cells = <1>; | |||
tsens: thermal-sensor { | tsens: thermal-sensor { | ||
compatible = "qcom,ipq8064-tsens"; | compatible = "qcom,ipq8064-tsens"; |
@@ -39,6 +39,7 @@ properties: | |||
required: | required: | ||
- compatible | - compatible | ||
+ - '#power-domain-cells' | |||
unevaluatedPrope | unevaluatedPrope | ||
@@ -0,0 +1,43 @@ | |||
+# SPDX-License-Identifier: GPL-2.0-only | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/clock/qcom,gcc-mdm9607.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: Qualcomm Global Clock & Reset Controller | |||
+ | |||
+maintainers: | |||
+ - Stephen Boyd <sboyd@kernel.org> | |||
+ - Taniya Das <quic_tdas@quicinc.com> | |||
+ | |||
+description: | | |||
+ Qualcomm global clock control module provides the clocks, resets and power | |||
+ domains. | |||
+ | |||
+ See also:: | |||
+ include/dt-bindings/clock/qcom,gcc-mdm9607.h | |||
+ | |||
+allOf: | |||
+ - $ref: qcom,gcc.yaml# | |||
+ | |||
+properties: | |||
+ compatible: | |||
+ enum: | |||
+ - qcom,gcc-mdm9607 | |||
+ | |||
+required: | |||
+ - compatible | |||
+ - '#power-domain-cells' | |||
+ | |||
+unevaluatedPrope | |||
+ | |||
+examples: | |||
+ - | | |||
+ clock-controller@900000 { | |||
+ compatible = "qcom,gcc-mdm9607"; | |||
+ reg = <0x900000 0x4000>; | |||
+ #clock-cells = <1>; | |||
+ #reset-cells = <1>; | |||
+ #power-domain-cells = <1>; | |||
+ }; | |||
+... |
@@ -0,0 +1,50 @@ | |||
+# SPDX-License-Identifier: GPL-2.0-only | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/clock/qcom,gcc-mdm9615.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: Qualcomm Global Clock & Reset Controller | |||
+ | |||
+maintainers: | |||
+ - Stephen Boyd <sboyd@kernel.org> | |||
+ - Taniya Das <quic_tdas@quicinc.com> | |||
+ | |||
+description: | | |||
+ Qualcomm global clock control module provides the clocks, resets and power | |||
+ domains. | |||
+ | |||
+ See also:: | |||
+ include/dt-bindings/clock/qcom,gcc-mdm9615.h | |||
+ | |||
+allOf: | |||
+ - $ref: qcom,gcc.yaml# | |||
+ | |||
+properties: | |||
+ compatible: | |||
+ enum: | |||
+ - qcom,gcc-mdm9615 | |||
+ | |||
+ clocks: | |||
+ items: | |||
+ - description: CXO clock | |||
+ - description: PLL4 from LLC | |||
+ | |||
+ '#power-domain-cells': false | |||
+ | |||
+required: | |||
+ - compatible | |||
+ | |||
+unevaluatedPrope | |||
+ | |||
+examples: | |||
+ - | | |||
+ clock-controller@900000 { | |||
+ compatible = "qcom,gcc-mdm9615"; | |||
+ reg = <0x900000 0x4000>; | |||
+ #clock-cells = <1>; | |||
+ #reset-cells = <1>; | |||
+ clocks = <&cxo_board>, | |||
+ <&lcc_pll4>; | |||
+ }; | |||
+... |
@@ -34,6 +34,8 @@ properties: | |||
- const: pxo | - const: pxo | ||
- const: cxo | - const: cxo | ||
+ '#power-domain-cells': false | |||
+ | |||
required: | required: | ||
- compatible | - compatible | ||
@@ -47,7 +49,6 @@ examples: | |||
reg = <0x900000 0x4000>; | reg = <0x900000 0x4000>; | ||
#clock-cells = <1>; | #clock-cells = <1>; | ||
#reset-cells = <1>; | #reset-cells = <1>; | ||
- #power-domain-cells = <1>; | |||
clocks = <&pxo_board>, <&cxo_board>; | clocks = <&pxo_board>, <&cxo_board>; | ||
clock-names = "pxo", "cxo"; | clock-names = "pxo", "cxo"; | ||
}; | }; |
@@ -42,6 +42,7 @@ required: | |||
- compatible | - compatible | ||
- clocks | - clocks | ||
- clock-names | - clock-names | ||
+ - '#power-domain-cells' | |||
allOf: | allOf: | ||
- $ref: qcom,gcc.yaml# | - $ref: qcom,gcc.yaml# |
@@ -48,6 +48,7 @@ properties: | |||
required: | required: | ||
- compatible | - compatible | ||
+ - '#power-domain-cells' | |||
allOf: | allOf: | ||
- $ref: qcom,gcc.yaml# | - $ref: qcom,gcc.yaml# |
@@ -42,6 +42,7 @@ required: | |||
- compatible | - compatible | ||
- clocks | - clocks | ||
- clock-names | - clock-names | ||
+ - '#power-domain-cells' | |||
allOf: | allOf: | ||
- $ref: qcom,gcc.yaml# | - $ref: qcom,gcc.yaml# |
@@ -41,6 +41,7 @@ properties: | |||
required: | required: | ||
- compatible | - compatible | ||
+ - '#power-domain-cells' | |||
unevaluatedPrope | unevaluatedPrope | ||
@@ -49,6 +49,7 @@ required: | |||
- clocks | - clocks | ||
- clock-names | - clock-names | ||
- vdd_gfx-supply | - vdd_gfx-supply | ||
+ - '#power-domain-cells' | |||
allOf: | allOf: | ||
- $ref: qcom,gcc.yaml# | - $ref: qcom,gcc.yaml# |
@@ -7,7 +7,7 @@ $schema: http://devicetre | |||
title: Qualcomm Global Clock & Reset Controller on MSM8994 | title: Qualcomm Global Clock & Reset Controller on MSM8994 | ||
maintainers: | maintainers: | ||
- - Konrad Dybcio | + - Konrad Dybcio <konradybcio@kernel.org> | ||
description: | | description: | | ||
Qualcomm global clock control module provides the clocks, resets and power | Qualcomm global clock control module provides the clocks, resets and power | ||
@@ -35,6 +35,7 @@ required: | |||
- compatible | - compatible | ||
- clocks | - clocks | ||
- clock-names | - clock-names | ||
+ - '#power-domain-cells' | |||
allOf: | allOf: | ||
- $ref: qcom,gcc.yaml# | - $ref: qcom,gcc.yaml# |
@@ -50,6 +50,7 @@ properties: | |||
required: | required: | ||
- compatible | - compatible | ||
+ - '#power-domain-cells' | |||
allOf: | allOf: | ||
- $ref: qcom,gcc.yaml# | - $ref: qcom,gcc.yaml# |
@@ -38,6 +38,7 @@ required: | |||
- compatible | - compatible | ||
- clocks | - clocks | ||
- clock-names | - clock-names | ||
+ - '#power-domain-cells' | |||
allOf: | allOf: | ||
- $ref: qcom,gcc.yaml# | - $ref: qcom,gcc.yaml# |
@@ -33,6 +33,7 @@ required: | |||
- compatible | - compatible | ||
- clocks | - clocks | ||
- clock-names | - clock-names | ||
+ - '#power-domain-cells' | |||
allOf: | allOf: | ||
- $ref: qcom,gcc.yaml# | - $ref: qcom,gcc.yaml# |
@@ -40,6 +40,7 @@ properties: | |||
required: | required: | ||
- compatible | - compatible | ||
+ - '#power-domain-cells' | |||
allOf: | allOf: | ||
- $ref: qcom,gcc.yaml# | - $ref: qcom,gcc.yaml# |
@@ -40,6 +40,7 @@ required: | |||
- compatible | - compatible | ||
- clocks | - clocks | ||
- clock-names | - clock-names | ||
+ - '#power-domain-cells' | |||
allOf: | allOf: | ||
- $ref: qcom,gcc.yaml# | - $ref: qcom,gcc.yaml# |
@@ -51,6 +51,7 @@ required: | |||
- compatible | - compatible | ||
- clocks | - clocks | ||
- clock-names | - clock-names | ||
+ - '#power-domain-cells' | |||
allOf: | allOf: | ||
- $ref: qcom,gcc.yaml# | - $ref: qcom,gcc.yaml# |
@@ -31,10 +31,16 @@ properties: | |||
- const: bi_tcxo_ao | - const: bi_tcxo_ao | ||
- const: sleep_clk | - const: sleep_clk | ||
+ power-domains: | |||
+ items: | |||
+ - description: CX domain | |||
+ | |||
required: | required: | ||
- compatible | - compatible | ||
- clocks | - clocks | ||
- clock-names | - clock-names | ||
+ - power-domains | |||
+ - '#power-domain-cells' | |||
allOf: | allOf: | ||
- $ref: qcom,gcc.yaml# | - $ref: qcom,gcc.yaml# | ||
@@ -44,6 +50,7 @@ unevaluatedPrope | |||
examples: | examples: | ||
- | | - | | ||
#include <dt-bindings/clock/qcom,rpmh.h> | #include <dt-bindings/clock/qcom,rpmh.h> | ||
+ #include <dt-bindings/power/qcom-rpmpd.h> | |||
clock-controller@100000 { | clock-controller@100000 { | ||
compatible = "qcom,gcc-sc8180x"; | compatible = "qcom,gcc-sc8180x"; | ||
reg = <0x00100000 0x1f0000>; | reg = <0x00100000 0x1f0000>; | ||
@@ -51,6 +58,7 @@ examples: | |||
<&rpmhcc RPMH_CXO_CLK_A>, | <&rpmhcc RPMH_CXO_CLK_A>, | ||
<&sleep_clk>; | <&sleep_clk>; | ||
clock-names = "bi_tcxo", "bi_tcxo_ao", "sleep_clk"; | clock-names = "bi_tcxo", "bi_tcxo_ao", "sleep_clk"; | ||
+ power-domains = <&rpmhpd SC8180X_CX>; | |||
#clock-cells = <1>; | #clock-cells = <1>; | ||
#reset-cells = <1>; | #reset-cells = <1>; | ||
#power-domain-cells = <1>; | #power-domain-cells = <1>; |
@@ -65,6 +65,7 @@ properties: | |||
required: | required: | ||
- compatible | - compatible | ||
- clocks | - clocks | ||
+ - '#power-domain-cells' | |||
allOf: | allOf: | ||
- $ref: qcom,gcc.yaml# | - $ref: qcom,gcc.yaml# |
@@ -40,6 +40,7 @@ properties: | |||
required: | required: | ||
- compatible | - compatible | ||
+ - '#power-domain-cells' | |||
unevaluatedPrope | unevaluatedPrope | ||
@@ -35,6 +35,7 @@ properties: | |||
required: | required: | ||
- compatible | - compatible | ||
+ - '#power-domain-cells' | |||
allOf: | allOf: | ||
- $ref: qcom,gcc.yaml# | - $ref: qcom,gcc.yaml# |
@@ -34,6 +34,7 @@ required: | |||
- compatible | - compatible | ||
- clocks | - clocks | ||
- clock-names | - clock-names | ||
+ - '#power-domain-cells' | |||
allOf: | allOf: | ||
- $ref: qcom,gcc.yaml# | - $ref: qcom,gcc.yaml# |
@@ -39,6 +39,7 @@ required: | |||
- compatible | - compatible | ||
- clocks | - clocks | ||
- clock-names | - clock-names | ||
+ - '#power-domain-cells' | |||
allOf: | allOf: | ||
- $ref: qcom,gcc.yaml# | - $ref: qcom,gcc.yaml# |
@@ -33,6 +33,7 @@ required: | |||
- compatible | - compatible | ||
- clocks | - clocks | ||
- clock-names | - clock-names | ||
+ - '#power-domain-cells' | |||
allOf: | allOf: | ||
- $ref: qcom,gcc.yaml# | - $ref: qcom,gcc.yaml# |
@@ -7,7 +7,7 @@ $schema: http://devicetre | |||
title: Qualcomm Global Clock & Reset Controller on SM6125 | title: Qualcomm Global Clock & Reset Controller on SM6125 | ||
maintainers: | maintainers: | ||
- - Konrad Dybcio | + - Konrad Dybcio <konradybcio@kernel.org> | ||
description: | | description: | | ||
Qualcomm global clock control module provides the clocks, resets and power | Qualcomm global clock control module provides the clocks, resets and power | ||
@@ -33,6 +33,7 @@ required: | |||
- compatible | - compatible | ||
- clocks | - clocks | ||
- clock-names | - clock-names | ||
+ - '#power-domain-cells' | |||
allOf: | allOf: | ||
- $ref: qcom,gcc.yaml# | - $ref: qcom,gcc.yaml# |
@@ -7,7 +7,7 @@ $schema: http://devicetre | |||
title: Qualcomm Global Clock & Reset Controller on SM6350 | title: Qualcomm Global Clock & Reset Controller on SM6350 | ||
maintainers: | maintainers: | ||
- - Konrad Dybcio | + - Konrad Dybcio <konradybcio@kernel.org> | ||
description: | | description: | | ||
Qualcomm global clock control module provides the clocks, resets and power | Qualcomm global clock control module provides the clocks, resets and power | ||
@@ -35,6 +35,7 @@ required: | |||
- compatible | - compatible | ||
- clocks | - clocks | ||
- clock-names | - clock-names | ||
+ - '#power-domain-cells' | |||
allOf: | allOf: | ||
- $ref: qcom,gcc.yaml# | - $ref: qcom,gcc.yaml# |
@@ -34,6 +34,7 @@ required: | |||
- compatible | - compatible | ||
- clocks | - clocks | ||
- clock-names | - clock-names | ||
+ - '#power-domain-cells' | |||
allOf: | allOf: | ||
- $ref: qcom,gcc.yaml# | - $ref: qcom,gcc.yaml# |
@@ -36,6 +36,7 @@ required: | |||
- compatible | - compatible | ||
- clocks | - clocks | ||
- clock-names | - clock-names | ||
+ - '#power-domain-cells' | |||
allOf: | allOf: | ||
- $ref: qcom,gcc.yaml# | - $ref: qcom,gcc.yaml# |
@@ -55,6 +55,7 @@ required: | |||
- compatible | - compatible | ||
- clocks | - clocks | ||
- clock-names | - clock-names | ||
+ - '#power-domain-cells' | |||
allOf: | allOf: | ||
- $ref: qcom,gcc.yaml# | - $ref: qcom,gcc.yaml# |
@@ -49,6 +49,7 @@ required: | |||
- compatible | - compatible | ||
- clocks | - clocks | ||
- clock-names | - clock-names | ||
+ - '#power-domain-cells' | |||
allOf: | allOf: | ||
- $ref: qcom,gcc.yaml# | - $ref: qcom,gcc.yaml# |
@@ -35,7 +35,6 @@ required: | |||
- reg | - reg | ||
- '#clock-cells' | - '#clock-cells' | ||
- '#reset-cells' | - '#reset-cells' | ||
- - '#power-domain-cells' | |||
additionalProper | additionalProper | ||
@@ -33,28 +33,16 @@ properties: | |||
- const: gcc_gpu_gpll0_cl | - const: gcc_gpu_gpll0_cl | ||
- const: gcc_gpu_gpll0_di | - const: gcc_gpu_gpll0_di | ||
- '#clock-cells': | |||
- const: 1 | |||
- | |||
- '#reset-cells': | |||
- const: 1 | |||
- | |||
- '#power-domain-cells': | |||
- const: 1 | |||
- | |||
- reg: | |||
- maxItems: 1 | |||
- | |||
required: | required: | ||
- compatible | - compatible | ||
- - reg | |||
- clocks | - clocks | ||
- clock-names | - clock-names | ||
- - '#clock-cells' | |||
- - '#reset-cells' | |||
- '#power-domain-cells' | - '#power-domain-cells' | ||
-additionalProper | +allOf: | ||
+ - $ref: qcom,gcc.yaml# | |||
+ | |||
+unevaluatedPrope | |||
examples: | examples: | ||
- | | - | |
@@ -53,28 +53,25 @@ properties: | |||
power-domains: | power-domains: | ||
maxItems: 1 | maxItems: 1 | ||
- '#clock-cells': | + vdd-gfx-supply: | ||
- const: 1 | + description: Regulator supply for the VDD_GFX pads | ||
- | |||
- '#reset-cells': | |||
- const: 1 | |||
- | |||
- '#power-domain-cells': | |||
- const: 1 | |||
- | |||
- reg: | |||
- maxItems: 1 | |||
required: | required: | ||
- compatible | - compatible | ||
- - reg | |||
- clocks | - clocks | ||
- clock-names | - clock-names | ||
- - '#clock-cells' | |||
- - '#reset-cells' | |||
- '#power-domain-cells' | - '#power-domain-cells' | ||
-additionalProper | +# Require that power-domains and vdd-gfx-supply are not both present | ||
+not: | |||
+ required: | |||
+ - power-domains | |||
+ - vdd-gfx-supply | |||
+ | |||
+allOf: | |||
+ - $ref: qcom,gcc.yaml# | |||
+ | |||
+unevaluatedPrope | |||
examples: | examples: | ||
- | | - | |
@@ -0,0 +1,69 @@ | |||
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/clock/qcom,hfpll.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: Qualcomm High-Frequency PLL | |||
+ | |||
+maintainers: | |||
+ - Bjorn Andersson <andersson@kernel.org> | |||
+ | |||
+description: | |||
+ The HFPLL is used as CPU PLL on various Qualcomm SoCs. | |||
+ | |||
+properties: | |||
+ compatible: | |||
+ oneOf: | |||
+ - enum: | |||
+ - qcom,msm8974-hfpll | |||
+ - qcom,msm8976-hfpll-a53 | |||
+ - qcom,msm8976-hfpll-a72 | |||
+ - qcom,msm8976-hfpll-cci | |||
+ - qcom,qcs404-hfpll | |||
+ - const: qcom,hfpll | |||
+ deprecated: true | |||
+ | |||
+ reg: | |||
+ items: | |||
+ - description: HFPLL registers | |||
+ - description: Alias register region | |||
+ minItems: 1 | |||
+ | |||
+ '#clock-cells': | |||
+ const: 0 | |||
+ | |||
+ clocks: | |||
+ items: | |||
+ - description: board XO clock | |||
+ | |||
+ clock-names: | |||
+ items: | |||
+ - const: xo | |||
+ | |||
+ clock-output-names: | |||
+ description: | |||
+ Name of the PLL. Typically hfpllX where X is a CPU number starting at 0. | |||
+ Otherwise hfpll_Y where Y is more specific such as "l2". | |||
+ maxItems: 1 | |||
+ | |||
+required: | |||
+ - compatible | |||
+ - reg | |||
+ - '#clock-cells' | |||
+ - clocks | |||
+ - clock-names | |||
+ - clock-output-names | |||
+ | |||
+additionalProper | |||
+ | |||
+examples: | |||
+ - | | |||
+ clock-controller@f908a000 { | |||
+ compatible = "qcom,msm8974-hfpll"; | |||
+ reg = <0xf908a000 0x30>, <0xf900a000 0x30>; | |||
+ #clock-cells = <0>; | |||
+ clock-output-names = "hfpll0"; | |||
+ clocks = <&xo_board>; | |||
+ clock-names = "xo"; | |||
+ }; |
@@ -33,6 +33,8 @@ properties: | |||
- description: UNIPHY RX clock source | - description: UNIPHY RX clock source | ||
- description: UNIPHY TX clk source | - description: UNIPHY TX clk source | ||
+ '#power-domain-cells': false | |||
+ | |||
required: | required: | ||
- compatible | - compatible | ||
- clocks | - clocks | ||
@@ -58,6 +60,5 @@ examples: | |||
<&uniphy_tx_clk>; | <&uniphy_tx_clk>; | ||
#clock-cells = <1>; | #clock-cells = <1>; | ||
#reset-cells = <1>; | #reset-cells = <1>; | ||
- #power-domain-cells = <1>; | |||
}; | }; | ||
... | ... |
@@ -30,6 +30,10 @@ properties: | |||
- description: PCIE 2lane x1 PHY pipe clock source (For second lane) | - description: PCIE 2lane x1 PHY pipe clock source (For second lane) | ||
- description: USB PCIE wrapper pipe clock source | - description: USB PCIE wrapper pipe clock source | ||
+ '#power-domain-cells': false | |||
+ '#interconnect-cells': | |||
+ const: 1 | |||
+ | |||
required: | required: | ||
- compatible | - compatible | ||
- clocks | - clocks | ||
@@ -47,7 +51,6 @@ examples: | |||
<&pcie_2lane_phy_p | <&pcie_2lane_phy_p | ||
<&usb_pcie_wrapper | <&usb_pcie_wrapper | ||
#clock-cells = <1>; | #clock-cells = <1>; | ||
- #power-domain-cells = <1>; | |||
#reset-cells = <1>; | #reset-cells = <1>; | ||
}; | }; | ||
... | ... |
@@ -33,6 +33,11 @@ properties: | |||
- description: PCIE30 PHY3 pipe clock source | - description: PCIE30 PHY3 pipe clock source | ||
- description: USB3 PHY pipe clock source | - description: USB3 PHY pipe clock source | ||
+ '#power-domain-cells': false | |||
+ | |||
+ '#interconnect-cells': | |||
+ const: 1 | |||
+ | |||
required: | required: | ||
- compatible | - compatible | ||
- clocks | - clocks | ||
@@ -57,6 +62,5 @@ examples: | |||
<&usb3phy_0_cc_pip | <&usb3phy_0_cc_pip | ||
#clock-cells = <1>; | #clock-cells = <1>; | ||
#reset-cells = <1>; | #reset-cells = <1>; | ||
- #power-domain-cells = <1>; | |||
}; | }; | ||
... | ... |
@@ -29,28 +29,16 @@ properties: | |||
- const: xo | - const: xo | ||
- const: gpll0 | - const: gpll0 | ||
- '#clock-cells': | |||
- const: 1 | |||
- | |||
- '#reset-cells': | |||
- const: 1 | |||
- | |||
- '#power-domain-cells': | |||
- const: 1 | |||
- | |||
- reg: | |||
- maxItems: 1 | |||
- | |||
required: | required: | ||
- compatible | - compatible | ||
- - reg | |||
- clocks | - clocks | ||
- clock-names | - clock-names | ||
- - '#clock-cells' | |||
- - '#reset-cells' | |||
- '#power-domain-cells' | - '#power-domain-cells' | ||
-additionalProper | +allOf: | ||
+ - $ref: qcom,gcc.yaml# | |||
+ | |||
+unevaluatedPrope | |||
examples: | examples: | ||
- | | - | |
@@ -7,7 +7,7 @@ $schema: http://devicetre | |||
title: Q6SSTOP clock Controller | title: Q6SSTOP clock Controller | ||
maintainers: | maintainers: | ||
- - Govind Singh <govinds@codeaurora.org> | + - Bjorn Andersson <andersson@kernel.org> | ||
properties: | properties: | ||
compatible: | compatible: |
@@ -0,0 +1,86 @@ | |||
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/clock/qcom,qca8k-nsscc.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: Qualcomm NSS Clock & Reset Controller on QCA8386/QCA8084 | |||
+ | |||
+maintainers: | |||
+ - Bjorn Andersson <andersson@kernel.org> | |||
+ - Luo Jie <quic_luoj@quicinc.com> | |||
+ | |||
+description: | | |||
+ Qualcomm NSS clock control module provides the clocks and resets | |||
+ on QCA8386(switch mode)/QCA8084(PHY mode) | |||
+ | |||
+ See also:: | |||
+ include/dt-bindings/clock/qcom,qca8k-nsscc.h | |||
+ include/dt-bindings/reset/qcom,qca8k-nsscc.h | |||
+ | |||
+properties: | |||
+ compatible: | |||
+ oneOf: | |||
+ - const: qcom,qca8084-nsscc | |||
+ - items: | |||
+ - enum: | |||
+ - qcom,qca8082-nsscc | |||
+ - qcom,qca8085-nsscc | |||
+ - qcom,qca8384-nsscc | |||
+ - qcom,qca8385-nsscc | |||
+ - qcom,qca8386-nsscc | |||
+ - const: qcom,qca8084-nsscc | |||
+ | |||
+ clocks: | |||
+ items: | |||
+ - description: Chip reference clock source | |||
+ - description: UNIPHY0 RX 312P5M/125M clock source | |||
+ - description: UNIPHY0 TX 312P5M/125M clock source | |||
+ - description: UNIPHY1 RX 312P5M/125M clock source | |||
+ - description: UNIPHY1 TX 312P5M/125M clock source | |||
+ - description: UNIPHY1 RX 312P5M clock source | |||
+ - description: UNIPHY1 TX 312P5M clock source | |||
+ | |||
+ reg: | |||
+ items: | |||
+ - description: MDIO bus address for Clock & Reset Controller register | |||
+ | |||
+ reset-gpios: | |||
+ description: GPIO connected to the chip | |||
+ maxItems: 1 | |||
+ | |||
+required: | |||
+ - compatible | |||
+ - clocks | |||
+ - reg | |||
+ - reset-gpios | |||
+ | |||
+allOf: | |||
+ - $ref: qcom,gcc.yaml# | |||
+ | |||
+unevaluatedPrope | |||
+ | |||
+examples: | |||
+ - | | |||
+ #include <dt-bindings/gpio/gpio.h> | |||
+ mdio { | |||
+ #address-cells = <1>; | |||
+ #size-cells = <0>; | |||
+ | |||
+ clock-controller@18 { | |||
+ compatible = "qcom,qca8084-nsscc"; | |||
+ reg = <0x18>; | |||
+ reset-gpios = <&tlmm 51 GPIO_ACTIVE_LOW>; | |||
+ clocks = <&pcs0_pll>, | |||
+ <&qca8k_uniphy0_rx | |||
+ <&qca8k_uniphy0_tx | |||
+ <&qca8k_uniphy1_rx | |||
+ <&qca8k_uniphy1_tx | |||
+ <&qca8k_uniphy1_rx | |||
+ <&qca8k_uniphy1_tx | |||
+ #clock-cells = <1>; | |||
+ #reset-cells = <1>; | |||
+ #power-domain-cells = <1>; | |||
+ }; | |||
+ }; | |||
+... |
@@ -37,28 +37,16 @@ properties: | |||
- const: dsi0_phy_pll_out | - const: dsi0_phy_pll_out | ||
- const: dsi0_phy_pll_out | - const: dsi0_phy_pll_out | ||
- '#clock-cells': | |||
- const: 1 | |||
- | |||
- '#reset-cells': | |||
- const: 1 | |||
- | |||
- '#power-domain-cells': | |||
- const: 1 | |||
- | |||
- reg: | |||
- maxItems: 1 | |||
- | |||
required: | required: | ||
- compatible | - compatible | ||
- - reg | |||
- clocks | - clocks | ||
- clock-names | - clock-names | ||
- - '#clock-cells' | |||
- - '#reset-cells' | |||
- '#power-domain-cells' | - '#power-domain-cells' | ||
-additionalProper | +allOf: | ||
+ - $ref: qcom,gcc.yaml# | |||
+ | |||
+unevaluatedPrope | |||
examples: | examples: | ||
- | | - | |
@@ -0,0 +1,77 @@ | |||
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/clock/qcom,qcm2290-gpucc.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: Qualcomm Graphics Clock & Reset Controller on QCM2290 | |||
+ | |||
+maintainers: | |||
+ - Konrad Dybcio <konradybcio@kernel.org> | |||
+ | |||
+description: | | |||
+ Qualcomm graphics clock control module provides the clocks, resets and power | |||
+ domains on Qualcomm SoCs. | |||
+ | |||
+ See also:: | |||
+ include/dt-bindings/clock/qcom,qcm2290-gpucc.h | |||
+ | |||
+properties: | |||
+ compatible: | |||
+ const: qcom,qcm2290-gpucc | |||
+ | |||
+ reg: | |||
+ maxItems: 1 | |||
+ | |||
+ clocks: | |||
+ items: | |||
+ - description: AHB interface clock, | |||
+ - description: SoC CXO clock | |||
+ - description: GPLL0 main branch source | |||
+ - description: GPLL0 div branch source | |||
+ | |||
+ power-domains: | |||
+ description: | |||
+ A phandle and PM domain specifier for the CX power domain. | |||
+ maxItems: 1 | |||
+ | |||
+ required-opps: | |||
+ description: | |||
+ A phandle to an OPP node describing required CX performance point. | |||
+ maxItems: 1 | |||
+ | |||
+required: | |||
+ - compatible | |||
+ - clocks | |||
+ - power-domains | |||
+ | |||
+allOf: | |||
+ - $ref: qcom,gcc.yaml# | |||
+ | |||
+unevaluatedPrope | |||
+ | |||
+examples: | |||
+ - | | |||
+ #include <dt-bindings/clock/qcom,gcc-qcm2290.h> | |||
+ #include <dt-bindings/clock/qcom,rpmcc.h> | |||
+ #include <dt-bindings/power/qcom-rpmpd.h> | |||
+ | |||
+ soc { | |||
+ #address-cells = <2>; | |||
+ #size-cells = <2>; | |||
+ | |||
+ clock-controller@5990000 { | |||
+ compatible = "qcom,qcm2290-gpucc"; | |||
+ reg = <0x0 0x05990000 0x0 0x9000>; | |||
+ clocks = <&gcc GCC_GPU_CFG_AHB_ | |||
+ <&rpmcc RPM_SMD_XO_CLK_S | |||
+ <&gcc GCC_GPU_GPLL0_CL | |||
+ <&gcc GCC_GPU_GPLL0_DI | |||
+ power-domains = <&rpmpd QCM2290_VDDCX>; | |||
+ required-opps = <&rpmpd_opp_low_sv | |||
+ #clock-cells = <1>; | |||
+ #reset-cells = <1>; | |||
+ #power-domain-cells = <1>; | |||
+ }; | |||
+ }; | |||
+... |
@@ -0,0 +1,47 @@ | |||
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/clock/qcom,qcs404-turingcc.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: Qualcomm Turing Clock & Reset Controller on QCS404 | |||
+ | |||
+maintainers: | |||
+ - Bjorn Andersson <andersson@kernel.org> | |||
+ | |||
+properties: | |||
+ compatible: | |||
+ const: qcom,qcs404-turingcc | |||
+ | |||
+ reg: | |||
+ maxItems: 1 | |||
+ | |||
+ clocks: | |||
+ maxItems: 1 | |||
+ | |||
+ '#clock-cells': | |||
+ const: 1 | |||
+ | |||
+ '#reset-cells': | |||
+ const: 1 | |||
+ | |||
+required: | |||
+ - compatible | |||
+ - reg | |||
+ - clocks | |||
+ - '#clock-cells' | |||
+ - '#reset-cells' | |||
+ | |||
+additionalProper | |||
+ | |||
+examples: | |||
+ - | | |||
+ #include <dt-bindings/clock/qcom,gcc-qcs404.h> | |||
+ clock-controller@800000 { | |||
+ compatible = "qcom,qcs404-turingcc"; | |||
+ reg = <0x00800000 0x30000>; | |||
+ clocks = <&gcc GCC_CDSP_CFG_AHB | |||
+ | |||
+ #clock-cells = <1>; | |||
+ #reset-cells = <1>; | |||
+ }; |
@@ -31,6 +31,7 @@ properties: | |||
required: | required: | ||
- compatible | - compatible | ||
- clocks | - clocks | ||
+ - '#power-domain-cells' | |||
allOf: | allOf: | ||
- $ref: qcom,gcc.yaml# | - $ref: qcom,gcc.yaml# |
@@ -139,7 +139,7 @@ examples: | |||
- | | - | | ||
rpm { | rpm { | ||
rpm-requests { | rpm-requests { | ||
- compatible = "qcom,rpm- | + compatible = "qcom,rpm-msm8916", "qcom,smd-rpm"; | ||
qcom,smd-channels = "rpm_requests"; | qcom,smd-channels = "rpm_requests"; | ||
clock-controller { | clock-controller { |
@@ -46,6 +46,7 @@ properties: | |||
required: | required: | ||
- compatible | - compatible | ||
- clocks | - clocks | ||
+ - '#power-domain-cells' | |||
allOf: | allOf: | ||
- $ref: qcom,gcc.yaml# | - $ref: qcom,gcc.yaml# |
@@ -37,28 +37,16 @@ properties: | |||
- const: dp_phy_pll_link_ | - const: dp_phy_pll_link_ | ||
- const: dp_phy_pll_vco_d | - const: dp_phy_pll_vco_d | ||
- '#clock-cells': | |||
- const: 1 | |||
- | |||
- '#reset-cells': | |||
- const: 1 | |||
- | |||
- '#power-domain-cells': | |||
- const: 1 | |||
- | |||
- reg: | |||
- maxItems: 1 | |||
- | |||
required: | required: | ||
- compatible | - compatible | ||
- - reg | |||
- clocks | - clocks | ||
- clock-names | - clock-names | ||
- - '#clock-cells' | |||
- - '#reset-cells' | |||
- '#power-domain-cells' | - '#power-domain-cells' | ||
-additionalProper | +allOf: | ||
+ - $ref: qcom,gcc.yaml# | |||
+ | |||
+unevaluatedPrope | |||
examples: | examples: | ||
- | | - | |
@@ -41,28 +41,16 @@ properties: | |||
- const: edp_phy_pll_link | - const: edp_phy_pll_link | ||
- const: edp_phy_pll_vco_ | - const: edp_phy_pll_vco_ | ||
- '#clock-cells': | |||
- const: 1 | |||
- | |||
- '#reset-cells': | |||
- const: 1 | |||
- | |||
- '#power-domain-cells': | |||
- const: 1 | |||
- | |||
- reg: | |||
- maxItems: 1 | |||
- | |||
required: | required: | ||
- compatible | - compatible | ||
- - reg | |||
- clocks | - clocks | ||
- clock-names | - clock-names | ||
- - '#clock-cells' | |||
- - '#reset-cells' | |||
- '#power-domain-cells' | - '#power-domain-cells' | ||
-additionalProper | +allOf: | ||
+ - $ref: qcom,gcc.yaml# | |||
+ | |||
+unevaluatedPrope | |||
examples: | examples: | ||
- | | - | |
@@ -18,9 +18,16 @@ description: | | |||
properties: | properties: | ||
compatible: | compatible: | ||
- | + oneOf: | ||
- - qcom,sc8280xp-lpassaudiocc | + - enum: | ||
- | + - qcom,sc8280xp-lpassaudiocc | ||
+ - qcom,sc8280xp-lpasscc | |||
+ - items: | |||
+ - const: qcom,x1e80100-lpassaudiocc | |||
+ - const: qcom,sc8280xp-lpassaudiocc | |||
+ - items: | |||
+ - const: qcom,x1e80100-lpasscc | |||
+ - const: qcom,sc8280xp-lpasscc | |||
reg: | reg: | ||
maxItems: 1 | maxItems: 1 |
@@ -46,28 +46,16 @@ properties: | |||
- const: dp_link_clk_divs | - const: dp_link_clk_divs | ||
- const: dp_vco_divided_c | - const: dp_vco_divided_c | ||
- '#clock-cells': | |||
- const: 1 | |||
- | |||
- '#reset-cells': | |||
- const: 1 | |||
- | |||
- '#power-domain-cells': | |||
- const: 1 | |||
- | |||
- reg: | |||
- maxItems: 1 | |||
- | |||
required: | required: | ||
- compatible | - compatible | ||
- - reg | |||
- clocks | - clocks | ||
- clock-names | - clock-names | ||
- - '#clock-cells' | |||
- - '#reset-cells' | |||
- '#power-domain-cells' | - '#power-domain-cells' | ||
-additionalProper | +allOf: | ||
+ - $ref: qcom,gcc.yaml# | |||
+ | |||
+unevaluatedPrope | |||
examples: | examples: | ||
- | | - | |
@@ -41,6 +41,7 @@ properties: | |||
required: | required: | ||
- compatible | - compatible | ||
- clocks | - clocks | ||
+ - '#power-domain-cells' | |||
allOf: | allOf: | ||
- $ref: qcom,gcc.yaml# | - $ref: qcom,gcc.yaml# |
@@ -0,0 +1,63 @@ | |||
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/clock/qcom,sm4450-camcc.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: Qualcomm Camera Clock & Reset Controller on SM4450 | |||
+ | |||
+maintainers: | |||
+ - Ajit Pandey <quic_ajipan@quicinc.com> | |||
+ - Taniya Das <quic_tdas@quicinc.com> | |||
+ | |||
+description: | | |||
+ Qualcomm camera clock control module provides the clocks, resets and power | |||
+ domains on SM4450 | |||
+ | |||
+ See also:: include/dt-bindings/clock/qcom,sm4450-camcc.h | |||
+ | |||
+properties: | |||
+ compatible: | |||
+ const: qcom,sm4450-camcc | |||
+ | |||
+ reg: | |||
+ maxItems: 1 | |||
+ | |||
+ clocks: | |||
+ items: | |||
+ - description: Board XO source | |||
+ - description: Camera AHB clock source from GCC | |||
+ | |||
+ '#clock-cells': | |||
+ const: 1 | |||
+ | |||
+ '#reset-cells': | |||
+ const: 1 | |||
+ | |||
+ '#power-domain-cells': | |||
+ const: 1 | |||
+ | |||
+required: | |||
+ - compatible | |||
+ - reg | |||
+ - clocks | |||
+ - '#clock-cells' | |||
+ - '#reset-cells' | |||
+ - '#power-domain-cells' | |||
+ | |||
+additionalProper | |||
+ | |||
+examples: | |||
+ - | | |||
+ #include <dt-bindings/clock/qcom,rpmh.h> | |||
+ #include <dt-bindings/clock/qcom,sm4450-gcc.h> | |||
+ clock-controller@ade0000 { | |||
+ compatible = "qcom,sm4450-camcc"; | |||
+ reg = <0x0ade0000 0x20000>; | |||
+ clocks = <&rpmhcc RPMH_CXO_CLK>, | |||
+ <&gcc GCC_CAMERA_AHB_C | |||
+ #clock-cells = <1>; | |||
+ #reset-cells = <1>; | |||
+ #power-domain-cells = <1>; | |||
+ }; | |||
+... |
@@ -0,0 +1,71 @@ | |||
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/clock/qcom,sm4450-dispcc.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: Qualcomm Display Clock & Reset Controller on SM4450 | |||
+ | |||
+maintainers: | |||
+ - Ajit Pandey <quic_ajipan@quicinc.com> | |||
+ - Taniya Das <quic_tdas@quicinc.com> | |||
+ | |||
+description: | | |||
+ Qualcomm display clock control module provides the clocks, resets and power | |||
+ domains on SM4450 | |||
+ | |||
+ See also:: include/dt-bindings/clock/qcom,sm4450-dispcc.h | |||
+ | |||
+properties: | |||
+ compatible: | |||
+ const: qcom,sm4450-dispcc | |||
+ | |||
+ reg: | |||
+ maxItems: 1 | |||
+ | |||
+ clocks: | |||
+ items: | |||
+ - description: Board XO source | |||
+ - description: Board active XO source | |||
+ - description: Display AHB clock source from GCC | |||
+ - description: sleep clock source | |||
+ - description: Byte clock from DSI PHY0 | |||
+ - description: Pixel clock from DSI PHY0 | |||
+ | |||
+ '#clock-cells': | |||
+ const: 1 | |||
+ | |||
+ '#reset-cells': | |||
+ const: 1 | |||
+ | |||
+ '#power-domain-cells': | |||
+ const: 1 | |||
+ | |||
+required: | |||
+ - compatible | |||
+ - reg | |||
+ - clocks | |||
+ - '#clock-cells' | |||
+ - '#reset-cells' | |||
+ - '#power-domain-cells' | |||
+ | |||
+additionalProper | |||
+ | |||
+examples: | |||
+ - | | |||
+ #include <dt-bindings/clock/qcom,rpmh.h> | |||
+ #include <dt-bindings/clock/qcom,sm4450-gcc.h> | |||
+ clock-controller@af00000 { | |||
+ compatible = "qcom,sm4450-dispcc"; | |||
+ reg = <0x0af00000 0x20000>; | |||
+ clocks = <&rpmhcc RPMH_CXO_CLK>, | |||
+ <&rpmhcc RPMH_CXO_CLK_A>, | |||
+ <&gcc GCC_DISP_AHB_CLK | |||
+ <&sleep_clk>, | |||
+ <&dsi0_phy_pll_out | |||
+ <&dsi0_phy_pll_out | |||
+ #clock-cells = <1>; | |||
+ #reset-cells = <1>; | |||
+ #power-domain-cells = <1>; | |||
+ }; | |||
+... |
@@ -32,6 +32,7 @@ properties: | |||
required: | required: | ||
- compatible | - compatible | ||
- clocks | - clocks | ||
+ - '#power-domain-cells' | |||
allOf: | allOf: | ||
- $ref: qcom,gcc.yaml# | - $ref: qcom,gcc.yaml# |
@@ -28,27 +28,15 @@ properties: | |||
- description: Pixel clock from DSI PHY0 | - description: Pixel clock from DSI PHY0 | ||
- description: GPLL0 DISP DIV clock from GCC | - description: GPLL0 DISP DIV clock from GCC | ||
- '#clock-cells': | |||
- const: 1 | |||
- | |||
- '#reset-cells': | |||
- const: 1 | |||
- | |||
- '#power-domain-cells': | |||
- const: 1 | |||
- | |||
- reg: | |||
- maxItems: 1 | |||
- | |||
required: | required: | ||
- compatible | - compatible | ||
- - reg | |||
- clocks | - clocks | ||
- - '#clock-cells' | |||
- - '#reset-cells' | |||
- '#power-domain-cells' | - '#power-domain-cells' | ||
-additionalProper | +allOf: | ||
+ - $ref: qcom,gcc.yaml# | |||
+ | |||
+unevaluatedPrope | |||
examples: | examples: | ||
- | | - | |
@@ -7,7 +7,7 @@ $schema: http://devicetre | |||
title: Qualcomm Graphics Clock & Reset Controller on SM6115 | title: Qualcomm Graphics Clock & Reset Controller on SM6115 | ||
maintainers: | maintainers: | ||
- - Konrad Dybcio | + - Konrad Dybcio <konradybcio@kernel.org> | ||
description: | | description: | | ||
Qualcomm graphics clock control module provides clocks, resets and power | Qualcomm graphics clock control module provides clocks, resets and power |
@@ -7,7 +7,7 @@ $schema: http://devicetre | |||
title: Qualcomm Graphics Clock & Reset Controller on SM6125 | title: Qualcomm Graphics Clock & Reset Controller on SM6125 | ||
maintainers: | maintainers: | ||
- - Konrad Dybcio | + - Konrad Dybcio <konradybcio@kernel.org> | ||
description: | | description: | | ||
Qualcomm graphics clock control module provides clocks and power domains on | Qualcomm graphics clock control module provides clocks and power domains on |
@@ -7,7 +7,7 @@ $schema: http://devicetre | |||
title: Qualcomm Camera Clock & Reset Controller on SM6350 | title: Qualcomm Camera Clock & Reset Controller on SM6350 | ||
maintainers: | maintainers: | ||
- - Konrad Dybcio | + - Konrad Dybcio <konradybcio@kernel.org> | ||
description: | | description: | | ||
Qualcomm camera clock control module provides the clocks, resets and power | Qualcomm camera clock control module provides the clocks, resets and power |
@@ -7,7 +7,7 @@ $schema: http://devicetre | |||
title: Qualcomm Display Clock & Reset Controller on SM6375 | title: Qualcomm Display Clock & Reset Controller on SM6375 | ||
maintainers: | maintainers: | ||
- - Konrad Dybcio | + - Konrad Dybcio <konradybcio@kernel.org> | ||
description: | | description: | | ||
Qualcomm display clock control module provides the clocks, resets and power | Qualcomm display clock control module provides the clocks, resets and power |
@@ -7,7 +7,7 @@ $schema: http://devicetre | |||
title: Qualcomm Global Clock & Reset Controller on SM6375 | title: Qualcomm Global Clock & Reset Controller on SM6375 | ||
maintainers: | maintainers: | ||
- - Konrad Dybcio | + - Konrad Dybcio <konradybcio@kernel.org> | ||
description: | | description: | | ||
Qualcomm global clock control module provides the clocks, resets and power | Qualcomm global clock control module provides the clocks, resets and power | ||
@@ -31,6 +31,7 @@ properties: | |||
required: | required: | ||
- compatible | - compatible | ||
- clocks | - clocks | ||
+ - '#power-domain-cells' | |||
unevaluatedPrope | unevaluatedPrope | ||
@@ -7,7 +7,7 @@ $schema: http://devicetre | |||
title: Qualcomm Graphics Clock & Reset Controller on SM6375 | title: Qualcomm Graphics Clock & Reset Controller on SM6375 | ||
maintainers: | maintainers: | ||
- - Konrad Dybcio | + - Konrad Dybcio <konradybcio@kernel.org> | ||
description: | | description: | | ||
Qualcomm graphics clock control module provides clocks, resets and power | Qualcomm graphics clock control module provides clocks, resets and power |
@@ -0,0 +1,60 @@ | |||
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/clock/qcom,sm7150-camcc.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: Qualcomm Camera Clock & Reset Controller on SM7150 | |||
+ | |||
+maintainers: | |||
+ - Danila Tikhonov <danila@jiaxyga.com> | |||
+ - David Wronek <david@mainlining.org> | |||
+ - Jens Reidel <adrian@travitia.xyz> | |||
+ | |||
+description: | | |||
+ Qualcomm camera clock control module provides the clocks, resets and power | |||
+ domains on SM7150. | |||
+ | |||
+ See also:: include/dt-bindings/clock/qcom,sm7150-camcc.h | |||
+ | |||
+properties: | |||
+ compatible: | |||
+ const: qcom,sm7150-camcc | |||
+ | |||
+ clocks: | |||
+ items: | |||
+ - description: Board XO source | |||
+ - description: Board XO Active-Only source | |||
+ - description: Sleep clock source | |||
+ | |||
+ power-domains: | |||
+ maxItems: 1 | |||
+ description: | |||
+ CX power domain. | |||
+ | |||
+required: | |||
+ - compatible | |||
+ - clocks | |||
+ - power-domains | |||
+ | |||
+allOf: | |||
+ - $ref: qcom,gcc.yaml# | |||
+ | |||
+unevaluatedPrope | |||
+ | |||
+examples: | |||
+ - | | |||
+ #include <dt-bindings/clock/qcom,rpmh.h> | |||
+ #include <dt-bindings/power/qcom,rpmhpd.h> | |||
+ clock-controller@ad00000 { | |||
+ compatible = "qcom,sm7150-camcc"; | |||
+ reg = <0xad00000 0x10000>; | |||
+ clocks = <&rpmhcc RPMH_CXO_CLK>, | |||
+ <&rpmhcc RPMH_CXO_CLK_A>, | |||
+ <&sleep_clk>; | |||
+ power-domains = <&rpmhpd RPMHPD_CX>; | |||
+ #clock-cells = <1>; | |||
+ #reset-cells = <1>; | |||
+ #power-domain-cells = <1>; | |||
+ }; | |||
+... |
@@ -0,0 +1,75 @@ | |||
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/clock/qcom,sm7150-dispcc.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: Qualcomm Display Clock & Reset Controller for SM7150 | |||
+ | |||
+maintainers: | |||
+ - Danila Tikhonov <danila@jiaxyga.com> | |||
+ - David Wronek <david@mainlining.org> | |||
+ - Jens Reidel <adrian@travitia.xyz> | |||
+ | |||
+description: | | |||
+ Qualcomm display clock control module provides the clocks, resets and power | |||
+ domains on SM7150. | |||
+ | |||
+ See also:: include/dt-bindings/clock/qcom,sm7150-dispcc.h | |||
+ | |||
+properties: | |||
+ compatible: | |||
+ const: qcom,sm7150-dispcc | |||
+ | |||
+ clocks: | |||
+ items: | |||
+ - description: Board XO source | |||
+ - description: Board Always On XO source | |||
+ - description: GPLL0 source from GCC | |||
+ - description: Sleep clock source | |||
+ - description: Byte clock from MDSS DSI PHY0 | |||
+ - description: Pixel clock from MDSS DSI PHY0 | |||
+ - description: Byte clock from MDSS DSI PHY1 | |||
+ - description: Pixel clock from MDSS DSI PHY1 | |||
+ - description: Link clock from DP PHY | |||
+ - description: VCO DIV clock from DP PHY | |||
+ | |||
+ power-domains: | |||
+ maxItems: 1 | |||
+ description: | |||
+ CX power domain. | |||
+ | |||
+required: | |||
+ - compatible | |||
+ - clocks | |||
+ - power-domains | |||
+ | |||
+allOf: | |||
+ - $ref: qcom,gcc.yaml# | |||
+ | |||
+unevaluatedPrope | |||
+ | |||
+examples: | |||
+ - | | |||
+ #include <dt-bindings/clock/qcom,sm7150-gcc.h> | |||
+ #include <dt-bindings/clock/qcom,rpmh.h> | |||
+ #include <dt-bindings/power/qcom,rpmhpd.h> | |||
+ clock-controller@af00000 { | |||
+ compatible = "qcom,sm7150-dispcc"; | |||
+ reg = <0x0af00000 0x200000>; | |||
+ clocks = <&rpmhcc RPMH_CXO_CLK>, | |||
+ <&rpmhcc RPMH_CXO_CLK_A>, | |||
+ <&gcc GCC_DISP_GPLL0_C | |||
+ <&sleep_clk>, | |||
+ <&mdss_dsi0_phy 0>, | |||
+ <&mdss_dsi0_phy 1>, | |||
+ <&mdss_dsi1_phy 0>, | |||
+ <&mdss_dsi1_phy 1>, | |||
+ <&dp_phy 0>, | |||
+ <&dp_phy 1>; | |||
+ power-domains = <&rpmhpd RPMHPD_CX>; | |||
+ #clock-cells = <1>; | |||
+ #reset-cells = <1>; | |||
+ #power-domain-cells = <1>; | |||
+ }; | |||
+... |
@@ -30,6 +30,7 @@ properties: | |||
required: | required: | ||
- compatible | - compatible | ||
- clocks | - clocks | ||
+ - '#power-domain-cells' | |||
allOf: | allOf: | ||
- $ref: qcom,gcc.yaml# | - $ref: qcom,gcc.yaml# |
@@ -0,0 +1,58 @@ | |||
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/clock/qcom,sm7150-videocc.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: Qualcomm Video Clock & Reset Controller on SM7150 | |||
+ | |||
+maintainers: | |||
+ - Danila Tikhonov <danila@jiaxyga.com> | |||
+ - David Wronek <david@mainlining.org> | |||
+ - Jens Reidel <adrian@travitia.xyz> | |||
+ | |||
+description: | | |||
+ Qualcomm video clock control module provides the clocks, resets and power | |||
+ domains on SM7150. | |||
+ | |||
+ See also:: include/dt-bindings/clock/qcom,videocc-sm7150.h | |||
+ | |||
+properties: | |||
+ compatible: | |||
+ const: qcom,sm7150-videocc | |||
+ | |||
+ clocks: | |||
+ items: | |||
+ - description: Board XO source | |||
+ - description: Board Always On XO source | |||
+ | |||
+ power-domains: | |||
+ maxItems: 1 | |||
+ description: | |||
+ CX power domain. | |||
+ | |||
+required: | |||
+ - compatible | |||
+ - clocks | |||
+ - power-domains | |||
+ | |||
+allOf: | |||
+ - $ref: qcom,gcc.yaml# | |||
+ | |||
+unevaluatedPrope | |||
+ | |||
+examples: | |||
+ - | | |||
+ #include <dt-bindings/clock/qcom,rpmh.h> | |||
+ #include <dt-bindings/power/qcom,rpmhpd.h> | |||
+ videocc: clock-controller@ab00000 { | |||
+ compatible = "qcom,sm7150-videocc"; | |||
+ reg = <0x0ab00000 0x10000>; | |||
+ clocks = <&rpmhcc RPMH_CXO_CLK>, | |||
+ <&rpmhcc RPMH_CXO_CLK_A>; | |||
+ power-domains = <&rpmhpd RPMHPD_CX>; | |||
+ #clock-cells = <1>; | |||
+ #reset-cells = <1>; | |||
+ #power-domain-cells = <1>; | |||
+ }; | |||
+... |
@@ -0,0 +1,77 @@ | |||
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |||
+%YAML 1.2 | |||
+--- | |||
+$id: http://devicetree.org/schemas/clock/qcom,sm8150-camcc.yaml# | |||
+$schema: http://devicetree.org/meta-schemas/core.yaml# | |||
+ | |||
+title: Qualcomm Camera Clock & Reset Controller on SM8150 | |||
+ | |||
+maintainers: | |||
+ - Satya Priya Kakitapalli <quic_skakitap@quicinc.com> | |||
+ | |||
+description: | | |||
+ Qualcomm camera clock control module provides the clocks, resets and | |||
+ power domains on SM8150. | |||
+ | |||
+ See also:: include/dt-bindings/clock/qcom,sm8150-camcc.h | |||
+ | |||
+properties: | |||
+ compatible: | |||
+ const: qcom,sm8150-camcc | |||
+ | |||
+ reg: | |||
+ maxItems: 1 | |||
+ | |||
+ clocks: | |||
+ items: | |||
+ - description: Board XO source | |||
+ - description: Camera AHB clock from GCC | |||
+ | |||
+ power-domains: | |||
+ maxItems: 1 | |||
+ description: | |||
+ A phandle and PM domain specifier for the MMCX power domain. | |||
+ | |||
+ required-opps: | |||
+ maxItems: 1 | |||
+ description: | |||
+ A phandle to an OPP node describing required MMCX performance point. | |||
+ | |||
+ '#clock-cells': | |||
+ const: 1 | |||
+ | |||
+ '#reset-cells': | |||
+ const: 1 | |||
+ | |||
+ '#power-domain-cells': | |||
+ const: 1 | |||
+ | |||
+required: | |||
+ - compatible | |||
+ - reg | |||
+ - clocks | |||
+ - power-domains | |||
+ - required-opps | |||
+ - '#clock-cells' | |||
+ - '#reset-cells' | |||
+ - '#power-domain-cells' | |||
+ | |||
+additionalProper | |||
+ | |||
+examples: | |||
+ - | | |||
+ #include <dt-bindings/clock/qcom,gcc-sm8150.h> | |||
+ #include <dt-bindings/clock/qcom,rpmh.h> | |||
+ #include <dt-bindings/power/qcom-rpmpd.h> | |||
+ clock-controller@ad00000 { | |||
+ compatible = "qcom,sm8150-camcc"; | |||
+ reg = <0x0ad00000 0x10000>; | |||
+ clocks = <&rpmhcc RPMH_CXO_CLK>, | |||
+ <&gcc GCC_CAMERA_AHB_C | |||
+ power-domains = <&rpmhpd SM8150_MMCX>; | |||
+ required-opps = <&rpmhpd_opp_low_s | |||
+ #clock-cells = <1>; | |||
+ #reset-cells = <1>; | |||
+ #power-domain-cells = <1>; | |||
+ }; | |||
+... |
@@ -7,7 +7,7 @@ $schema: http://devicetre | |||
title: Qualcomm SM8350 Video Clock & Reset Controller | title: Qualcomm SM8350 Video Clock & Reset Controller | ||
maintainers: | maintainers: | ||
- - Konrad Dybcio | + - Konrad Dybcio <konradybcio@kernel.org> | ||
description: | | description: | | ||
Qualcomm video clock control module provides the clocks, resets and power | Qualcomm video clock control module provides the clocks, resets and power |
@@ -8,18 +8,18 @@ title: Qualcomm Camera Clock & Reset Controller on SM8450 | |||
maintainers: | maintainers: | ||
- Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org> | - Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org> | ||
+ - Jagadeesh Kona <quic_jkona@quicinc.com> | |||
description: | | description: | | ||
Qualcomm camera clock control module provides the clocks, resets and power | Qualcomm camera clock control module provides the clocks, resets and power | ||
domains on SM8450. | domains on SM8450. | ||
- See | + See also: | ||
+ include/dt-bindings/clock/qcom,sc8280xp-camcc.h | |||
include/dt-bindings/clock/qcom,sm8450-camcc.h | include/dt-bindings/clock/qcom,sm8450-camcc.h | ||
include/dt-bindings/clock/qcom,sm8550-camcc.h | include/dt-bindings/clock/qcom,sm8550-camcc.h | ||
- include/dt-bindings/clock/qcom, | + include/dt-bindings/clock/qcom,sm8650-camcc.h | ||
- | + include/dt-bindings/clock/qcom,x1e80100-camcc.h | ||
-allOf: | |||
- - $ref: qcom,gcc.yaml# | |||
properties: | properties: | ||
compatible: | compatible: | ||
@@ -27,6 +27,8 @@ properties: | |||
- qcom,sc8280xp-camcc | - qcom,sc8280xp-camcc | ||
- qcom,sm8450-camcc | - qcom,sm8450-camcc | ||
- qcom,sm8550-camcc | - qcom,sm8550-camcc | ||
+ - qcom,sm8650-camcc | |||
+ - qcom,x1e80100-camcc | |||
clocks: | clocks: | ||
items: | items: | ||
@@ -52,7 +54,21 @@ required: | |||
- compatible | - compatible | ||
- clocks | - clocks | ||
- power-domains | - power-domains | ||
- - required-opps | + | ||
+allOf: | |||
+ - $ref: qcom,gcc.yaml# | |||
+ - if: | |||
+ properties: | |||
+ compatible: | |||
+ contains: | |||
+ enum: | |||
+ - qcom,sc8280xp-camcc | |||
+ - qcom,sm8450-camcc | |||
+ - qcom,sm8550-camcc | |||
+ - qcom,x1e80100-camcc | |||
+ then: | |||
+ required: | |||
+ - required-opps | |||
unevaluatedPrope | unevaluatedPrope | ||
@@ -40,18 +40,6 @@ properties: | |||
- description: Link clock from DP PHY3 | - description: Link clock from DP PHY3 | ||
- description: VCO DIV clock from DP PHY3 | - description: VCO DIV clock from DP PHY3 | ||
- '#clock-cells': | |||
- const: 1 | |||
- | |||
- '#reset-cells': | |||
- const: 1 | |||
- | |||
- '#power-domain-cells': | |||
- const: 1 | |||
- | |||
- reg: | |||
- maxItems: 1 | |||
- | |||
power-domains: | power-domains: | ||
description: | description: | ||
A phandle and PM domain specifier for the MMCX power domain. | A phandle and PM domain specifier for the MMCX power domain. | ||
@@ -64,13 +52,13 @@ properties: | |||
required: | required: | ||
- compatible | - compatible | ||
- - reg | |||
- clocks | - clocks | ||
- - '#clock-cells' | |||
- - '#reset-cells' | |||
- '#power-domain-cells' | - '#power-domain-cells' | ||
-additionalProper | +allOf: | ||
+ - $ref: qcom,gcc.yaml# | |||
+ | |||
+unevaluatedPrope | |||
examples: | examples: | ||
- | | - | |
@@ -7,24 +7,28 @@ $schema: http://devicetre | |||
title: Qualcomm Graphics Clock & Reset Controller on SM8450 | title: Qualcomm Graphics Clock & Reset Controller on SM8450 | ||
maintainers: | maintainers: | ||
- - Konrad Dybcio | + - Konrad Dybcio <konradybcio@kernel.org> | ||
description: | | description: | | ||
Qualcomm graphics clock control module provides the clocks, resets and power | Qualcomm graphics clock control module provides the clocks, resets and power | ||
domains on Qualcomm SoCs. | domains on Qualcomm SoCs. | ||
See also:: | See also:: | ||
+ include/dt-bindings/clock/qcom,sm4450-gpucc.h | |||
include/dt-bindings/clock/qcom,sm8450-gpucc.h | include/dt-bindings/clock/qcom,sm8450-gpucc.h | ||
include/dt-bindings/clock/qcom,sm8550-gpucc.h | include/dt-bindings/clock/qcom,sm8550-gpucc.h | ||
include/dt-bindings/reset/qcom,sm8450-gpucc.h | include/dt-bindings/reset/qcom,sm8450-gpucc.h | ||
include/dt-bindings/reset/qcom,sm8650-gpucc.h | include/dt-bindings/reset/qcom,sm8650-gpucc.h | ||
+ include/dt-bindings/reset/qcom,x1e80100-gpucc.h | |||
properties: | properties: | ||
compatible: | compatible: | ||
enum: | enum: | ||
+ - qcom,sm4450-gpucc | |||
- qcom,sm8450-gpucc | - qcom,sm8450-gpucc | ||
- qcom,sm8550-gpucc | - qcom,sm8550-gpucc | ||
- qcom,sm8650-gpucc | - qcom,sm8650-gpucc | ||
+ - qcom,x1e80100-gpucc | |||
clocks: | clocks: | ||
items: | items: | ||
@@ -32,27 +36,15 @@ properties: | |||
- description: GPLL0 main branch source | - description: GPLL0 main branch source | ||
- description: GPLL0 div branch source | - description: GPLL0 div branch source | ||
- '#clock-cells': | |||
- const: 1 | |||
- | |||
- '#reset-cells': | |||
- const: 1 | |||
- | |||
- '#power-domain-cells': | |||
- const: 1 | |||
- | |||
- reg: | |||
- maxItems: 1 | |||
- | |||
required: | required: | ||
- compatible | - compatible | ||
- - reg | |||
- clocks | - clocks | ||
- - '#clock-cells' | |||
- - '#reset-cells' | |||
- '#power-domain-cells' | - '#power-domain-cells' | ||
-additionalProper | +allOf: | ||
+ - $ref: qcom,gcc.yaml# | |||
+ | |||
+unevaluatedPrope | |||
examples: | examples: | ||
- | | - | |
@@ -8,21 +8,22 @@ title: Qualcomm Video Clock & Reset Controller on SM8450 | |||
maintainers: | maintainers: | ||
- Taniya Das <quic_tdas@quicinc.com> | - Taniya Das <quic_tdas@quicinc.com> | ||
+ - Jagadeesh Kona <quic_jkona@quicinc.com> | |||
description: | | description: | | ||
Qualcomm video clock control module provides the clocks, resets and power | Qualcomm video clock control module provides the clocks, resets and power | ||
domains on SM8450. | domains on SM8450. | ||
- See also:: include/dt-bindings/clock/qcom,videocc-sm8450.h | + See also: | ||
+ include/dt-bindings/clock/qcom,sm8450-videocc.h | |||
+ include/dt-bindings/clock/qcom,sm8650-videocc.h | |||
properties: | properties: | ||
compatible: | compatible: | ||
enum: | enum: | ||
- qcom,sm8450-videocc | - qcom,sm8450-videocc | ||
- qcom,sm8550-videocc | - qcom,sm8550-videocc | ||
- | + - qcom,sm8650-videocc | ||
- reg: | |||
- maxItems: 1 | |||
clocks: | clocks: | ||
items: | items: | ||
@@ -39,26 +40,26 @@ properties: | |||
description: | description: | ||
A phandle to an OPP node describing required MMCX performance point. | A phandle to an OPP node describing required MMCX performance point. | ||
- '#clock-cells': | |||
- const: 1 | |||
- | |||
- '#reset-cells': | |||
- const: 1 | |||
- | |||
- '#power-domain-cells': | |||
- const: 1 | |||
- | |||
required: | required: | ||
- compatible | - compatible | ||
- - reg | |||
- clocks | - clocks | ||
- power-domains | - power-domains | ||
- - required-opps | |||
- - '#clock-cells' | |||
- - '#reset-cells' | |||
- '#power-domain-cells' | - '#power-domain-cells' | ||
-additionalProper | +allOf: | ||
+ - $ref: qcom,gcc.yaml# | |||
+ - if: | |||
+ properties: | |||
+ compatible: | |||
+ contains: | |||
+ enum: | |||
+ - qcom,sm8450-videocc | |||
+ - qcom,sm8550-videocc | |||
+ then: | |||
+ required: | |||
+ - required-opps | |||
+ | |||
+unevaluatedPrope | |||
examples: | examples: | ||
- | | - | |
@@ -14,12 +14,17 @@ description: | | |||
Qualcomm display clock control module provides the clocks, resets and power | Qualcomm display clock control module provides the clocks, resets and power | ||
domains on SM8550. | domains on SM8550. | ||
- See also:: include/dt-bindings/clock/qcom,sm8550-dispcc.h | + See also: | ||
+ - include/dt-bindings/clock/qcom,sm8550-dispcc.h | |||
+ - include/dt-bindings/clock/qcom,sm8650-dispcc.h | |||
+ - include/dt-bindings/clock/qcom,x1e80100-dispcc.h | |||
properties: | properties: | ||
compatible: | compatible: | ||
enum: | enum: | ||
- qcom,sm8550-dispcc | - qcom,sm8550-dispcc | ||
+ - qcom,sm8650-dispcc | |||
+ - qcom,x1e80100-dispcc | |||
clocks: | clocks: | ||
items: | items: | ||
@@ -40,18 +45,6 @@ properties: | |||
- description: Link clock from DP PHY3 | - description: Link clock from DP PHY3 | ||
- description: VCO DIV clock from DP PHY3 | - description: VCO DIV clock from DP PHY3 | ||
- '#clock-cells': | |||
- const: 1 | |||
- | |||
- '#reset-cells': | |||
- const: 1 | |||
- | |||
- '#power-domain-cells': | |||
- const: 1 | |||
- | |||
- reg: | |||
- maxItems: 1 | |||
- | |||
power-domains: | power-domains: | ||
description: | description: | ||
A phandle and PM domain specifier for the MMCX power domain. | A phandle and PM domain specifier for the MMCX power domain. | ||
@@ -64,13 +57,13 @@ properties: | |||
required: | required: | ||
- compatible | - compatible | ||
- - reg | |||
- clocks | - clocks | ||
- - '#clock-cells' | |||
- - '#reset-cells' | |||
- '#power-domain-cells' | - '#power-domain-cells' | ||
-additionalProper | +allOf: | ||
+ - $ref: qcom,gcc.yaml# | |||
+ | |||
+unevaluatedPrope | |||
examples: | examples: | ||
- | | - | |
@@ -34,6 +34,7 @@ properties: | |||
required: | required: | ||
- compatible | - compatible | ||
- clocks | - clocks | ||
+ - '#power-domain-cells' | |||
allOf: | allOf: | ||
- $ref: qcom,gcc.yaml# | - $ref: qcom,gcc.yaml# |
@@ -23,6 +23,7 @@ properties: | |||
- enum: | - enum: | ||
- qcom,sm8550-tcsr | - qcom,sm8550-tcsr | ||
- qcom,sm8650-tcsr | - qcom,sm8650-tcsr | ||
+ - qcom,x1e80100-tcsr | |||
- const: syscon | - const: syscon | ||
clocks: | clocks: |
@@ -35,6 +35,7 @@ properties: | |||
required: | required: | ||
- compatible | - compatible | ||
- clocks | - clocks | ||
+ - '#power-domain-cells' | |||
allOf: | allOf: | ||
- $ref: qcom,gcc.yaml# | - $ref: qcom,gcc.yaml# |
@@ -37,18 +37,6 @@ properties: | |||
minItems: 1 | minItems: 1 | ||
maxItems: 3 | maxItems: 3 | ||
- '#clock-cells': | |||
- const: 1 | |||
- | |||
- '#reset-cells': | |||
- const: 1 | |||
- | |||
- '#power-domain-cells': | |||
- const: 1 | |||
- | |||
- reg: | |||
- maxItems: 1 | |||
- | |||
power-domains: | power-domains: | ||
description: | description: | ||
A phandle and PM domain specifier for the MMCX power domain. | A phandle and PM domain specifier for the MMCX power domain. | ||
@@ -61,21 +49,19 @@ properties: | |||
required: | required: | ||
- compatible | - compatible | ||
- - reg | |||
- clocks | - clocks | ||
- clock-names | - clock-names | ||
- - '#clock-cells' | |||
- - '#reset-cells' | |||
- '#power-domain-cells' | - '#power-domain-cells' | ||
allOf: | allOf: | ||
+ - $ref: qcom,gcc.yaml# | |||
+ | |||
- if: | - if: | ||
properties: | properties: | ||
compatible: | compatible: | ||
enum: | enum: | ||
- qcom,sc7180-videocc | - qcom,sc7180-videocc | ||
- qcom,sdm845-videocc | - qcom,sdm845-videocc | ||
- - qcom,sm8150-videocc | |||
then: | then: | ||
properties: | properties: | ||
clocks: | clocks: | ||
@@ -101,6 +87,22 @@ allOf: | |||
- const: bi_tcxo | - const: bi_tcxo | ||
- const: bi_tcxo_ao | - const: bi_tcxo_ao | ||
+ - if: | |||
+ properties: | |||
+ compatible: | |||
+ enum: | |||
+ - qcom,sm8150-videocc | |||
+ then: | |||
+ properties: | |||
+ clocks: | |||
+ items: | |||
+ - description: AHB | |||
+ - description: Board XO source | |||
+ clock-names: | |||
+ items: | |||
+ - const: iface | |||
+ - const: bi_tcxo | |||
+ | |||
- if: | - if: | ||
properties: | properties: | ||
compatible: | compatible: | ||
@@ -119,7 +121,7 @@ allOf: | |||
- const: bi_tcxo | - const: bi_tcxo | ||
- const: bi_tcxo_ao | - const: bi_tcxo_ao | ||
- | +unevaluatedProperties: false | ||
examples: | examples: | ||
- | | - | |
@@ -41,6 +41,7 @@ required: | |||
- compatible | - compatible | ||
- clocks | - clocks | ||
- power-domains | - power-domains | ||
+ - '#power-domain-cells' | |||
allOf: | allOf: | ||
- $ref: qcom,gcc.yaml# | - $ref: qcom,gcc.yaml# |
@@ -32,12 +32,16 @@ properties: | |||
reg: | reg: | ||
maxItems: 1 | maxItems: 1 | ||
- clocks: | + clocks: | ||
+ minItems: 1 | |||
+ maxItems: 3 | |||
'#clock-cells': | '#clock-cells': | ||
const: 1 | const: 1 | ||
- clock-output-names: | + clock-output-names: | ||
+ minItems: 3 | |||
+ maxItems: 17 | |||
renesas,mode: | renesas,mode: | ||
description: Board-specific settings of the MD_CK* bits on R-Mobile A1 | description: Board-specific settings of the MD_CK* bits on R-Mobile A1 |
@@ -31,6 +31,7 @@ properties: | |||
- renesas,r8a7745-cpg-mssr # RZ/G1E | - renesas,r8a7745-cpg-mssr # RZ/G1E | ||
[diff truncated] |