mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-10-26 10:57:38 +08:00
Merge tag 'devicetree-for-7.4' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux
Pull devicetree updates from Rob Herring: - A bunch of improvements in dt-check-style. Fix various bindings based on these additional checks. - Convert hisilicon,hix5hd2-ir, hisilicon,hi6220-ade, hisilicon,hi6220-dsi, hisilicon,hip05-sas-v1, MediaTek RT5650 codecs, mediatek,g3dsys, mediatek,mt2701-scpsys, ti,omap-mpu, and ti,omap-ocp2scp to DT schema format - Add schemas for ST STM32MP2 DWC3 xHCI USB, ST STM32MP25 USB2-FEMTO PHY, spacemit,k1-gpu and spacemit,k3-gpu, HiSilicon local bus, HiSilicon HIP05 CPLD, SDMC DM2016, and QCom SM7250 and Kuno PDC - Various binding updates to fix schema warnings in .dts files - Drop obsolete .txt bindings for STM32(MP1) RCC, VExpress hwmon and regulator, and mailbox.txt - Remove the unused of_overlay_remove_all() function - Fixes for of_check_msi_parent() - Add "i2c-parent" tracking to fw_devlink * tag 'devicetree-for-7.4' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (72 commits) dt-bindings: usb: dwc3: Document ST STM32MP2 DWC3 xHCI USB controller dt-bindings: iommu: Describe MT8195 infra IRQs dt-bindings: clock: mediatek: Add MT8516 fallbacks dt-bindings: media: Convert hisilicon,hix5hd2-ir to DT schema dt-bindings: display: Convert hisilicon,hi6220-ade to DT schema dt-bindings: display: Convert hisilicon,hi6220-dsi to DT schema dt-bindings: phy: Document ST STM32MP25 USB2-FEMTO PHY of: overlay: remove unused of_overlay_remove_all() dt-bindings: power: Convert mediatek,mt2701-scpsys to DT schema dt-bindings: bus: Add HiSilicon local bus dt-bindings: gpu: img,powervr-rogue: add spacemit,k1-gpu and spacemit,k3-gpu dt-bindings: interrupt-controller: qcom,pdc: Document SM7250 PDC dt-bindings: vendor-prefixes: add Ambarella dt-bindings: reset: Drop obsolete STM32(MP1) RCC bindings dt-bindings: arm: keystone: ti,sci: Correct reg and mboxes constraints dt-bindings: ASoC: Convert MediaTek RT5650 codecs bindings to DT schema dt-bindings: scsi: Convert hisilicon,hip05-sas-v1 to DT schema of/irq: Stop the MSI walk at the first msi-parent of/irq: Fix device node refcount leak in of_check_msi_parent() dt-bindings: display: faraday,tve200: Use a level-high interrupt ...
This commit is contained in:
commit
21a7f44fd0
188 files changed
+3233
-1406
No files matched your search
@@ -45,7 +45,11 @@ patternProperties:
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: arm,cci-400-ctrl-if
|
||||
oneOf:
|
||||
- const: arm,cci-400-ctrl-if
|
||||
- items:
|
||||
- const: arm,cci-400-ctrl-if
|
||||
- const: syscon
|
||||
|
||||
interface-type:
|
||||
enum:
|
||||
|
||||
@@ -308,7 +308,7 @@ examples:
|
||||
arm,trig-in-sigs = <0 1>;
|
||||
arm,trig-in-types = <PE_DBGTRIGGER
|
||||
PE_PMUIRQ>;
|
||||
arm,trig-out-sigs = <0 1 2 >;
|
||||
arm,trig-out-sigs = <0 1 2>;
|
||||
arm,trig-out-types = <PE_EDBGREQ
|
||||
PE_DBGRESTART
|
||||
PE_CTIIRQ>;
|
||||
|
||||
@@ -48,7 +48,7 @@ properties:
|
||||
const: debug_messages
|
||||
|
||||
reg:
|
||||
minItems: 1
|
||||
maxItems: 1
|
||||
|
||||
mbox-names:
|
||||
description: |
|
||||
@@ -59,7 +59,7 @@ properties:
|
||||
- const: tx
|
||||
|
||||
mboxes:
|
||||
minItems: 2
|
||||
maxItems: 2
|
||||
|
||||
ti,host-id:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
|
||||
@@ -19,7 +19,7 @@ properties:
|
||||
- enum:
|
||||
- mediatek,mt2701-audsys
|
||||
- mediatek,mt6765-audsys
|
||||
- mediatek,mt6779-audsys
|
||||
- mediatek,mt6779-audio
|
||||
- mediatek,mt7622-audsys
|
||||
- mediatek,mt8167-audsys
|
||||
- mediatek,mt8173-audsys
|
||||
|
||||
@@ -1,30 +0,0 @@
|
||||
MediaTek g3dsys controller
|
||||
============================
|
||||
|
||||
The MediaTek g3dsys controller provides various clocks and reset controller to
|
||||
the GPU.
|
||||
|
||||
Required Properties:
|
||||
|
||||
- compatible: Should be:
|
||||
- "mediatek,mt2701-g3dsys", "syscon":
|
||||
for MT2701 SoC
|
||||
- "mediatek,mt7623-g3dsys", "mediatek,mt2701-g3dsys", "syscon":
|
||||
for MT7623 SoC
|
||||
- #clock-cells: Must be 1
|
||||
- #reset-cells: Must be 1
|
||||
|
||||
The g3dsys controller uses the common clk binding from
|
||||
Documentation/devicetree/bindings/clock/clock-bindings.txt
|
||||
The available clocks are defined in dt-bindings/clock/mt*-clk.h.
|
||||
|
||||
Example:
|
||||
|
||||
g3dsys: clock-controller@13000000 {
|
||||
compatible = "mediatek,mt7623-g3dsys",
|
||||
"mediatek,mt2701-g3dsys",
|
||||
"syscon";
|
||||
reg = <0 0x13000000 0 0x200>;
|
||||
#clock-cells = <1>;
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
@@ -1,54 +0,0 @@
|
||||
* TI - MPU (Main Processor Unit) subsystem
|
||||
|
||||
The MPU subsystem contain one or several ARM cores
|
||||
depending of the version.
|
||||
The MPU contain CPUs, GIC, L2 cache and a local PRCM.
|
||||
|
||||
Required properties:
|
||||
- compatible : Should be "ti,omap3-mpu" for OMAP3
|
||||
Should be "ti,omap4-mpu" for OMAP4
|
||||
Should be "ti,omap5-mpu" for OMAP5
|
||||
- ti,hwmods: "mpu"
|
||||
|
||||
Optional properties:
|
||||
- sram: Phandle to the ocmcram node
|
||||
|
||||
am335x and am437x only:
|
||||
- pm-sram: Phandles to ocmcram nodes to be used for power management.
|
||||
First should be type 'protect-exec' for the driver to use to copy
|
||||
and run PM functions, second should be regular pool to be used for
|
||||
data region for code. See Documentation/devicetree/bindings/sram/sram.yaml
|
||||
for more details.
|
||||
|
||||
Examples:
|
||||
|
||||
- For an OMAP5 SMP system:
|
||||
|
||||
mpu {
|
||||
compatible = "ti,omap5-mpu";
|
||||
ti,hwmods = "mpu"
|
||||
};
|
||||
|
||||
- For an OMAP4 SMP system:
|
||||
|
||||
mpu {
|
||||
compatible = "ti,omap4-mpu";
|
||||
ti,hwmods = "mpu";
|
||||
};
|
||||
|
||||
|
||||
- For an OMAP3 monocore system:
|
||||
|
||||
mpu {
|
||||
compatible = "ti,omap3-mpu";
|
||||
ti,hwmods = "mpu";
|
||||
};
|
||||
|
||||
- For an AM335x system:
|
||||
|
||||
mpu {
|
||||
compatible = "ti,omap3-mpu";
|
||||
ti,hwmods = "mpu";
|
||||
pm-sram = <&pm_sram_code
|
||||
&pm_sram_data>;
|
||||
};
|
||||
@@ -0,0 +1,58 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/arm/ti/ti,omap-mpu.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: TI MPU (Main Processor Unit) subsystem
|
||||
|
||||
maintainers:
|
||||
- Benoit Cousson <b-cousson@ti.com>
|
||||
|
||||
description:
|
||||
The MPU subsystem contains one or several ARM cores depending on the version.
|
||||
The MPU contains CPUs, GIC, L2 cache and a local PRCM.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- ti,omap3-mpu
|
||||
- ti,omap4-mpu
|
||||
- ti,omap5-mpu
|
||||
|
||||
ti,hwmods:
|
||||
$ref: /schemas/types.yaml#/definitions/string
|
||||
description: Name of the hwmod associated with the MPU
|
||||
const: mpu
|
||||
deprecated: true
|
||||
|
||||
sram:
|
||||
description: ocmcram node
|
||||
|
||||
pm-sram:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||||
description: ocmcram nodes for power management. For am335x and am437x.
|
||||
items:
|
||||
- items:
|
||||
- description: ocmcram node of type protect-exec for PM functions
|
||||
- items:
|
||||
- description: ocmcram node of regular pool to be used for data region
|
||||
|
||||
required:
|
||||
- compatible
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
mpu {
|
||||
compatible = "ti,omap5-mpu";
|
||||
ti,hwmods = "mpu";
|
||||
};
|
||||
|
||||
- |
|
||||
mpu {
|
||||
compatible = "ti,omap3-mpu";
|
||||
ti,hwmods = "mpu";
|
||||
pm-sram = <&pm_sram_code &pm_sram_data>;
|
||||
};
|
||||
@@ -139,6 +139,10 @@ patternProperties:
|
||||
|
||||
"^regulator-.+$":
|
||||
$ref: /schemas/regulator/regulator.yaml#
|
||||
description:
|
||||
If regulator-min-microvolt and regulator-max-microvolt do not both
|
||||
define a range, the supply is treated as fixed and only its voltage
|
||||
can be read.
|
||||
properties:
|
||||
compatible:
|
||||
const: arm,vexpress-volt
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/bus/hisilicon,hisi-localbus.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: HiSilicon local bus
|
||||
|
||||
maintainers:
|
||||
- Wei Xu <xuwei5@hisilicon.com>
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/simple-bus.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
items:
|
||||
- const: hisilicon,hisi-localbus
|
||||
- const: simple-bus
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
soc {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
|
||||
local-bus@80380000 {
|
||||
compatible = "hisilicon,hisi-localbus", "simple-bus";
|
||||
reg = <0x0 0x80380000 0x0 0x10000>;
|
||||
#address-cells = <2>;
|
||||
#size-cells = <1>;
|
||||
ranges = <0 0 0x0 0x90000000 0x08000000>,
|
||||
<1 0 0x0 0x98000000 0x08000000>;
|
||||
};
|
||||
};
|
||||
@@ -1,29 +0,0 @@
|
||||
* OMAP OCP2SCP - ocp interface to scp interface
|
||||
|
||||
properties:
|
||||
- compatible : Should be "ti,am437x-ocp2scp" for AM437x processor
|
||||
Should be "ti,omap-ocp2scp" for all others
|
||||
- reg : Address and length of the register set for the device
|
||||
- #address-cells, #size-cells : Must be present if the device has sub-nodes
|
||||
- ranges : the child address space are mapped 1:1 onto the parent address space
|
||||
- ti,hwmods : must be "ocp2scp_usb_phy"
|
||||
|
||||
Sub-nodes:
|
||||
All the devices connected to ocp2scp are described using sub-node to ocp2scp
|
||||
|
||||
ocp2scp@4a0ad000 {
|
||||
compatible = "ti,omap-ocp2scp";
|
||||
reg = <0x4a0ad000 0x1f>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges;
|
||||
ti,hwmods = "ocp2scp_usb_phy";
|
||||
|
||||
subnode1 {
|
||||
...
|
||||
};
|
||||
|
||||
subnode2 {
|
||||
...
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,74 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/bus/ti,omap-ocp2scp.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: TI OMAP OCP to SCP bus bridge
|
||||
|
||||
maintainers:
|
||||
- Kishon Vijay Abraham I <kishon@ti.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
oneOf:
|
||||
- items:
|
||||
- const: ti,am437x-ocp2scp
|
||||
- const: ti,omap-ocp2scp
|
||||
- const: ti,omap-ocp2scp
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
"#address-cells":
|
||||
const: 1
|
||||
|
||||
"#size-cells":
|
||||
const: 1
|
||||
|
||||
ranges: true
|
||||
|
||||
ti,hwmods:
|
||||
$ref: /schemas/types.yaml#/definitions/string
|
||||
description: Name of the hwmod associated with the device.
|
||||
deprecated: true
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
|
||||
allOf:
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: ti,am437x-ocp2scp
|
||||
then:
|
||||
properties:
|
||||
reg: false
|
||||
else:
|
||||
required:
|
||||
- reg
|
||||
|
||||
additionalProperties:
|
||||
type: object
|
||||
|
||||
examples:
|
||||
- |
|
||||
ocp2scp@4a0ad000 {
|
||||
compatible = "ti,omap-ocp2scp";
|
||||
reg = <0x4a0ad000 0x1f>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges;
|
||||
|
||||
phy@80 {
|
||||
compatible = "ti,omap-usb2";
|
||||
reg = <0x80 0x58>;
|
||||
ctrl-module = <&omap_control_usb2phy>;
|
||||
clocks = <&usb_phy_cm_clk32k>;
|
||||
clock-names = "wkupclk";
|
||||
#phy-cells = <0>;
|
||||
};
|
||||
};
|
||||
@@ -26,7 +26,6 @@ properties:
|
||||
- mediatek,mt7988-apmixedsys
|
||||
- mediatek,mt8135-apmixedsys
|
||||
- mediatek,mt8173-apmixedsys
|
||||
- mediatek,mt8516-apmixedsys
|
||||
- items:
|
||||
- const: mediatek,mt7623-apmixedsys
|
||||
- const: mediatek,mt2701-apmixedsys
|
||||
@@ -42,6 +41,7 @@ properties:
|
||||
- mediatek,mt7629-apmixedsys
|
||||
- mediatek,mt8167-apmixedsys
|
||||
- mediatek,mt8183-apmixedsys
|
||||
- mediatek,mt8516-apmixedsys
|
||||
- const: syscon
|
||||
|
||||
reg:
|
||||
|
||||
@@ -23,7 +23,6 @@ properties:
|
||||
- mediatek,mt7622-topckgen
|
||||
- mediatek,mt8135-topckgen
|
||||
- mediatek,mt8173-topckgen
|
||||
- mediatek,mt8516-topckgen
|
||||
- items:
|
||||
- const: mediatek,mt7623-topckgen
|
||||
- const: mediatek,mt2701-topckgen
|
||||
@@ -43,6 +42,7 @@ properties:
|
||||
- mediatek,mt7988-topckgen
|
||||
- mediatek,mt8167-topckgen
|
||||
- mediatek,mt8183-topckgen
|
||||
- mediatek,mt8516-topckgen
|
||||
- const: syscon
|
||||
|
||||
reg:
|
||||
|
||||
@@ -128,7 +128,7 @@ examples:
|
||||
cvcc12-supply = <&v1v2_hdmi>;
|
||||
|
||||
#sound-dai-cells = <0>;
|
||||
sil,i2s-data-lanes = < 0 1 2 >;
|
||||
sil,i2s-data-lanes = <0 1 2>;
|
||||
clocks = <&mclk>;
|
||||
clock-names = "mclk";
|
||||
|
||||
|
||||
@@ -1,72 +0,0 @@
|
||||
Device-Tree bindings for DesignWare DSI Host Controller v1.20a driver
|
||||
|
||||
A DSI Host Controller resides in the middle of display controller and external
|
||||
HDMI converter or panel.
|
||||
|
||||
Required properties:
|
||||
- compatible: value should be "hisilicon,hi6220-dsi".
|
||||
- reg: physical base address and length of dsi controller's registers.
|
||||
- clocks: contains APB clock phandle + clock-specifier pair.
|
||||
- clock-names: should be "pclk".
|
||||
- ports: contains DSI controller input and output sub port.
|
||||
The input port connects to ADE output port with the reg value "0".
|
||||
The output port with the reg value "1", it could connect to panel or
|
||||
any other bridge endpoints.
|
||||
See Documentation/devicetree/bindings/graph.txt for more device graph info.
|
||||
|
||||
A example of HiKey board hi6220 SoC and board specific DT entry:
|
||||
Example:
|
||||
|
||||
SoC specific:
|
||||
dsi: dsi@f4107800 {
|
||||
compatible = "hisilicon,hi6220-dsi";
|
||||
reg = <0x0 0xf4107800 0x0 0x100>;
|
||||
clocks = <&media_ctrl HI6220_DSI_PCLK>;
|
||||
clock-names = "pclk";
|
||||
status = "disabled";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
/* 0 for input port */
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
dsi_in: endpoint {
|
||||
remote-endpoint = <&ade_out>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
Board specific:
|
||||
&dsi {
|
||||
status = "ok";
|
||||
|
||||
ports {
|
||||
/* 1 for output port */
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
|
||||
dsi_out0: endpoint@0 {
|
||||
remote-endpoint = <&adv7533_in>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
&i2c2 {
|
||||
...
|
||||
|
||||
adv7533: adv7533@39 {
|
||||
...
|
||||
|
||||
port {
|
||||
adv7533_in: endpoint {
|
||||
remote-endpoint = <&dsi_out0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -1,64 +0,0 @@
|
||||
Device-Tree bindings for hisilicon ADE display controller driver
|
||||
|
||||
ADE (Advanced Display Engine) is the display controller which grab image
|
||||
data from memory, do composition, do post image processing, generate RGB
|
||||
timing stream and transfer to DSI.
|
||||
|
||||
Required properties:
|
||||
- compatible: value should be "hisilicon,hi6220-ade".
|
||||
- reg: physical base address and length of the ADE controller's registers.
|
||||
- hisilicon,noc-syscon: ADE NOC QoS syscon.
|
||||
- resets: The ADE reset controller node.
|
||||
- interrupt: the ldi vblank interrupt number used.
|
||||
- clocks: a list of phandle + clock-specifier pairs, one for each entry
|
||||
in clock-names.
|
||||
- clock-names: should contain:
|
||||
"clk_ade_core" for the ADE core clock.
|
||||
"clk_codec_jpeg" for the media NOC QoS clock, which use the same clock with
|
||||
jpeg codec.
|
||||
"clk_ade_pix" for the ADE pixel clock.
|
||||
- assigned-clocks: Should contain "clk_ade_core" and "clk_codec_jpeg" clocks'
|
||||
phandle + clock-specifier pairs.
|
||||
- assigned-clock-rates: clock rates, one for each entry in assigned-clocks.
|
||||
The rate of "clk_ade_core" could be "360000000" or "180000000";
|
||||
The rate of "clk_codec_jpeg" could be or less than "1440000000".
|
||||
These rate values could be configured according to performance and power
|
||||
consumption.
|
||||
- port: the output port. This contains one endpoint subnode, with its
|
||||
remote-endpoint set to the phandle of the connected DSI input endpoint.
|
||||
See Documentation/devicetree/bindings/graph.txt for more device graph info.
|
||||
|
||||
Optional properties:
|
||||
- dma-coherent: Present if dma operations are coherent.
|
||||
|
||||
|
||||
A example of HiKey board hi6220 SoC specific DT entry:
|
||||
Example:
|
||||
|
||||
ade: ade@f4100000 {
|
||||
compatible = "hisilicon,hi6220-ade";
|
||||
reg = <0x0 0xf4100000 0x0 0x7800>;
|
||||
reg-names = "ade_base";
|
||||
hisilicon,noc-syscon = <&medianoc_ade>;
|
||||
resets = <&media_ctrl MEDIA_ADE>;
|
||||
interrupts = <0 115 4>; /* ldi interrupt */
|
||||
|
||||
clocks = <&media_ctrl HI6220_ADE_CORE>,
|
||||
<&media_ctrl HI6220_CODEC_JPEG>,
|
||||
<&media_ctrl HI6220_ADE_PIX_SRC>;
|
||||
/*clock name*/
|
||||
clock-names = "clk_ade_core",
|
||||
"clk_codec_jpeg",
|
||||
"clk_ade_pix";
|
||||
|
||||
assigned-clocks = <&media_ctrl HI6220_ADE_CORE>,
|
||||
<&media_ctrl HI6220_CODEC_JPEG>;
|
||||
assigned-clock-rates = <360000000>, <288000000>;
|
||||
dma-coherent;
|
||||
|
||||
port {
|
||||
ade_out: endpoint {
|
||||
remote-endpoint = <&dsi_in>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,95 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/display/hisilicon/hisilicon,hi6220-ade.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Hisilicon ADE Display Controller
|
||||
|
||||
maintainers:
|
||||
- Xinliang Liu <z.liuxinliang@hisilicon.com>
|
||||
|
||||
description:
|
||||
ADE (Advanced Display Engine) is the display controller which grab image
|
||||
data from memory, do composition, do post image processing, generate RGB
|
||||
timing stream and transfer to DSI.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: hisilicon,hi6220-ade
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
reg-names:
|
||||
items:
|
||||
- const: ade_base
|
||||
|
||||
clocks:
|
||||
maxItems: 3
|
||||
|
||||
clock-names:
|
||||
items:
|
||||
- const: clk_ade_core
|
||||
- const: clk_codec_jpeg
|
||||
- const: clk_ade_pix
|
||||
|
||||
dma-coherent: true
|
||||
|
||||
interrupts:
|
||||
items:
|
||||
- description: LDI vblank interrupt specifier.
|
||||
|
||||
resets:
|
||||
maxItems: 1
|
||||
|
||||
hisilicon,noc-syscon:
|
||||
description: ADE NOC QoS syscon.
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
|
||||
port:
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
description: Output port containing an endpoint subnode.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- reg-names
|
||||
- clocks
|
||||
- clock-names
|
||||
- interrupts
|
||||
- resets
|
||||
- hisilicon,noc-syscon
|
||||
- port
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/clock/hi6220-clock.h>
|
||||
#include <dt-bindings/reset/hisi,hi6220-resets.h>
|
||||
|
||||
bus {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
|
||||
ade@f4100000 {
|
||||
compatible = "hisilicon,hi6220-ade";
|
||||
reg = <0x0 0xf4100000 0x0 0x7800>;
|
||||
reg-names = "ade_base";
|
||||
clocks = <&media_ctrl HI6220_ADE_CORE>,
|
||||
<&media_ctrl HI6220_CODEC_JPEG>,
|
||||
<&media_ctrl HI6220_ADE_PIX_SRC>;
|
||||
clock-names = "clk_ade_core", "clk_codec_jpeg", "clk_ade_pix";
|
||||
dma-coherent;
|
||||
interrupts = <0 115 4>;
|
||||
resets = <&media_ctrl MEDIA_ADE>;
|
||||
hisilicon,noc-syscon = <&medianoc_ade>;
|
||||
|
||||
port {
|
||||
endpoint {
|
||||
remote-endpoint = <&dsi_in>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,68 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/display/hisilicon/hisilicon,hi6220-dsi.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: HiSilicon DesignWare DSI Host Controller
|
||||
|
||||
maintainers:
|
||||
- Xinliang Liu <z.liuxinliang@hisilicon.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: hisilicon,hi6220-dsi
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
|
||||
clock-names:
|
||||
items:
|
||||
- const: pclk
|
||||
|
||||
ports:
|
||||
$ref: /schemas/graph.yaml#/properties/ports
|
||||
|
||||
properties:
|
||||
port@0:
|
||||
description: Input port, connects to ADE output endpoint.
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
|
||||
port@1:
|
||||
description: Output port, connects to panel or bridge endpoints.
|
||||
$ref: /schemas/graph.yaml#/properties/port
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- clocks
|
||||
- clock-names
|
||||
- ports
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/clock/hi6220-clock.h>
|
||||
|
||||
dsi@f4107800 {
|
||||
compatible = "hisilicon,hi6220-dsi";
|
||||
reg = <0xf4107800 0x100>;
|
||||
clocks = <&media_ctrl HI6220_DSI_PCLK>;
|
||||
clock-names = "pclk";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
dsi_in: endpoint {
|
||||
remote-endpoint = <&ade_out>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -15,10 +15,13 @@ description: |
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- mediatek,mt7623-hdmi-ddc
|
||||
- mediatek,mt8167-hdmi-ddc
|
||||
- mediatek,mt8173-hdmi-ddc
|
||||
oneOf:
|
||||
- const: mediatek,mt8173-hdmi-ddc
|
||||
- items:
|
||||
- enum:
|
||||
- mediatek,mt7623-hdmi-ddc
|
||||
- mediatek,mt8167-hdmi-ddc
|
||||
- const: mediatek,mt8173-hdmi-ddc
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
@@ -135,8 +135,9 @@ The above-described ordering follows this approach:
|
||||
3. Status is the last information to annotate that device node is or is not
|
||||
finished (board resources are needed).
|
||||
|
||||
The individual properties inside each group shall use natural sort order by
|
||||
the property name.
|
||||
The individual properties inside each group shall use usually natural sort
|
||||
order by the property name, with exceptions of logical grouping of properties,
|
||||
e.g. supplies.
|
||||
|
||||
Example::
|
||||
|
||||
|
||||
@@ -18,11 +18,9 @@ description: |
|
||||
which can create the interprocessor communication (IPC) between the
|
||||
CPU and BPMP.
|
||||
|
||||
This node is a mailbox consumer. See the following files for details
|
||||
of the mailbox subsystem, and the specifiers implemented by the
|
||||
relevant provider(s):
|
||||
This node is a mailbox consumer. See the following file for details
|
||||
of the mailbox specifiers implemented by the relevant provider(s):
|
||||
|
||||
- .../mailbox/mailbox.txt
|
||||
- .../mailbox/nvidia,tegra186-hsp.yaml
|
||||
|
||||
This node is a clock, power domain, and reset provider. See the
|
||||
|
||||
@@ -14,7 +14,7 @@ description: |
|
||||
details see ../mfd/delta,tn48m-cpld.yaml.
|
||||
|
||||
Delta TN48M has an onboard Lattice CPLD that is used as an GPIO expander.
|
||||
It provides 12 pins in total, they are input-only or ouput-only type.
|
||||
It provides 12 pins in total, they are input-only or output-only type.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
|
||||
@@ -112,7 +112,13 @@ properties:
|
||||
maxItems: 1
|
||||
|
||||
resets:
|
||||
maxItems: 1
|
||||
minItems: 1
|
||||
maxItems: 2
|
||||
|
||||
reset-names:
|
||||
items:
|
||||
- const: ao_g3d
|
||||
- const: media_g3d
|
||||
|
||||
operating-points-v2: true
|
||||
|
||||
@@ -130,6 +136,23 @@ required:
|
||||
additionalProperties: false
|
||||
|
||||
allOf:
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: hisilicon,hi6220-mali
|
||||
then:
|
||||
properties:
|
||||
resets:
|
||||
minItems: 2
|
||||
required:
|
||||
- reset-names
|
||||
else:
|
||||
properties:
|
||||
resets:
|
||||
maxItems: 1
|
||||
reset-names: false
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
|
||||
@@ -37,6 +37,12 @@ properties:
|
||||
- const: img,img-rogue
|
||||
- items:
|
||||
- enum:
|
||||
- spacemit,k1-gpu
|
||||
- const: img,img-bxe-2-32
|
||||
- const: img,img-rogue
|
||||
- items:
|
||||
- enum:
|
||||
- spacemit,k3-gpu
|
||||
- thead,th1520-gpu
|
||||
- const: img,img-bxm-4-64
|
||||
- const: img,img-rogue
|
||||
@@ -102,6 +108,8 @@ allOf:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- spacemit,k1-gpu
|
||||
- spacemit,k3-gpu
|
||||
- ti,am62-gpu
|
||||
- ti,am62p-gpu
|
||||
- ti,j721s2-gpu
|
||||
@@ -162,13 +170,16 @@ allOf:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: thead,th1520-gpu
|
||||
enum:
|
||||
- spacemit,k1-gpu
|
||||
- spacemit,k3-gpu
|
||||
- thead,th1520-gpu
|
||||
then:
|
||||
properties:
|
||||
power-domains:
|
||||
items:
|
||||
- description: The single, unified power domain for the GPU on the
|
||||
TH1520 SoC, integrating all internal IP power domains.
|
||||
- description: The single, unified power domain for the GPU,
|
||||
integrating all internal IP power domains.
|
||||
power-domain-names: false
|
||||
required:
|
||||
- power-domains
|
||||
|
||||
@@ -49,7 +49,7 @@ patternProperties:
|
||||
|
||||
shunt-resistor-micro-ohms:
|
||||
description:
|
||||
The value of curent sense resistor in micro ohms. Pin configuration is
|
||||
The value of current sense resistor in micro ohms. Pin configuration is
|
||||
set for differential input pair.
|
||||
|
||||
adi,temperature-enable:
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
Versatile Express hwmon sensors
|
||||
-------------------------------
|
||||
|
||||
Requires node properties:
|
||||
- "compatible" value : one of
|
||||
"arm,vexpress-volt"
|
||||
"arm,vexpress-amp"
|
||||
"arm,vexpress-temp"
|
||||
"arm,vexpress-power"
|
||||
"arm,vexpress-energy"
|
||||
- "arm,vexpress-sysreg,func" when controlled via vexpress-sysreg
|
||||
(see Documentation/devicetree/bindings/arm/vexpress-config.yaml
|
||||
for more details)
|
||||
|
||||
Optional node properties:
|
||||
- label : string describing the monitored value
|
||||
|
||||
Example:
|
||||
energy@0 {
|
||||
compatible = "arm,vexpress-energy";
|
||||
arm,vexpress-sysreg,func = <13 0>;
|
||||
label = "A15 Jcore";
|
||||
};
|
||||
@@ -52,8 +52,8 @@ examples:
|
||||
axi_iic_0: i2c@40800000 {
|
||||
compatible = "xlnx,xps-iic-2.00.a";
|
||||
clocks = <&clkc 15>;
|
||||
interrupts = < 1 2 >;
|
||||
reg = < 0x40800000 0x10000 >;
|
||||
interrupts = <1 2>;
|
||||
reg = <0x40800000 0x10000>;
|
||||
|
||||
#size-cells = <0>;
|
||||
#address-cells = <1>;
|
||||
|
||||
@@ -69,7 +69,7 @@ examples:
|
||||
light-sensor@39 {
|
||||
compatible = "upisemi,usd5182";
|
||||
reg = <0x39>;
|
||||
upisemi,glass-coef = < 1000 >;
|
||||
upisemi,glass-coef = <1000>;
|
||||
upisemi,dark-ths = /bits/ 16 <170 200 512 512 800 2000 4000 8000>;
|
||||
upisemi,upper-dark-gain = /bits/ 8 <0x00>;
|
||||
upisemi,lower-dark-gain = /bits/ 8 <0x16>;
|
||||
|
||||
@@ -41,8 +41,7 @@ examples:
|
||||
- |
|
||||
keypad {
|
||||
/* ... */
|
||||
linux,keymap = < 0x00030012
|
||||
0x0102003a >;
|
||||
linux,keymap = <0x00030012 0x0102003a>;
|
||||
keypad,num-rows = <2>;
|
||||
keypad,num-columns = <8>;
|
||||
};
|
||||
@@ -46,16 +46,15 @@ examples:
|
||||
interrupts = <11 IRQ_TYPE_EDGE_FALLING>;
|
||||
keypad,num-rows = <4>;
|
||||
keypad,num-columns = <4>;
|
||||
linux,keymap = < MATRIX_KEY(0x00, 0x01, BTN_0)
|
||||
MATRIX_KEY(0x00, 0x00, BTN_1)
|
||||
MATRIX_KEY(0x01, 0x01, BTN_2)
|
||||
MATRIX_KEY(0x01, 0x00, BTN_3)
|
||||
MATRIX_KEY(0x02, 0x00, BTN_4)
|
||||
MATRIX_KEY(0x00, 0x03, BTN_5)
|
||||
MATRIX_KEY(0x00, 0x02, BTN_6)
|
||||
MATRIX_KEY(0x01, 0x03, BTN_7)
|
||||
MATRIX_KEY(0x01, 0x02, BTN_8)
|
||||
MATRIX_KEY(0x02, 0x02, BTN_9)
|
||||
>;
|
||||
linux,keymap = <MATRIX_KEY(0x00, 0x01, BTN_0)
|
||||
MATRIX_KEY(0x00, 0x00, BTN_1)
|
||||
MATRIX_KEY(0x01, 0x01, BTN_2)
|
||||
MATRIX_KEY(0x01, 0x00, BTN_3)
|
||||
MATRIX_KEY(0x02, 0x00, BTN_4)
|
||||
MATRIX_KEY(0x00, 0x03, BTN_5)
|
||||
MATRIX_KEY(0x00, 0x02, BTN_6)
|
||||
MATRIX_KEY(0x01, 0x03, BTN_7)
|
||||
MATRIX_KEY(0x01, 0x02, BTN_8)
|
||||
MATRIX_KEY(0x02, 0x02, BTN_9)>;
|
||||
};
|
||||
};
|
||||
@@ -12,8 +12,9 @@ maintainers:
|
||||
description:
|
||||
This binding specifies what properties must be available in the device tree
|
||||
representation of an Open PIC compliant interrupt controller. This binding is
|
||||
based on the binding defined for Open PIC in [1] and is a superset of that
|
||||
binding.
|
||||
based on the binding defined for Open PIC in the Devicetree Specification
|
||||
(available from https://www.devicetree.org/specifications/) and is a superset
|
||||
of that binding.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
@@ -24,7 +25,7 @@ properties:
|
||||
- const: chrp,open-pic
|
||||
|
||||
device_type:
|
||||
const: open-pci
|
||||
const: open-pic
|
||||
deprecated: true
|
||||
|
||||
reg:
|
||||
|
||||
@@ -30,6 +30,7 @@ properties:
|
||||
- qcom,glymur-pdc
|
||||
- qcom,hawi-pdc
|
||||
- qcom,kaanapali-pdc
|
||||
- qcom,kuno-pdc
|
||||
- qcom,maili-pdc
|
||||
- qcom,milos-pdc
|
||||
- qcom,nord-pdc
|
||||
@@ -50,6 +51,7 @@ properties:
|
||||
- qcom,sdx75-pdc
|
||||
- qcom,sm4450-pdc
|
||||
- qcom,sm6350-pdc
|
||||
- qcom,sm7250-pdc
|
||||
- qcom,sm8150-pdc
|
||||
- qcom,sm8250-pdc
|
||||
- qcom,sm8350-pdc
|
||||
|
||||
@@ -100,7 +100,10 @@ properties:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
minItems: 1
|
||||
maxItems: 5
|
||||
description:
|
||||
A single interrupt or one interrupt per bank.
|
||||
|
||||
clocks:
|
||||
items:
|
||||
@@ -155,6 +158,19 @@ required:
|
||||
- '#iommu-cells'
|
||||
|
||||
allOf:
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: mediatek,mt8195-iommu-infra
|
||||
then:
|
||||
properties:
|
||||
interrupts:
|
||||
minItems: 5
|
||||
else:
|
||||
properties:
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
|
||||
@@ -17,9 +17,6 @@ description: |
|
||||
hold four 32-bit messages; when a FIFO is full, clients must wait before
|
||||
attempting more transmissions.
|
||||
|
||||
Refer to ./mailbox.txt for generic information about mailbox device-tree
|
||||
bindings.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
oneOf:
|
||||
|
||||
@@ -31,12 +31,12 @@ Example:
|
||||
|
||||
Mailbox client
|
||||
===============
|
||||
"mboxes" and the optional "mbox-names" (please see
|
||||
Documentation/devicetree/bindings/mailbox/mailbox.txt for details). Each value
|
||||
of the mboxes property should contain a phandle to the mailbox controller
|
||||
device node and second argument is the channel index. It must be 0 (hardware
|
||||
support only one channel).The equivalent "mbox-names" property value can be
|
||||
used to give a name to the communication channel to be used by the client user.
|
||||
The common mailbox binding properties "mboxes" and the optional "mbox-names"
|
||||
can be used. Each value of the mboxes property should contain a phandle to
|
||||
the mailbox controller device node and second argument is the channel index.
|
||||
It must be 0 (hardware support only one channel). The equivalent "mbox-names"
|
||||
property value can be used to give a name to the communication channel to be
|
||||
used by the client user.
|
||||
|
||||
Example:
|
||||
mclient0: mclient0@400 {
|
||||
|
||||
@@ -1,60 +0,0 @@
|
||||
* Generic Mailbox Controller and client driver bindings
|
||||
|
||||
Generic binding to provide a way for Mailbox controller drivers to
|
||||
assign appropriate mailbox channel to client drivers.
|
||||
|
||||
* Mailbox Controller
|
||||
|
||||
Required property:
|
||||
- #mbox-cells: Must be at least 1. Number of cells in a mailbox
|
||||
specifier.
|
||||
|
||||
Example:
|
||||
mailbox: mailbox {
|
||||
...
|
||||
#mbox-cells = <1>;
|
||||
};
|
||||
|
||||
|
||||
* Mailbox Client
|
||||
|
||||
Required property:
|
||||
- mboxes: List of phandle and mailbox channel specifiers.
|
||||
|
||||
Optional property:
|
||||
- mbox-names: List of identifier strings for each mailbox channel.
|
||||
- shmem : List of phandle pointing to the shared memory(SHM) area between the
|
||||
users of these mailboxes for IPC, one for each mailbox. This shared
|
||||
memory can be part of any memory reserved for the purpose of this
|
||||
communication between the mailbox client and the remote.
|
||||
|
||||
|
||||
Example:
|
||||
pwr_cntrl: power {
|
||||
...
|
||||
mbox-names = "pwr-ctrl", "rpc";
|
||||
mboxes = <&mailbox 0 &mailbox 1>;
|
||||
};
|
||||
|
||||
Example with shared memory(shmem):
|
||||
|
||||
sram: sram@50000000 {
|
||||
compatible = "mmio-sram";
|
||||
reg = <0x50000000 0x10000>;
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ranges = <0 0x50000000 0x10000>;
|
||||
|
||||
cl_shmem: shmem@0 {
|
||||
compatible = "client-shmem";
|
||||
reg = <0x0 0x200>;
|
||||
};
|
||||
};
|
||||
|
||||
client@2e000000 {
|
||||
...
|
||||
mboxes = <&mailbox 0>;
|
||||
shmem = <&cl_shmem>;
|
||||
..
|
||||
};
|
||||
@@ -53,8 +53,7 @@ description: |
|
||||
==============
|
||||
A device needing to communicate with a target processor device should specify
|
||||
them using the common mailbox binding properties, "mboxes" and the optional
|
||||
"mbox-names" (please see Documentation/devicetree/bindings/mailbox/mailbox.txt
|
||||
for details). Each value of the mboxes property should contain a phandle to
|
||||
"mbox-names". Each value of the mboxes property should contain a phandle to
|
||||
the mailbox controller device node and an args specifier that will be the
|
||||
phandle to the intended sub-mailbox child node to be used for communication.
|
||||
The equivalent "mbox-names" property value can be used to give a name to the
|
||||
|
||||
@@ -96,8 +96,8 @@ examples:
|
||||
<0x0 0xff01a000 0x0 0x100>;
|
||||
reg-names = "aphy", "dphy", "host";
|
||||
power-domains = <&pwrc PWRC_C3_MIPI_ISP_WRAP_ID>;
|
||||
clocks = <&clkc_periphs CLKID_VAPB>,
|
||||
<&clkc_periphs CLKID_CSI_PHY0>;
|
||||
clocks = <&clkc_periphs CLKID_VAPB>,
|
||||
<&clkc_periphs CLKID_CSI_PHY0>;
|
||||
clock-names = "vapb", "phy0";
|
||||
assigned-clocks = <&clkc_periphs CLKID_VAPB>,
|
||||
<&clkc_periphs CLKID_CSI_PHY0>;
|
||||
|
||||
@@ -79,7 +79,7 @@ examples:
|
||||
|
||||
port {
|
||||
isp_in: endpoint {
|
||||
remote-endpoint = <&csi2_rx_out>;
|
||||
remote-endpoint = <&csi2_rx_out>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -102,12 +102,12 @@ examples:
|
||||
clock-output-names = "isc-mck";
|
||||
|
||||
port {
|
||||
isc_0: endpoint {
|
||||
remote-endpoint = <&ov7740_0>;
|
||||
hsync-active = <1>;
|
||||
vsync-active = <0>;
|
||||
pclk-sample = <1>;
|
||||
bus-width = <8>;
|
||||
};
|
||||
isc_0: endpoint {
|
||||
remote-endpoint = <&ov7740_0>;
|
||||
hsync-active = <1>;
|
||||
vsync-active = <0>;
|
||||
pclk-sample = <1>;
|
||||
bus-width = <8>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -117,11 +117,11 @@ examples:
|
||||
power-domains = <&power RPI_POWER_DOMAIN_UNICAM1>;
|
||||
brcm,num-data-lanes = <2>;
|
||||
port {
|
||||
csi1_ep: endpoint {
|
||||
remote-endpoint = <&imx219_0>;
|
||||
bus-type = <MEDIA_BUS_TYPE_CSI2_DPHY>;
|
||||
data-lanes = <1 2>;
|
||||
};
|
||||
csi1_ep: endpoint {
|
||||
remote-endpoint = <&imx219_0>;
|
||||
bus-type = <MEDIA_BUS_TYPE_CSI2_DPHY>;
|
||||
data-lanes = <1 2>;
|
||||
};
|
||||
};
|
||||
};
|
||||
...
|
||||
@@ -160,50 +160,50 @@ examples:
|
||||
phy-names = "dphy";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
port@0 {
|
||||
reg = <0>;
|
||||
|
||||
csi2rx_in_sensor: endpoint {
|
||||
remote-endpoint = <&sensor_out_csi2rx>;
|
||||
clock-lanes = <0>;
|
||||
data-lanes = <1 2>;
|
||||
};
|
||||
csi2rx_in_sensor: endpoint {
|
||||
remote-endpoint = <&sensor_out_csi2rx>;
|
||||
clock-lanes = <0>;
|
||||
data-lanes = <1 2>;
|
||||
};
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
|
||||
csi2rx_out_grabber0: endpoint {
|
||||
remote-endpoint = <&grabber0_in_csi2rx>;
|
||||
};
|
||||
csi2rx_out_grabber0: endpoint {
|
||||
remote-endpoint = <&grabber0_in_csi2rx>;
|
||||
};
|
||||
};
|
||||
|
||||
port@2 {
|
||||
reg = <2>;
|
||||
port@2 {
|
||||
reg = <2>;
|
||||
|
||||
csi2rx_out_grabber1: endpoint {
|
||||
remote-endpoint = <&grabber1_in_csi2rx>;
|
||||
};
|
||||
csi2rx_out_grabber1: endpoint {
|
||||
remote-endpoint = <&grabber1_in_csi2rx>;
|
||||
};
|
||||
};
|
||||
|
||||
port@3 {
|
||||
reg = <3>;
|
||||
port@3 {
|
||||
reg = <3>;
|
||||
|
||||
csi2rx_out_grabber2: endpoint {
|
||||
remote-endpoint = <&grabber2_in_csi2rx>;
|
||||
};
|
||||
csi2rx_out_grabber2: endpoint {
|
||||
remote-endpoint = <&grabber2_in_csi2rx>;
|
||||
};
|
||||
};
|
||||
|
||||
port@4 {
|
||||
reg = <4>;
|
||||
port@4 {
|
||||
reg = <4>;
|
||||
|
||||
csi2rx_out_grabber3: endpoint {
|
||||
remote-endpoint = <&grabber3_in_csi2rx>;
|
||||
};
|
||||
csi2rx_out_grabber3: endpoint {
|
||||
remote-endpoint = <&grabber3_in_csi2rx>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -0,0 +1,52 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/media/hisilicon,hix5hd2-ir.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: HiSilicon HIX5HD2 IR controller
|
||||
|
||||
maintainers:
|
||||
- Wei Xu <xuwei5@hisilicon.com>
|
||||
|
||||
allOf:
|
||||
- $ref: rc.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
items:
|
||||
- enum:
|
||||
- hisilicon,hix5hd2-ir
|
||||
- hisilicon,hi3796cv300-ir
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
|
||||
hisilicon,power-syscon:
|
||||
description: Provide correct clocks instead.
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
deprecated: true
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- interrupts
|
||||
- clocks
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
ir@f8001000 {
|
||||
compatible = "hisilicon,hix5hd2-ir";
|
||||
reg = <0xf8001000 0x1000>;
|
||||
interrupts = <0 47 4>;
|
||||
clocks = <&clock 0>;
|
||||
linux,rc-map-name = "rc-tivo";
|
||||
};
|
||||
@@ -1,26 +0,0 @@
|
||||
Device-Tree bindings for hix5hd2 ir IP
|
||||
|
||||
Required properties:
|
||||
- compatible: Should contain "hisilicon,hix5hd2-ir", or:
|
||||
- "hisilicon,hi3796cv300-ir" for Hi3796CV300 IR device.
|
||||
- reg: Base physical address of the controller and length of memory
|
||||
mapped region.
|
||||
- interrupts: interrupt-specifier for the sole interrupt generated by
|
||||
the device. The interrupt specifier format depends on the interrupt
|
||||
controller parent.
|
||||
- clocks: clock phandle and specifier pair.
|
||||
|
||||
Optional properties:
|
||||
- linux,rc-map-name: see rc.txt file in the same directory.
|
||||
- hisilicon,power-syscon: DEPRECATED. Don't use this in new dts files.
|
||||
Provide correct clocks instead.
|
||||
|
||||
Example node:
|
||||
|
||||
ir: ir@f8001000 {
|
||||
compatible = "hisilicon,hix5hd2-ir";
|
||||
reg = <0xf8001000 0x1000>;
|
||||
interrupts = <0 47 4>;
|
||||
clocks = <&clock HIX5HD2_IR_CLOCK>;
|
||||
linux,rc-map-name = "rc-tivo";
|
||||
};
|
||||
@@ -88,7 +88,7 @@ examples:
|
||||
#size-cells = <0>;
|
||||
|
||||
sensor@37 {
|
||||
compatible = "galaxycore,gc05a2";
|
||||
compatible = "galaxycore,gc05a2";
|
||||
reg = <0x37>;
|
||||
|
||||
clocks = <&gc05a2_clk>;
|
||||
|
||||
@@ -90,22 +90,22 @@ examples:
|
||||
#size-cells = <0>;
|
||||
|
||||
ov2680: camera-sensor@36 {
|
||||
compatible = "ovti,ov2680";
|
||||
reg = <0x36>;
|
||||
clocks = <&osc>;
|
||||
clock-names = "xvclk";
|
||||
reset-gpios = <&gpio1 3 GPIO_ACTIVE_LOW>;
|
||||
compatible = "ovti,ov2680";
|
||||
reg = <0x36>;
|
||||
clocks = <&osc>;
|
||||
clock-names = "xvclk";
|
||||
reset-gpios = <&gpio1 3 GPIO_ACTIVE_LOW>;
|
||||
|
||||
DOVDD-supply = <&sw2_reg>;
|
||||
DVDD-supply = <&sw2_reg>;
|
||||
AVDD-supply = <®_peri_3p15v>;
|
||||
DOVDD-supply = <&sw2_reg>;
|
||||
DVDD-supply = <&sw2_reg>;
|
||||
AVDD-supply = <®_peri_3p15v>;
|
||||
|
||||
port {
|
||||
ov2680_to_mipi: endpoint {
|
||||
remote-endpoint = <&mipi_from_sensor>;
|
||||
link-frequencies = /bits/ 64 <330000000>;
|
||||
};
|
||||
port {
|
||||
ov2680_to_mipi: endpoint {
|
||||
remote-endpoint = <&mipi_from_sensor>;
|
||||
link-frequencies = /bits/ 64 <330000000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -94,9 +94,9 @@ examples:
|
||||
|
||||
port {
|
||||
camera_out: endpoint {
|
||||
data-lanes = <1 2>;
|
||||
link-frequencies = /bits/ 64 <360000000>;
|
||||
remote-endpoint = <&mipi_in_camera>;
|
||||
data-lanes = <1 2>;
|
||||
link-frequencies = /bits/ 64 <360000000>;
|
||||
remote-endpoint = <&mipi_in_camera>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -61,15 +61,15 @@ examples:
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
|
||||
soc {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
jpeg-encoder@fd20000 {
|
||||
compatible = "img,e5010-jpeg-enc";
|
||||
reg = <0x00 0xfd20000 0x00 0x100>,
|
||||
<0x00 0xfd20200 0x00 0x200>;
|
||||
reg-names = "core", "mmu";
|
||||
clocks = <&k3_clks 201 0>;
|
||||
power-domains = <&k3_pds 201 TI_SCI_PD_EXCLUSIVE>;
|
||||
interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
jpeg-encoder@fd20000 {
|
||||
compatible = "img,e5010-jpeg-enc";
|
||||
reg = <0x00 0xfd20000 0x00 0x100>,
|
||||
<0x00 0xfd20200 0x00 0x200>;
|
||||
reg-names = "core", "mmu";
|
||||
clocks = <&k3_clks 201 0>;
|
||||
power-domains = <&k3_pds 201 TI_SCI_PD_EXCLUSIVE>;
|
||||
interrupts = <GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
|
||||
};
|
||||
};
|
||||
@@ -160,7 +160,7 @@ examples:
|
||||
|
||||
vcodec_enc_vp8: vcodec@19002000 {
|
||||
compatible = "mediatek,mt8173-vcodec-enc-vp8";
|
||||
reg = <0x19002000 0x1000>; /* VENC_LT_SYS */
|
||||
reg = <0x19002000 0x1000>; /* VENC_LT_SYS */
|
||||
interrupts = <GIC_SPI 202 IRQ_TYPE_LEVEL_LOW>;
|
||||
iommus = <&iommu M4U_PORT_VENC_RCPU_SET2>,
|
||||
<&iommu M4U_PORT_VENC_REC_FRM_SET2>,
|
||||
|
||||
@@ -106,8 +106,8 @@ examples:
|
||||
compatible = "mediatek,mt2701-jpgdec";
|
||||
reg = <0x15004000 0x1000>;
|
||||
interrupts = <GIC_SPI 143 IRQ_TYPE_LEVEL_LOW>;
|
||||
clocks = <&imgsys CLK_IMG_JPGDEC_SMI>,
|
||||
<&imgsys CLK_IMG_JPGDEC>;
|
||||
clocks = <&imgsys CLK_IMG_JPGDEC_SMI>,
|
||||
<&imgsys CLK_IMG_JPGDEC>;
|
||||
clock-names = "jpgdec-smi",
|
||||
"jpgdec";
|
||||
power-domains = <&scpsys MT2701_POWER_DOMAIN_ISP>;
|
||||
|
||||
@@ -93,7 +93,7 @@ examples:
|
||||
"mediatek,mtk-jpgenc";
|
||||
reg = <0x1500a000 0x1000>;
|
||||
interrupts = <GIC_SPI 141 IRQ_TYPE_LEVEL_LOW>;
|
||||
clocks = <&imgsys CLK_IMG_VENC>;
|
||||
clocks = <&imgsys CLK_IMG_VENC>;
|
||||
clock-names = "jpgenc";
|
||||
power-domains = <&scpsys MT2701_POWER_DOMAIN_ISP>;
|
||||
iommus = <&iommu MT2701_M4U_PORT_JPGENC_RDMA>,
|
||||
|
||||
@@ -149,22 +149,22 @@ examples:
|
||||
clock-names = "pclk", "scck";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
port@0 {
|
||||
reg = <0>; /* must be 0, first child port */
|
||||
csi2dc_in: endpoint { /* input from IDI interface */
|
||||
bus-type = <4>; /* MIPI CSI2 D-PHY */
|
||||
remote-endpoint = <&csi2host_out>;
|
||||
};
|
||||
};
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
port@0 {
|
||||
reg = <0>; /* must be 0, first child port */
|
||||
csi2dc_in: endpoint { /* input from IDI interface */
|
||||
bus-type = <4>; /* MIPI CSI2 D-PHY */
|
||||
remote-endpoint = <&csi2host_out>;
|
||||
};
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>; /* must be 1, second child port */
|
||||
csi2dc_out: endpoint {
|
||||
remote-endpoint = <&xisc_in>; /* output to sensor controller */
|
||||
};
|
||||
};
|
||||
port@1 {
|
||||
reg = <1>; /* must be 1, second child port */
|
||||
csi2dc_out: endpoint {
|
||||
remote-endpoint = <&xisc_in>; /* output to sensor controller */
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -181,18 +181,18 @@ examples:
|
||||
dma-names = "rx";
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
port@0 {
|
||||
reg = <0>; /* must be 0, first child port */
|
||||
csi2dc_input: endpoint { /* input from IDI interface */
|
||||
remote-endpoint = <&csi2host_out>;
|
||||
};
|
||||
};
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
port@0 {
|
||||
reg = <0>; /* must be 0, first child port */
|
||||
csi2dc_input: endpoint { /* input from IDI interface */
|
||||
remote-endpoint = <&csi2host_out>;
|
||||
};
|
||||
};
|
||||
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
};
|
||||
port@1 {
|
||||
reg = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -118,12 +118,12 @@ examples:
|
||||
clock-output-names = "isc-mck";
|
||||
|
||||
port {
|
||||
xisc_in: endpoint {
|
||||
bus-type = <MEDIA_BUS_TYPE_PARALLEL>;
|
||||
remote-endpoint = <&csi2dc_out>;
|
||||
hsync-active = <1>;
|
||||
vsync-active = <1>;
|
||||
bus-width = <12>;
|
||||
};
|
||||
xisc_in: endpoint {
|
||||
bus-type = <MEDIA_BUS_TYPE_PARALLEL>;
|
||||
remote-endpoint = <&csi2dc_out>;
|
||||
hsync-active = <1>;
|
||||
vsync-active = <1>;
|
||||
bus-width = <12>;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -95,7 +95,7 @@ examples:
|
||||
|
||||
jpegdec: jpegdec@58400000 {
|
||||
compatible = "nxp,imx8qxp-jpgdec";
|
||||
reg = <0x58400000 0x00050000 >;
|
||||
reg = <0x58400000 0x00050000>;
|
||||
clocks = <&img_jpeg_dec_lpcg IMX_LPCG_CLK_0>,
|
||||
<&img_jpeg_dec_lpcg IMX_LPCG_CLK_4>;
|
||||
interrupts = <GIC_SPI 309 IRQ_TYPE_LEVEL_HIGH>,
|
||||
@@ -111,7 +111,7 @@ examples:
|
||||
|
||||
jpegenc: jpegenc@58450000 {
|
||||
compatible = "nxp,imx8qm-jpgenc", "nxp,imx8qxp-jpgenc";
|
||||
reg = <0x58450000 0x00050000 >;
|
||||
reg = <0x58450000 0x00050000>;
|
||||
clocks = <&img_jpeg_enc_lpcg IMX_LPCG_CLK_0>,
|
||||
<&img_jpeg__lpcg IMX_LPCG_CLK_4>;
|
||||
interrupts = <GIC_SPI 305 IRQ_TYPE_LEVEL_HIGH>,
|
||||
|
||||
@@ -119,26 +119,26 @@ examples:
|
||||
<&mmcc VIDEO_MAXI_CLK>;
|
||||
clock-names = "core", "iface", "bus", "mbus";
|
||||
power-domains = <&mmcc VENUS_GDSC>;
|
||||
iommus = <&venus_smmu 0x00>,
|
||||
<&venus_smmu 0x01>,
|
||||
<&venus_smmu 0x0a>,
|
||||
<&venus_smmu 0x07>,
|
||||
<&venus_smmu 0x0e>,
|
||||
<&venus_smmu 0x0f>,
|
||||
<&venus_smmu 0x08>,
|
||||
<&venus_smmu 0x09>,
|
||||
<&venus_smmu 0x0b>,
|
||||
<&venus_smmu 0x0c>,
|
||||
<&venus_smmu 0x0d>,
|
||||
<&venus_smmu 0x10>,
|
||||
<&venus_smmu 0x11>,
|
||||
<&venus_smmu 0x21>,
|
||||
<&venus_smmu 0x28>,
|
||||
<&venus_smmu 0x29>,
|
||||
<&venus_smmu 0x2b>,
|
||||
<&venus_smmu 0x2c>,
|
||||
<&venus_smmu 0x2d>,
|
||||
<&venus_smmu 0x31>;
|
||||
iommus = <&venus_smmu 0x00>,
|
||||
<&venus_smmu 0x01>,
|
||||
<&venus_smmu 0x0a>,
|
||||
<&venus_smmu 0x07>,
|
||||
<&venus_smmu 0x0e>,
|
||||
<&venus_smmu 0x0f>,
|
||||
<&venus_smmu 0x08>,
|
||||
<&venus_smmu 0x09>,
|
||||
<&venus_smmu 0x0b>,
|
||||
<&venus_smmu 0x0c>,
|
||||
<&venus_smmu 0x0d>,
|
||||
<&venus_smmu 0x10>,
|
||||
<&venus_smmu 0x11>,
|
||||
<&venus_smmu 0x21>,
|
||||
<&venus_smmu 0x28>,
|
||||
<&venus_smmu 0x29>,
|
||||
<&venus_smmu 0x2b>,
|
||||
<&venus_smmu 0x2c>,
|
||||
<&venus_smmu 0x2d>,
|
||||
<&venus_smmu 0x31>;
|
||||
memory-region = <&venus_mem>;
|
||||
|
||||
video-decoder {
|
||||
|
||||
@@ -302,19 +302,19 @@ examples:
|
||||
"vfe_lite_cphy_rx",
|
||||
"vfe_lite_csid";
|
||||
|
||||
interrupts = <GIC_SPI 464 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 466 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 431 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 468 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 359 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 477 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 478 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 479 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 122 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 465 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 467 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 469 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 360 IRQ_TYPE_EDGE_RISING>;
|
||||
interrupts = <GIC_SPI 464 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 466 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 431 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 468 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 359 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 477 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 478 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 479 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 122 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 465 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 467 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 469 IRQ_TYPE_EDGE_RISING>,
|
||||
<GIC_SPI 360 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "csid0",
|
||||
"csid1",
|
||||
|
||||
@@ -53,11 +53,11 @@ examples:
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
|
||||
isp@880000 {
|
||||
compatible = "brcm,bcm2712-pispbe", "raspberrypi,pispbe";
|
||||
reg = <0x10 0x00880000 0x0 0x4000>;
|
||||
interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&firmware_clocks 7>;
|
||||
iommus = <&iommu2>;
|
||||
isp@880000 {
|
||||
compatible = "brcm,bcm2712-pispbe", "raspberrypi,pispbe";
|
||||
reg = <0x10 0x00880000 0x0 0x4000>;
|
||||
interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&firmware_clocks 7>;
|
||||
iommus = <&iommu2>;
|
||||
};
|
||||
};
|
||||
@@ -1 +0,0 @@
|
||||
This file has been moved to rc.yaml.
|
||||
@@ -188,13 +188,13 @@ examples:
|
||||
/* ... CSIS 1 */
|
||||
|
||||
fimc-lite@b90000 {
|
||||
compatible = "samsung,exynos4212-fimc-lite";
|
||||
reg = <0xb90000 0x1000>;
|
||||
interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
|
||||
power-domains = <&pd_isp>;
|
||||
clocks = <&isp_clock CLK_ISP_FIMC_LITE0>;
|
||||
clock-names = "flite";
|
||||
iommus = <&sysmmu_fimc_lite0>;
|
||||
compatible = "samsung,exynos4212-fimc-lite";
|
||||
reg = <0xb90000 0x1000>;
|
||||
interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
|
||||
power-domains = <&pd_isp>;
|
||||
clocks = <&isp_clock CLK_ISP_FIMC_LITE0>;
|
||||
clock-names = "flite";
|
||||
iommus = <&sysmmu_fimc_lite0>;
|
||||
};
|
||||
|
||||
/* ... FIMC-LITE 1 */
|
||||
|
||||
@@ -120,14 +120,14 @@ examples:
|
||||
dma-names = "tx";
|
||||
|
||||
port {
|
||||
dcmi_0: endpoint {
|
||||
remote-endpoint = <&ov5640_0>;
|
||||
bus-type = <MEDIA_BUS_TYPE_PARALLEL>;
|
||||
bus-width = <8>;
|
||||
hsync-active = <0>;
|
||||
vsync-active = <0>;
|
||||
pclk-sample = <1>;
|
||||
};
|
||||
dcmi_0: endpoint {
|
||||
remote-endpoint = <&ov5640_0>;
|
||||
bus-type = <MEDIA_BUS_TYPE_PARALLEL>;
|
||||
bus-width = <8>;
|
||||
hsync-active = <0>;
|
||||
vsync-active = <0>;
|
||||
pclk-sample = <1>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -120,13 +120,13 @@ examples:
|
||||
clocks = <&rcc DCMIPP_K>;
|
||||
|
||||
port {
|
||||
endpoint {
|
||||
remote-endpoint = <&mipid02_2>;
|
||||
bus-width = <8>;
|
||||
hsync-active = <0>;
|
||||
vsync-active = <0>;
|
||||
pclk-sample = <0>;
|
||||
};
|
||||
endpoint {
|
||||
remote-endpoint = <&mipid02_2>;
|
||||
bus-width = <8>;
|
||||
hsync-active = <0>;
|
||||
vsync-active = <0>;
|
||||
pclk-sample = <0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -136,17 +136,17 @@ examples:
|
||||
ti,camerrx-control = <&scm_conf 0xE94>;
|
||||
|
||||
ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
csi2_0: port@0 {
|
||||
reg = <0>;
|
||||
csi2_phy0: endpoint {
|
||||
remote-endpoint = <&csi2_cam0>;
|
||||
clock-lanes = <0>;
|
||||
data-lanes = <1 2>;
|
||||
};
|
||||
};
|
||||
csi2_0: port@0 {
|
||||
reg = <0>;
|
||||
csi2_phy0: endpoint {
|
||||
remote-endpoint = <&csi2_cam0>;
|
||||
clock-lanes = <0>;
|
||||
data-lanes = <1 2>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -156,21 +156,21 @@ examples:
|
||||
#size-cells = <0>;
|
||||
|
||||
camera-sensor@3c {
|
||||
compatible = "ovti,ov5640";
|
||||
reg = <0x3c>;
|
||||
AVDD-supply = <®_2p8v>;
|
||||
DOVDD-supply = <®_1p8v>;
|
||||
DVDD-supply = <®_1p5v>;
|
||||
clocks = <&clk_ov5640_fixed>;
|
||||
clock-names = "xclk";
|
||||
compatible = "ovti,ov5640";
|
||||
reg = <0x3c>;
|
||||
AVDD-supply = <®_2p8v>;
|
||||
DOVDD-supply = <®_1p8v>;
|
||||
DVDD-supply = <®_1p5v>;
|
||||
clocks = <&clk_ov5640_fixed>;
|
||||
clock-names = "xclk";
|
||||
|
||||
port {
|
||||
csi2_cam0: endpoint {
|
||||
remote-endpoint = <&csi2_phy0>;
|
||||
clock-lanes = <0>;
|
||||
data-lanes = <1 2>;
|
||||
};
|
||||
};
|
||||
port {
|
||||
csi2_cam0: endpoint {
|
||||
remote-endpoint = <&csi2_phy0>;
|
||||
clock-lanes = <0>;
|
||||
data-lanes = <1 2>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -214,7 +214,7 @@ examples:
|
||||
compatible = "ti,tps65910";
|
||||
reg = <0x2d>;
|
||||
interrupt-parent = <&intc>;
|
||||
interrupts = < 0 118 0x04 >;
|
||||
interrupts = <0 118 0x04>;
|
||||
|
||||
#gpio-cells = <2>;
|
||||
gpio-controller;
|
||||
|
||||
@@ -22,7 +22,7 @@ properties:
|
||||
reg: true
|
||||
|
||||
'#mux-control-cells':
|
||||
const: 1
|
||||
enum: [ 0, 1 ]
|
||||
|
||||
mux-reg-masks:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-matrix
|
||||
|
||||
@@ -27,7 +27,7 @@ properties:
|
||||
$ref: /schemas/types.yaml#/definitions/string
|
||||
description:
|
||||
Unique EEPROM identifier describing its function in the
|
||||
system. Will be used as created NVMEM deivce's name.
|
||||
system. Will be used as created NVMEM device's name.
|
||||
|
||||
required:
|
||||
- compatible
|
||||
|
||||
@@ -160,7 +160,7 @@ examples:
|
||||
reg = <0x2800 0 0 0 0>;
|
||||
compatible = "pciclass,0604";
|
||||
device_type = "pci";
|
||||
reset-gpios = <&gpio27 4 0 >;
|
||||
reset-gpios = <&gpio27 4 0>;
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
@@ -170,7 +170,7 @@ examples:
|
||||
reg = <0x03800 0 0 0 0>;
|
||||
compatible = "pciclass,0604";
|
||||
device_type = "pci";
|
||||
reset-gpios = <&gpio25 2 0 >;
|
||||
reset-gpios = <&gpio25 2 0>;
|
||||
#address-cells = <3>;
|
||||
#size-cells = <2>;
|
||||
ranges;
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/phy/st,stm32-usb2phy.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: STMicroelectronics STM32 MPU High-Speed USB PHY
|
||||
|
||||
description:
|
||||
USB2 PHY block in STM32 is attached to USB 2.0 Host controller and
|
||||
USB 2.0 side of DWC3 DRD controller, and provides the USB LS/FS/HS
|
||||
connectivity. Both PHYs are the FEMTO-PHY, but their configuration
|
||||
bits in the system control register are different for each variant.
|
||||
|
||||
maintainers:
|
||||
- Fabrice Gasnier <fabrice.gasnier@foss.st.com>
|
||||
- Marek Vasut <marex@nabladev.com>
|
||||
- Pankaj Dev <pankaj.dev@st.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- st,stm32mp25-usb2phy1
|
||||
- st,stm32mp25-usb2phy2
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
|
||||
resets:
|
||||
maxItems: 1
|
||||
|
||||
vdd33-supply:
|
||||
description: Phandle to regulator providing 3V3 power supply to the USB2 HS PHY
|
||||
|
||||
"#clock-cells":
|
||||
const: 1
|
||||
|
||||
"#phy-cells":
|
||||
const: 0
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- clocks
|
||||
- resets
|
||||
- vdd33-supply
|
||||
- "#clock-cells"
|
||||
- "#phy-cells"
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/clock/st,stm32mp25-rcc.h>
|
||||
#include <dt-bindings/reset/st,stm32mp25-rcc.h>
|
||||
|
||||
usb-phy@2400 {
|
||||
compatible = "st,stm32mp25-usb2phy1";
|
||||
reg = <0x2400 0x24>;
|
||||
#phy-cells = <0>;
|
||||
#clock-cells = <1>;
|
||||
clocks = <&rcc CK_KER_USB2PHY1>;
|
||||
resets = <&rcc USB2PHY1_R>;
|
||||
vdd33-supply = <&vdd33usb>;
|
||||
};
|
||||
@@ -339,7 +339,7 @@ examples:
|
||||
sdcard-pins {
|
||||
function = "SD_CARD";
|
||||
groups = "SD_CARD";
|
||||
sunplus,pins = < SPPCTL_IOPAD(91, SPPCTL_PCTL_G_GPIO, 0, 0) >;
|
||||
sunplus,pins = <SPPCTL_IOPAD(91, SPPCTL_PCTL_G_GPIO, 0, 0)>;
|
||||
};
|
||||
|
||||
hdmi_A_tx1-pins {
|
||||
|
||||
@@ -0,0 +1,184 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/power/mediatek,mt2701-scpsys.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: MediaTek SCPSYS
|
||||
|
||||
maintainers:
|
||||
- Matthias Brugger <matthias.bgg@gmail.com>
|
||||
- AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
|
||||
|
||||
description: >
|
||||
The System Control Processor System (SCPSYS) has several power management
|
||||
related tasks in the system. The tasks include thermal measurement, dynamic
|
||||
voltage frequency scaling (DVFS), interrupt filter and lowlevel sleep control.
|
||||
The System Power Manager (SPM) inside the SCPSYS is for the MTCMOS power
|
||||
domain control.
|
||||
|
||||
It provides the power domains defined in:
|
||||
- include/dt-bindings/power/mt2701-power.h
|
||||
- include/dt-bindings/power/mt2712-power.h
|
||||
- include/dt-bindings/power/mt6797-power.h
|
||||
- include/dt-bindings/power/mt7622-power.h
|
||||
- include/dt-bindings/power/mt7623a-power.h
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
oneOf:
|
||||
- enum:
|
||||
- mediatek,mt7623a-scpsys
|
||||
- mediatek,mt6797-scpsys
|
||||
- items:
|
||||
- enum:
|
||||
- mediatek,mt2701-scpsys
|
||||
- mediatek,mt2712-scpsys
|
||||
- mediatek,mt7622-scpsys
|
||||
- const: syscon
|
||||
- items:
|
||||
- const: mediatek,mt7623-scpsys
|
||||
- const: mediatek,mt2701-scpsys
|
||||
- const: syscon
|
||||
- items:
|
||||
- const: mediatek,mt7629-scpsys
|
||||
- const: mediatek,mt7622-scpsys
|
||||
|
||||
'#power-domain-cells':
|
||||
description: Always 1
|
||||
const: 1
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
maxItems: 4
|
||||
|
||||
clocks:
|
||||
minItems: 1
|
||||
maxItems: 20
|
||||
|
||||
clock-names:
|
||||
minItems: 1
|
||||
maxItems: 6
|
||||
items:
|
||||
enum:
|
||||
- mm
|
||||
- mfg
|
||||
- ethif
|
||||
- venc
|
||||
- jpgdec
|
||||
- audio
|
||||
- vdec
|
||||
- hif_sel
|
||||
|
||||
vdec-supply: true
|
||||
venc-supply: true
|
||||
isp-supply: true
|
||||
mm-supply: true
|
||||
audio-supply: true
|
||||
usb-supply: true
|
||||
mfg_async-supply: true
|
||||
mfg-supply: true
|
||||
|
||||
infracfg:
|
||||
description: Infrastructure configuration controller phandle
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- '#power-domain-cells'
|
||||
- reg
|
||||
- infracfg
|
||||
- clocks
|
||||
- clock-names
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
allOf:
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: mediatek,mt2701-scpsys
|
||||
then:
|
||||
properties:
|
||||
clocks:
|
||||
minItems: 3
|
||||
maxItems: 3
|
||||
clock-names:
|
||||
items:
|
||||
- const: mm
|
||||
- const: mfg
|
||||
- const: ethif
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: mediatek,mt7623a-scpsys
|
||||
then:
|
||||
properties:
|
||||
clocks:
|
||||
maxItems: 1
|
||||
clock-names:
|
||||
items:
|
||||
- const: ethif
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: mediatek,mt2712-scpsys
|
||||
then:
|
||||
properties:
|
||||
clocks:
|
||||
minItems: 6
|
||||
clock-names:
|
||||
items:
|
||||
- const: mm
|
||||
- const: mfg
|
||||
- const: venc
|
||||
- const: jpgdec
|
||||
- const: audio
|
||||
- const: vdec
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: mediatek,mt7622-scpsys
|
||||
then:
|
||||
properties:
|
||||
clocks:
|
||||
maxItems: 1
|
||||
clock-names:
|
||||
items:
|
||||
- const: hif_sel
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
const: mediatek,mt6797-scpsys
|
||||
then:
|
||||
properties:
|
||||
clocks:
|
||||
minItems: 3
|
||||
maxItems: 3
|
||||
clock-names:
|
||||
items:
|
||||
- const: mfg
|
||||
- const: mm
|
||||
- const: vdec
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/clock/mt2701-clk.h>
|
||||
|
||||
power-controller@10006000 {
|
||||
#power-domain-cells = <1>;
|
||||
compatible = "mediatek,mt2701-scpsys", "syscon";
|
||||
reg = <0x10006000 0x1000>;
|
||||
infracfg = <&infracfg>;
|
||||
clocks = <&topckgen CLK_TOP_MM_SEL>,
|
||||
<&topckgen CLK_TOP_MFG_SEL>,
|
||||
<&topckgen CLK_TOP_ETHIF_SEL>;
|
||||
clock-names = "mm", "mfg", "ethif";
|
||||
};
|
||||
@@ -27,12 +27,9 @@ properties:
|
||||
mailbox controller device node and an args specifier
|
||||
that will be the phandle to the intended sub-mailbox
|
||||
child node to be used for communication. See
|
||||
Documentation/devicetree/bindings/mailbox/mailbox.txt
|
||||
for more details about the generic mailbox controller
|
||||
and client driver bindings. Also see
|
||||
Documentation/devicetree/bindings/mailbox/ \
|
||||
xlnx,zynqmp-ipi-mailbox.txt for typical controller that
|
||||
is used to communicate with this System controllers.
|
||||
Documentation/devicetree/bindings/mailbox/xlnx,zynqmp-ipi-mailbox.yaml
|
||||
for typical controller that is used to communicate with
|
||||
this System controllers.
|
||||
items:
|
||||
- description: tx channel
|
||||
- description: rx channel
|
||||
|
||||
@@ -1,32 +0,0 @@
|
||||
Versatile Express voltage regulators
|
||||
------------------------------------
|
||||
|
||||
Requires node properties:
|
||||
- "compatible" value: "arm,vexpress-volt"
|
||||
- "arm,vexpress-sysreg,func" when controlled via vexpress-sysreg
|
||||
(see Documentation/devicetree/bindings/arm/vexpress-config.yaml
|
||||
for more details)
|
||||
|
||||
Required regulator properties:
|
||||
- "regulator-name"
|
||||
- "regulator-always-on"
|
||||
|
||||
Optional regulator properties:
|
||||
- "regulator-min-microvolt"
|
||||
- "regulator-max-microvolt"
|
||||
|
||||
See Documentation/devicetree/bindings/regulator/regulator.txt
|
||||
for more details about the regulator properties.
|
||||
|
||||
When no "regulator-[min|max]-microvolt" properties are defined,
|
||||
the device is treated as fixed (or rather "read-only") regulator.
|
||||
|
||||
Example:
|
||||
volt@0 {
|
||||
compatible = "arm,vexpress-volt";
|
||||
arm,vexpress-sysreg,func = <2 0>;
|
||||
regulator-name = "Cores";
|
||||
regulator-min-microvolt = <800000>;
|
||||
regulator-max-microvolt = <1050000>;
|
||||
regulator-always-on;
|
||||
};
|
||||
@@ -1,6 +0,0 @@
|
||||
STMicroelectronics STM32 Peripheral Reset Controller
|
||||
====================================================
|
||||
|
||||
The RCC IP is both a reset and a clock controller.
|
||||
|
||||
Please see Documentation/devicetree/bindings/clock/st,stm32-rcc.yaml
|
||||
@@ -1,6 +0,0 @@
|
||||
STMicroelectronics STM32MP1 Peripheral Reset Controller
|
||||
=======================================================
|
||||
|
||||
The RCC IP is both a reset and a clock controller.
|
||||
|
||||
Please see Documentation/devicetree/bindings/clock/st,stm32mp1-rcc.yaml
|
||||
@@ -0,0 +1,158 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/scsi/hisilicon,hip05-sas-v1.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: HiSilicon SAS controller
|
||||
|
||||
maintainers:
|
||||
- Xingui Yang <yangxingui@huawei.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
items:
|
||||
- enum:
|
||||
- hisilicon,hip05-sas-v1
|
||||
- hisilicon,hip06-sas-v2
|
||||
- hisilicon,hip07-sas-v2
|
||||
|
||||
reg:
|
||||
minItems: 1
|
||||
items:
|
||||
- description: SAS registers
|
||||
- description: CPLD SGPIO control registers
|
||||
|
||||
clocks:
|
||||
minItems: 1
|
||||
maxItems: 2
|
||||
|
||||
dma-coherent: true
|
||||
|
||||
interrupts:
|
||||
description: >
|
||||
Interrupt specifiers for PHY, SATA, and completion queues; ordering and
|
||||
number depend on controller version.
|
||||
|
||||
For v1 hw: Interrupts for phys, completion queues, and fatal
|
||||
sources; the interrupts are ordered in 3 groups, as follows:
|
||||
|
||||
- Phy interrupts - Each phy has 3 interrupt sources:
|
||||
- broadcast
|
||||
- phyup
|
||||
- abnormal
|
||||
The phy interrupts are ordered into groups of 3 per phy
|
||||
(broadcast, phyup, and abnormal) in increasing order.
|
||||
- Completion queue interrupts - each completion queue has 1 interrupt
|
||||
source.
|
||||
- Fatal interrupts - the fatal interrupts are ordered as follows:
|
||||
- ECC
|
||||
- AXI bus
|
||||
|
||||
For v2 hw: Interrupts for phys, Sata, and completion queues;
|
||||
the interrupts are ordered in 3 groups, as follows:
|
||||
|
||||
- Phy interrupts - Each controller has 2 phy interrupts:
|
||||
- phy up/down
|
||||
- channel interrupt
|
||||
- Sata interrupts - Each phy on the controller has 1 Sata interrupt.
|
||||
- Completion queue interrupts - each completion queue has 1 interrupt
|
||||
source
|
||||
minItems: 58
|
||||
maxItems: 128
|
||||
|
||||
ctrl-reset-reg:
|
||||
description: Offset to controller reset register in SAS syscon region.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
|
||||
ctrl-reset-sts-reg:
|
||||
description: Offset to controller reset status register in SAS syscon region.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
|
||||
ctrl-clock-ena-reg:
|
||||
description: Offset to controller clock enable register in SAS syscon region.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
|
||||
hip06-sas-v2-quirk-amt:
|
||||
description:
|
||||
Indicates that the v2 controller has the "am-max-transmissions" limitation.
|
||||
type: boolean
|
||||
|
||||
hisilicon,sas-syscon:
|
||||
description: Phandle of syscon used for SAS control.
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
|
||||
hisilicon,signal-attenuation:
|
||||
description:
|
||||
De-emphasis, preshoot, and boost attenuation readings for the board,
|
||||
used to calculate signal attenuation (y = (x-10000)/10000).
|
||||
$ref: /schemas/types.yaml#/definitions/uint32-array
|
||||
minItems: 3
|
||||
maxItems: 3
|
||||
items:
|
||||
minimum: 7600
|
||||
maximum: 12400
|
||||
|
||||
phy-count:
|
||||
description: Number of PHYs accessible by the controller.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
|
||||
queue-count:
|
||||
description: Number of delivery and completion queues in the controller.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
|
||||
sas-addr:
|
||||
description: SAS address, array of 8 bytes representing host SAS address.
|
||||
$ref: /schemas/types.yaml#/definitions/uint8-array
|
||||
minItems: 8
|
||||
maxItems: 8
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- interrupts
|
||||
- ctrl-reset-reg
|
||||
- ctrl-reset-sts-reg
|
||||
- ctrl-clock-ena-reg
|
||||
- hisilicon,sas-syscon
|
||||
- phy-count
|
||||
- queue-count
|
||||
- sas-addr
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
sas@c1000000 {
|
||||
compatible = "hisilicon,hip05-sas-v1";
|
||||
reg = <0xc1000000 0x10000>;
|
||||
dma-coherent;
|
||||
interrupts = <259 4>, <263 4>, <264 4>, /* phy0 */
|
||||
<269 4>, <273 4>, <274 4>, /* phy1 */
|
||||
<279 4>, <283 4>, <284 4>, /* phy2 */
|
||||
<289 4>, <293 4>, <294 4>, /* phy3 */
|
||||
<299 4>, <303 4>, <304 4>, /* phy4 */
|
||||
<309 4>, <313 4>, <314 4>, /* phy5 */
|
||||
<319 4>, <323 4>, <324 4>, /* phy6 */
|
||||
<329 4>, <333 4>, <334 4>, /* phy7 */
|
||||
<336 1>, <337 1>, <338 1>, /* cq0-2 */
|
||||
<339 1>, <340 1>, <341 1>, /* cq3-5 */
|
||||
<342 1>, <343 1>, <344 1>, /* cq6-8 */
|
||||
<345 1>, <346 1>, <347 1>, /* cq9-11 */
|
||||
<348 1>, <349 1>, <350 1>, /* cq12-14 */
|
||||
<351 1>, <352 1>, <353 1>, /* cq15-17 */
|
||||
<354 1>, <355 1>, <356 1>, /* cq18-20 */
|
||||
<357 1>, <358 1>, <359 1>, /* cq21-23 */
|
||||
<360 1>, <361 1>, <362 1>, /* cq24-26 */
|
||||
<363 1>, <364 1>, <365 1>, /* cq27-29 */
|
||||
<366 1>, <367 1>, /* cq30-31 */
|
||||
<376 4>, /* fatal ecc */
|
||||
<381 4>; /* fatal axi */
|
||||
ctrl-reset-reg = <0xa60>;
|
||||
ctrl-reset-sts-reg = <0x5a30>;
|
||||
ctrl-clock-ena-reg = <0x338>;
|
||||
hisilicon,sas-syscon = <&pcie_sas>;
|
||||
queue-count = <32>;
|
||||
phy-count = <8>;
|
||||
sas-addr = [50 01 88 20 16 00 00 0a];
|
||||
};
|
||||
@@ -1,98 +0,0 @@
|
||||
* HiSilicon SAS controller
|
||||
|
||||
The HiSilicon SAS controller supports SAS/SATA.
|
||||
|
||||
Main node required properties:
|
||||
- compatible : value should be as follows:
|
||||
(a) "hisilicon,hip05-sas-v1" for v1 hw in hip05 chipset
|
||||
(b) "hisilicon,hip06-sas-v2" for v2 hw in hip06 chipset
|
||||
(c) "hisilicon,hip07-sas-v2" for v2 hw in hip07 chipset
|
||||
- sas-addr : array of 8 bytes for host SAS address
|
||||
- reg : Contains two regions. The first is the address and length of the SAS
|
||||
register. The second is the address and length of CPLD register for
|
||||
SGPIO control. The second is optional, and should be set only when
|
||||
we use a CPLD for directly attached disk LED control.
|
||||
- hisilicon,sas-syscon: phandle of syscon used for sas control
|
||||
- ctrl-reset-reg : offset to controller reset register in ctrl reg
|
||||
- ctrl-reset-sts-reg : offset to controller reset status register in ctrl reg
|
||||
- ctrl-clock-ena-reg : offset to controller clock enable register in ctrl reg
|
||||
- queue-count : number of delivery and completion queues in the controller
|
||||
- phy-count : number of phys accessible by the controller
|
||||
- interrupts : For v1 hw: Interrupts for phys, completion queues, and fatal
|
||||
sources; the interrupts are ordered in 3 groups, as follows:
|
||||
- Phy interrupts
|
||||
- Completion queue interrupts
|
||||
- Fatal interrupts
|
||||
Phy interrupts : Each phy has 3 interrupt sources:
|
||||
- broadcast
|
||||
- phyup
|
||||
- abnormal
|
||||
The phy interrupts are ordered into groups of 3 per phy
|
||||
(broadcast, phyup, and abnormal) in increasing order.
|
||||
Completion queue interrupts : each completion queue has 1
|
||||
interrupt source.
|
||||
The interrupts are ordered in increasing order.
|
||||
Fatal interrupts : the fatal interrupts are ordered as follows:
|
||||
- ECC
|
||||
- AXI bus
|
||||
For v2 hw: Interrupts for phys, Sata, and completion queues;
|
||||
the interrupts are ordered in 3 groups, as follows:
|
||||
- Phy interrupts
|
||||
- Sata interrupts
|
||||
- Completion queue interrupts
|
||||
Phy interrupts : Each controller has 2 phy interrupts:
|
||||
- phy up/down
|
||||
- channel interrupt
|
||||
Sata interrupts : Each phy on the controller has 1 Sata
|
||||
interrupt. The interrupts are ordered in increasing
|
||||
order.
|
||||
Completion queue interrupts : each completion queue has 1
|
||||
interrupt source. The interrupts are ordered in
|
||||
increasing order.
|
||||
|
||||
Optional main node properties:
|
||||
- hip06-sas-v2-quirk-amt : when set, indicates that the v2 controller has the
|
||||
"am-max-transmissions" limitation.
|
||||
- hisilicon,signal-attenuation : array of 3 32-bit values, containing de-emphasis,
|
||||
preshoot, and boost attenuation readings for the board. They
|
||||
are used to describe the signal attenuation of the board. These
|
||||
values' range is 7600 to 12400, and used to represent -24dB to
|
||||
24dB.
|
||||
The formula is "y = (x-10000)/10000". For example, 10478
|
||||
means 4.78dB.
|
||||
|
||||
Example:
|
||||
sas0: sas@c1000000 {
|
||||
compatible = "hisilicon,hip05-sas-v1";
|
||||
sas-addr = [50 01 88 20 16 00 00 0a];
|
||||
reg = <0x0 0xc1000000 0x0 0x10000>;
|
||||
hisilicon,sas-syscon = <&pcie_sas>;
|
||||
ctrl-reset-reg = <0xa60>;
|
||||
ctrl-reset-sts-reg = <0x5a30>;
|
||||
ctrl-clock-ena-reg = <0x338>;
|
||||
queue-count = <32>;
|
||||
phy-count = <8>;
|
||||
dma-coherent;
|
||||
interrupt-parent = <&mbigen_dsa>;
|
||||
interrupts = <259 4>,<263 4>,<264 4>,/* phy0 */
|
||||
<269 4>,<273 4>,<274 4>,/* phy1 */
|
||||
<279 4>,<283 4>,<284 4>,/* phy2 */
|
||||
<289 4>,<293 4>,<294 4>,/* phy3 */
|
||||
<299 4>,<303 4>,<304 4>,/* phy4 */
|
||||
<309 4>,<313 4>,<314 4>,/* phy5 */
|
||||
<319 4>,<323 4>,<324 4>,/* phy6 */
|
||||
<329 4>,<333 4>,<334 4>,/* phy7 */
|
||||
<336 1>,<337 1>,<338 1>,/* cq0-2 */
|
||||
<339 1>,<340 1>,<341 1>,/* cq3-5 */
|
||||
<342 1>,<343 1>,<344 1>,/* cq6-8 */
|
||||
<345 1>,<346 1>,<347 1>,/* cq9-11 */
|
||||
<348 1>,<349 1>,<350 1>,/* cq12-14 */
|
||||
<351 1>,<352 1>,<353 1>,/* cq15-17 */
|
||||
<354 1>,<355 1>,<356 1>,/* cq18-20 */
|
||||
<357 1>,<358 1>,<359 1>,/* cq21-23 */
|
||||
<360 1>,<361 1>,<362 1>,/* cq24-26 */
|
||||
<363 1>,<364 1>,<365 1>,/* cq27-29 */
|
||||
<366 1>,<367 1>/* cq30-31 */
|
||||
<376 4>,/* fatal ecc */
|
||||
<381 4>;/* fatal axi */
|
||||
};
|
||||
@@ -0,0 +1,35 @@
|
||||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/soc/hisilicon/hisilicon,hip05-cpld.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: HiSilicon HIP05 CPLD registers
|
||||
|
||||
maintainers:
|
||||
- Wei Xu <xuwei5@hisilicon.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: hisilicon,hip05-cpld
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
local-bus {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <1>;
|
||||
|
||||
cpld@100000000 {
|
||||
compatible = "hisilicon,hip05-cpld";
|
||||
reg = <0x1 0x0 0x100>;
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,58 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/soc/mediatek/mediatek,mt2701-g3dsys.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: MediaTek G3D System Controller
|
||||
|
||||
maintainers:
|
||||
- Sean Wang <sean.wang@mediatek.com>
|
||||
- Ryder Lee <ryder.lee@mediatek.com>
|
||||
|
||||
description: |
|
||||
The MediaTek G3D system controller provides clocks and reset control
|
||||
for the GPU subsystem on MediaTek SoCs.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
oneOf:
|
||||
- items:
|
||||
- const: mediatek,mt2701-g3dsys
|
||||
- const: syscon
|
||||
- items:
|
||||
- const: mediatek,mt7623-g3dsys
|
||||
- const: mediatek,mt2701-g3dsys
|
||||
- const: syscon
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
"#clock-cells":
|
||||
const: 1
|
||||
|
||||
"#reset-cells":
|
||||
const: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- "#clock-cells"
|
||||
- "#reset-cells"
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
soc {
|
||||
#address-cells = <2>;
|
||||
#size-cells = <2>;
|
||||
g3dsys: syscon@13000000 {
|
||||
compatible = "mediatek,mt7623-g3dsys",
|
||||
"mediatek,mt2701-g3dsys",
|
||||
"syscon";
|
||||
reg = <0 0x13000000 0 0x200>;
|
||||
#clock-cells = <1>;
|
||||
#reset-cells = <1>;
|
||||
};
|
||||
};
|
||||
@@ -1,79 +0,0 @@
|
||||
MediaTek SCPSYS
|
||||
===============
|
||||
|
||||
The System Control Processor System (SCPSYS) has several power management
|
||||
related tasks in the system. The tasks include thermal measurement, dynamic
|
||||
voltage frequency scaling (DVFS), interrupt filter and lowlevel sleep control.
|
||||
The System Power Manager (SPM) inside the SCPSYS is for the MTCMOS power
|
||||
domain control.
|
||||
|
||||
The driver implements the Generic PM domain bindings described in
|
||||
power/power-domain.yaml. It provides the power domains defined in
|
||||
- include/dt-bindings/power/mt8173-power.h
|
||||
- include/dt-bindings/power/mt6797-power.h
|
||||
- include/dt-bindings/power/mt6765-power.h
|
||||
- include/dt-bindings/power/mt2701-power.h
|
||||
- include/dt-bindings/power/mt2712-power.h
|
||||
- include/dt-bindings/power/mt7622-power.h
|
||||
|
||||
Required properties:
|
||||
- compatible: Should be one of:
|
||||
- "mediatek,mt2701-scpsys"
|
||||
- "mediatek,mt2712-scpsys"
|
||||
- "mediatek,mt6735-scpsys"
|
||||
- "mediatek,mt6765-scpsys"
|
||||
- "mediatek,mt6797-scpsys"
|
||||
- "mediatek,mt7622-scpsys"
|
||||
- "mediatek,mt7623-scpsys", "mediatek,mt2701-scpsys": For MT7623 SoC
|
||||
- "mediatek,mt7623a-scpsys": For MT7623A SoC
|
||||
- "mediatek,mt7629-scpsys", "mediatek,mt7622-scpsys": For MT7629 SoC
|
||||
- "mediatek,mt8173-scpsys"
|
||||
- #power-domain-cells: Must be 1
|
||||
- reg: Address range of the SCPSYS unit
|
||||
- infracfg: must contain a phandle to the infracfg controller
|
||||
- clock, clock-names: clocks according to the common clock binding.
|
||||
These are clocks which hardware needs to be
|
||||
enabled before enabling certain power domains.
|
||||
Required clocks for MT2701 or MT7623: "mm", "mfg", "ethif"
|
||||
Required clocks for MT2712: "mm", "mfg", "venc", "jpgdec", "audio", "vdec"
|
||||
Required clocks for MT6765: MUX: "mm", "mfg"
|
||||
CG: "mm-0", "mm-1", "mm-2", "mm-3", "isp-0",
|
||||
"isp-1", "cam-0", "cam-1", "cam-2",
|
||||
"cam-3","cam-4"
|
||||
Required clocks for MT6797: "mm", "mfg", "vdec"
|
||||
Required clocks for MT7622 or MT7629: "hif_sel"
|
||||
Required clocks for MT7623A: "ethif"
|
||||
Required clocks for MT8173: "mm", "mfg", "venc", "venc_lt"
|
||||
|
||||
Optional properties:
|
||||
- vdec-supply: Power supply for the vdec power domain
|
||||
- venc-supply: Power supply for the venc power domain
|
||||
- isp-supply: Power supply for the isp power domain
|
||||
- mm-supply: Power supply for the mm power domain
|
||||
- venc_lt-supply: Power supply for the venc_lt power domain
|
||||
- audio-supply: Power supply for the audio power domain
|
||||
- usb-supply: Power supply for the usb power domain
|
||||
- mfg_async-supply: Power supply for the mfg_async power domain
|
||||
- mfg_2d-supply: Power supply for the mfg_2d power domain
|
||||
- mfg-supply: Power supply for the mfg power domain
|
||||
|
||||
Example:
|
||||
|
||||
scpsys: scpsys@10006000 {
|
||||
#power-domain-cells = <1>;
|
||||
compatible = "mediatek,mt8173-scpsys";
|
||||
reg = <0 0x10006000 0 0x1000>;
|
||||
infracfg = <&infracfg>;
|
||||
clocks = <&clk26m>,
|
||||
<&topckgen CLK_TOP_MM_SEL>;
|
||||
<&topckgen CLK_TOP_VENC_SEL>,
|
||||
<&topckgen CLK_TOP_VENC_LT_SEL>;
|
||||
clock-names = "mfg", "mm", "venc", "venc_lt";
|
||||
};
|
||||
|
||||
Example consumer:
|
||||
|
||||
afe: mt8173-afe-pcm@11220000 {
|
||||
compatible = "mediatek,mt8173-afe-pcm";
|
||||
power-domains = <&scpsys MT8173_POWER_DOMAIN_AUDIO>;
|
||||
};
|
||||
@@ -17,13 +17,17 @@ description:
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
items:
|
||||
- enum:
|
||||
- nuvoton,wpcm450-gcr
|
||||
- nuvoton,npcm750-gcr
|
||||
- nuvoton,npcm845-gcr
|
||||
- const: syscon
|
||||
- const: simple-mfd
|
||||
oneOf:
|
||||
- items:
|
||||
- enum:
|
||||
- nuvoton,npcm845-gcr
|
||||
- const: syscon
|
||||
- items:
|
||||
- enum:
|
||||
- nuvoton,wpcm450-gcr
|
||||
- nuvoton,npcm750-gcr
|
||||
- const: syscon
|
||||
- const: simple-mfd
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
@@ -71,7 +71,7 @@ properties:
|
||||
maxItems: 1
|
||||
description:
|
||||
Reference to the mailbox representing the outgoing doorbell in APCS for
|
||||
this client, as described in mailbox/mailbox.txt
|
||||
this client.
|
||||
|
||||
"#clock-cells":
|
||||
const: 0
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/sound/mediatek,mt8173-rt5650.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Mediatek MT8173 with RT5650 codecs and HDMI via I2S
|
||||
|
||||
maintainers:
|
||||
- Ariel D'Alessandro <ariel.dalessandro@collabora.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: mediatek,mt8173-rt5650
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
mediatek,audio-codec:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||||
description:
|
||||
The phandles of rt5650 codecs and of the HDMI encoder node.
|
||||
minItems: 2
|
||||
|
||||
mediatek,platform:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description:
|
||||
The phandle of MT8173 ASoC platform.
|
||||
|
||||
mediatek,mclk:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: |
|
||||
The MCLK source.
|
||||
0: external oscillator, MCLK = 12.288M
|
||||
1: internal source from mt8173, MCLK = sampling rate * 256
|
||||
|
||||
codec-capture:
|
||||
description: Subnode of rt5650 codec capture.
|
||||
type: object
|
||||
|
||||
properties:
|
||||
sound-dai:
|
||||
maxItems: 1
|
||||
description: phandle of the CPU DAI
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- mediatek,audio-codec
|
||||
- mediatek,platform
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
sound {
|
||||
compatible = "mediatek,mt8173-rt5650";
|
||||
mediatek,audio-codec = <&rt5650 &hdmi0>;
|
||||
mediatek,platform = <&afe>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&aud_i2s2>;
|
||||
|
||||
mediatek,mclk = <1>;
|
||||
codec-capture {
|
||||
sound-dai = <&rt5650 1>;
|
||||
};
|
||||
};
|
||||
|
||||
...
|
||||
@@ -1,31 +0,0 @@
|
||||
MT8173 with RT5650 CODECS and HDMI via I2S
|
||||
|
||||
Required properties:
|
||||
- compatible : "mediatek,mt8173-rt5650"
|
||||
- mediatek,audio-codec: the phandles of rt5650 codecs
|
||||
and of the hdmi encoder node
|
||||
- mediatek,platform: the phandle of MT8173 ASoC platform
|
||||
|
||||
Optional subnodes:
|
||||
- codec-capture : the subnode of rt5650 codec capture
|
||||
Required codec-capture subnode properties:
|
||||
- sound-dai: audio codec dai name on capture path
|
||||
<&rt5650 0> : Default setting. Connect rt5650 I2S1 for capture. (dai_name = rt5645-aif1)
|
||||
<&rt5650 1> : Connect rt5650 I2S2 for capture. (dai_name = rt5645-aif2)
|
||||
|
||||
- mediatek,mclk: the MCLK source
|
||||
0 : external oscillator, MCLK = 12.288M
|
||||
1 : internal source from mt8173, MCLK = sampling rate*256
|
||||
|
||||
Example:
|
||||
|
||||
sound {
|
||||
compatible = "mediatek,mt8173-rt5650";
|
||||
mediatek,audio-codec = <&rt5650 &hdmi0>;
|
||||
mediatek,platform = <&afe>;
|
||||
mediatek,mclk = <0>;
|
||||
codec-capture {
|
||||
sound-dai = <&rt5650 1>;
|
||||
};
|
||||
};
|
||||
|
||||
@@ -62,21 +62,21 @@ examples:
|
||||
interrupts = <GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>;
|
||||
|
||||
flash@0 {
|
||||
reg = < 0 >;
|
||||
reg = <0>;
|
||||
compatible = "jedec,spi-nor";
|
||||
spi-max-frequency = <50000000>;
|
||||
spi-rx-bus-width = <2>;
|
||||
};
|
||||
|
||||
flash@1 {
|
||||
reg = < 1 >;
|
||||
reg = <1>;
|
||||
compatible = "jedec,spi-nor";
|
||||
spi-max-frequency = <50000000>;
|
||||
spi-rx-bus-width = <2>;
|
||||
};
|
||||
|
||||
flash@2 {
|
||||
reg = < 2 >;
|
||||
reg = <2>;
|
||||
compatible = "jedec,spi-nor";
|
||||
spi-max-frequency = <50000000>;
|
||||
spi-rx-bus-width = <2>;
|
||||
|
||||
@@ -137,7 +137,7 @@ examples:
|
||||
cooling-maps {
|
||||
map0 {
|
||||
trip = <&cpu_alert1>;
|
||||
cooling-device = <&cpu_b0_therm 0 15 >,
|
||||
cooling-device = <&cpu_b0_therm 0 15>,
|
||||
<&cpu_b1_therm 0 15>;
|
||||
};
|
||||
|
||||
|
||||
@@ -188,7 +188,7 @@ properties:
|
||||
- injoinic,ip5306
|
||||
# Inspur Power System power supply unit version 1
|
||||
- inspur,ipsps1
|
||||
# Intel common redudant power supply crps185
|
||||
# Intel common redundant power supply crps185
|
||||
- intel,crps185
|
||||
# Intersil ISL29028 Ambient Light and Proximity Sensor
|
||||
- isil,isl29028
|
||||
@@ -414,6 +414,8 @@ properties:
|
||||
- samsung,24ad0xd1
|
||||
# Samsung Exynos SoC SATA PHY I2C device
|
||||
- samsung,exynos-sataphy-i2c
|
||||
# SDMC 1024bit EEPROM + 128bit OTP memory for key
|
||||
- sdmc,dm2016
|
||||
# Semtech sx1301 baseband processor
|
||||
- semtech,sx1301
|
||||
# Sensirion multi-pixel gas sensor with I2C interface
|
||||
|
||||
@@ -0,0 +1,97 @@
|
||||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/usb/st,stm32mp25-dwc3.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: STMicroelectronics STM32 MPU DWC3 USB SoC controller
|
||||
|
||||
description:
|
||||
The STM32 MPU DWC3 USB SoC controller block supports both
|
||||
Host(SS/HS/FS/LS) and Device(SS/HS/FS) mode operation
|
||||
|
||||
maintainers:
|
||||
- Fabrice Gasnier <fabrice.gasnier@foss.st.com>
|
||||
- Marek Vasut <marex@nabladev.com>
|
||||
|
||||
allOf:
|
||||
- $ref: snps,dwc3-common.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: st,stm32mp25-dwc3
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
access-controllers:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
minItems: 3
|
||||
maxItems: 3
|
||||
|
||||
clock-names:
|
||||
items:
|
||||
- const: ref
|
||||
- const: bus_early
|
||||
- const: suspend
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
resets:
|
||||
maxItems: 1
|
||||
|
||||
over-current-active-low:
|
||||
type: boolean
|
||||
description: Over-Current signal polarity is active-low
|
||||
|
||||
st,syscfg:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||||
description: Phandle to system configuration controller.
|
||||
items:
|
||||
- items:
|
||||
- description: phandle to syscfg
|
||||
- description: USB3DR control offset within syscfg
|
||||
|
||||
st,enable-port-power-control:
|
||||
type: boolean
|
||||
description: Enable Host-Mode Port Power Control (bit-3 of capability param HCCPARAMS)
|
||||
|
||||
st,vbusen-active-low:
|
||||
type: boolean
|
||||
description: VBUS-ENABLE signal polarity is active-low
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- clocks
|
||||
- clock-names
|
||||
- interrupts
|
||||
- phys
|
||||
- phy-names
|
||||
- resets
|
||||
- st,syscfg
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/clock/st,stm32mp25-rcc.h>
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/reset/st,stm32mp25-rcc.h>
|
||||
|
||||
usb@48300000 {
|
||||
compatible = "st,stm32mp25-dwc3";
|
||||
reg = <0x48300000 0x100000>;
|
||||
clocks = <&rcc CK_KER_USB2PHY2>, <&rcc CK_BUS_USB3DR>, <&rcc CK_KER_USB2PHY2>;
|
||||
clock-names = "ref", "bus_early", "suspend";
|
||||
interrupts = <GIC_SPI 228 IRQ_TYPE_LEVEL_HIGH>;
|
||||
phys = <&usb2_phy>, <&usb3_phy>;
|
||||
phy-names = "usb2-phy", "usb3-phy";
|
||||
resets = <&rcc USB3DR_R>;
|
||||
over-current-active-low;
|
||||
st,syscfg = <&syscfg 0x4800>;
|
||||
st,vbusen-active-low;
|
||||
};
|
||||
@@ -114,6 +114,8 @@ patternProperties:
|
||||
description: Amarula Solutions
|
||||
"^amazon,.*":
|
||||
description: Amazon.com, Inc.
|
||||
"^ambarella,.*":
|
||||
description: Ambarella, Inc.
|
||||
"^amcc,.*":
|
||||
description: Applied Micro Circuits Corporation (APM, formally AMCC)
|
||||
"^amd,.*":
|
||||
|
||||
@@ -125,7 +125,7 @@ Figure 1: Generic structure of un-flattened device tree
|
||||
|
||||
|
||||
Before executing OF unittest, it is required to attach the test data to
|
||||
machine's device tree (if present). So, when selftest_data_add() is called,
|
||||
machine's device tree (if present). So, when unittest_data_add() is called,
|
||||
at first it reads the flattened device tree data linked into the kernel image
|
||||
via the following kernel symbols::
|
||||
|
||||
|
||||
@@ -115,10 +115,6 @@ The API is quite easy to use.
|
||||
previously created via the call to of_overlay_fdt_apply(). Removal of an
|
||||
overlay changeset that is stacked by another will not be permitted.
|
||||
|
||||
Finally, if you need to remove all overlays in one-go, just call
|
||||
of_overlay_remove_all() which will remove every single one in the correct
|
||||
order.
|
||||
|
||||
There is the option to register notifiers that get called on
|
||||
overlay operations. See of_overlay_notifier_register/unregister and
|
||||
enum of_overlay_notify_action for details.
|
||||
|
||||
@@ -116,9 +116,6 @@ DT中的适当位置。在这种情况下,可以提供目标路径。通过标
|
||||
2) 调用of_overlay_remove()来删除和清理先前通过调用of_overlay_fdt_apply()
|
||||
而创建的覆盖变更集。不允许删除一个被另一个覆盖的覆盖变化集。
|
||||
|
||||
最后,如果你需要一次性删除所有的覆盖,只需调用of_overlay_remove_all(),
|
||||
它将以正确的顺序删除每一个覆盖。
|
||||
|
||||
你可以选择注册在覆盖操作中被调用的通知器。详见
|
||||
of_overlay_notifier_register/unregister和enum of_overlay_notify_action。
|
||||
|
||||
|
||||
+3
-1
@@ -12085,7 +12085,7 @@ HISILICON SAS Controller
|
||||
M: Xingui Yang <yangxingui@huawei.com>
|
||||
S: Supported
|
||||
W: http://www.hisilicon.com
|
||||
F: Documentation/devicetree/bindings/scsi/hisilicon-sas.txt
|
||||
F: Documentation/devicetree/bindings/scsi/hisilicon,hip05-sas-v1.yaml
|
||||
F: drivers/scsi/hisi_sas/
|
||||
|
||||
HISILICON SECURITY ENGINE V2 DRIVER (SEC2)
|
||||
@@ -20834,6 +20834,8 @@ F: Documentation/devicetree/
|
||||
F: Documentation/process/maintainer-devicetree.rst
|
||||
F: arch/*/boot/dts/
|
||||
F: include/dt-bindings/
|
||||
F: scripts/dtc/dt-check-style
|
||||
F: scripts/dtc/dt-style-selftest/
|
||||
|
||||
OPENCOMPUTE PTP CLOCK DRIVER
|
||||
M: Vadim Fedorenko <vadim.fedorenko@linux.dev>
|
||||
|
||||
@@ -172,7 +172,7 @@ static u64 __init fdt_translate_address(const void *blob, int node_offset)
|
||||
goto bail;
|
||||
bus = &of_busses[0];
|
||||
|
||||
/* Cound address cells & copy address locally */
|
||||
/* Count address cells & copy address locally */
|
||||
bus->count_cells(blob, parent, &na, &ns);
|
||||
if (!OF_CHECK_COUNTS(na, ns)) {
|
||||
pr_err("Bad cell count for %s\n",
|
||||
|
||||
+22
-17
@@ -767,34 +767,27 @@ err:
|
||||
}
|
||||
}
|
||||
|
||||
static int of_check_msi_parent(struct device_node *dev_node, struct device_node **msi_node)
|
||||
static int of_check_msi_parent(struct device_node *dev_node, struct device_node **msi_node,
|
||||
struct of_phandle_args *msi_spec)
|
||||
{
|
||||
struct of_phandle_args msi_spec;
|
||||
int ret;
|
||||
|
||||
/*
|
||||
* An msi-parent phandle with a missing or == 0 #msi-cells
|
||||
* property identifies a 1:1 ID translation mapping.
|
||||
*
|
||||
* Set the msi controller node if the firmware matches this
|
||||
* condition.
|
||||
* @msi_spec keeps a reference to the target node whenever the
|
||||
* phandle parses, -EINVAL included, and the caller releases it.
|
||||
*/
|
||||
ret = of_parse_phandle_with_optional_args(dev_node, "msi-parent", "#msi-cells",
|
||||
0, &msi_spec);
|
||||
0, msi_spec);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
if ((*msi_node && *msi_node != msi_spec.np) || msi_spec.args_count != 0)
|
||||
ret = -EINVAL;
|
||||
if ((*msi_node && *msi_node != msi_spec->np) || msi_spec->args_count != 0)
|
||||
return -EINVAL;
|
||||
|
||||
if (!ret) {
|
||||
/* Return with a node reference held */
|
||||
*msi_node = msi_spec.np;
|
||||
return 0;
|
||||
}
|
||||
of_node_put(msi_spec.np);
|
||||
|
||||
return ret;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -808,7 +801,9 @@ static int of_check_msi_parent(struct device_node *dev_node, struct device_node
|
||||
* @id_in: Device ID.
|
||||
*
|
||||
* Walk up the device hierarchy looking for devices with a "msi-map"
|
||||
* or "msi-parent" property. If found, apply the mapping to @id_in.
|
||||
* or "msi-parent" property. If found, apply the mapping to @id_in. With
|
||||
* @msi_np non-NULL, a device declaring an msi-parent ends the walk, usable
|
||||
* or not.
|
||||
*
|
||||
* Returns: The mapped MSI id.
|
||||
*/
|
||||
@@ -823,6 +818,7 @@ u32 of_msi_xlate(struct device *dev, struct device_node **msi_np, u32 id_in)
|
||||
*/
|
||||
for (parent_dev = dev; parent_dev; parent_dev = parent_dev->parent) {
|
||||
struct of_phandle_args msi_spec = {};
|
||||
int ret;
|
||||
|
||||
if (!of_map_msi_id(parent_dev->of_node, id_in, msi_np, &msi_spec)) {
|
||||
if (msi_spec.np) {
|
||||
@@ -837,8 +833,17 @@ u32 of_msi_xlate(struct device *dev, struct device_node **msi_np, u32 id_in)
|
||||
break;
|
||||
}
|
||||
/* -ENODEV: msi-map absent → check for msi-parent */
|
||||
if (msi_np && !of_check_msi_parent(parent_dev->of_node, msi_np))
|
||||
if (!msi_np)
|
||||
continue;
|
||||
|
||||
ret = of_check_msi_parent(parent_dev->of_node, msi_np, &msi_spec);
|
||||
if (msi_spec.np) {
|
||||
/* A declared msi-parent names the controller, usable or not */
|
||||
if (!ret && !*msi_np)
|
||||
*msi_np = of_node_get(msi_spec.np);
|
||||
of_node_put(msi_spec.np);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return id_out;
|
||||
}
|
||||
|
||||
@@ -1282,26 +1282,3 @@ out:
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(of_overlay_remove);
|
||||
|
||||
/**
|
||||
* of_overlay_remove_all() - Reverts and frees all overlay changesets
|
||||
*
|
||||
* Removes all overlays from the system in the correct order.
|
||||
*
|
||||
* Return: 0 on success, or a negative error number
|
||||
*/
|
||||
int of_overlay_remove_all(void)
|
||||
{
|
||||
struct overlay_changeset *ovcs, *ovcs_n;
|
||||
int ret;
|
||||
|
||||
/* the tail of list is guaranteed to be safe to remove */
|
||||
list_for_each_entry_safe_reverse(ovcs, ovcs_n, &ovcs_list, ovcs_list) {
|
||||
ret = of_overlay_remove(&ovcs->id);
|
||||
if (ret)
|
||||
return ret;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(of_overlay_remove_all);
|
||||
+20
-3
@@ -74,7 +74,7 @@ bool of_graph_is_present(const struct device_node *node)
|
||||
|
||||
struct device_node *port __free(device_node) = of_get_child_by_name(node, "port");
|
||||
|
||||
return !!port;
|
||||
return port;
|
||||
}
|
||||
EXPORT_SYMBOL(of_graph_is_present);
|
||||
|
||||
@@ -1471,6 +1471,22 @@ static struct device_node *parse_gpio_compat(struct device_node *np,
|
||||
return sup_args.np;
|
||||
}
|
||||
|
||||
static struct device_node *parse_i2c_parent(struct device_node *np,
|
||||
const char *prop_name, int index)
|
||||
{
|
||||
if (strcmp(prop_name, "i2c-parent"))
|
||||
return NULL;
|
||||
|
||||
/* tc9563 (pci1179,0623) is <phandle addr>; every other user is bare phandles */
|
||||
if (of_device_is_compatible(np, "pci1179,0623")) {
|
||||
if (index)
|
||||
return NULL;
|
||||
return of_parse_phandle(np, prop_name, 0);
|
||||
}
|
||||
|
||||
return of_parse_phandle(np, prop_name, index);
|
||||
}
|
||||
|
||||
static struct device_node *parse_interrupts(struct device_node *np,
|
||||
const char *prop_name, int index)
|
||||
{
|
||||
@@ -1562,6 +1578,7 @@ static const struct supplier_bindings of_supplier_bindings[] = {
|
||||
{ .parse_prop = parse_resets, },
|
||||
{ .parse_prop = parse_leds, },
|
||||
{ .parse_prop = parse_backlight, },
|
||||
{ .parse_prop = parse_i2c_parent, },
|
||||
{ .parse_prop = parse_panel, },
|
||||
{ .parse_prop = parse_msi_parent, },
|
||||
{ .parse_prop = parse_pses, },
|
||||
@@ -1659,12 +1676,12 @@ static bool of_is_fwnode_add_links_supported(void)
|
||||
return true;
|
||||
|
||||
if (is_supported != -1)
|
||||
return !!is_supported;
|
||||
return is_supported;
|
||||
|
||||
is_supported = !((match_property_by_path("/soc", "compatible", "intel,ce4100-cp") >= 0) ||
|
||||
(match_property_by_path("/", "architecture", "OLPC") >= 0));
|
||||
|
||||
return !!is_supported;
|
||||
return is_supported;
|
||||
}
|
||||
|
||||
static int of_fwnode_add_links(struct fwnode_handle *fwnode)
|
||||
|
||||
@@ -44,6 +44,7 @@
|
||||
|
||||
/* Gate clocks */
|
||||
#define AGILEX_MPU_CLK 30
|
||||
/* Legacy ABI ID; do not use in new DTs, use AGILEX_MPU_CCU_CLK */
|
||||
#define AGILEX_MPU_L2RAM_CLK 31
|
||||
#define AGILEX_MPU_PERIPH_CLK 32
|
||||
#define AGILEX_L4_MAIN_CLK 33
|
||||
|
||||
@@ -1837,7 +1837,6 @@ struct of_overlay_notify_data {
|
||||
int of_overlay_fdt_apply(const void *overlay_fdt, u32 overlay_fdt_size,
|
||||
int *ovcs_id, const struct device_node *target_base);
|
||||
int of_overlay_remove(int *ovcs_id);
|
||||
int of_overlay_remove_all(void);
|
||||
|
||||
int of_overlay_notifier_register(struct notifier_block *nb);
|
||||
int of_overlay_notifier_unregister(struct notifier_block *nb);
|
||||
@@ -1855,11 +1854,6 @@ static inline int of_overlay_remove(int *ovcs_id)
|
||||
return -ENOTSUPP;
|
||||
}
|
||||
|
||||
static inline int of_overlay_remove_all(void)
|
||||
{
|
||||
return -ENOTSUPP;
|
||||
}
|
||||
|
||||
static inline int of_overlay_notifier_register(struct notifier_block *nb)
|
||||
{
|
||||
return 0;
|
||||
|
||||
+560
-412
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,37 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
/dts-v1/;
|
||||
|
||||
/ {
|
||||
compatible = "example,test-board";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
interrupt-controller@10000 {
|
||||
compatible = "example,intc";
|
||||
|
||||
reg = <0x10000 0x1000>;
|
||||
|
||||
clocks = <1 2 3>,
|
||||
|
||||
|
||||
/* Comment is not a blank line */
|
||||
<4 5 6>,
|
||||
|
||||
/* Comment is not a blank line */
|
||||
<7 8 9>;
|
||||
|
||||
|
||||
interrupts = <1>;
|
||||
|
||||
/* Comment is not a blank line */
|
||||
qcom,calibration-variant = "foo";
|
||||
};
|
||||
|
||||
|
||||
interrupt-controller@20000 {
|
||||
|
||||
compatible = "example,intc";
|
||||
reg = <0x20000 0x1000>;
|
||||
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,33 @@
|
||||
// SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
/dts-v1/;
|
||||
/plugin/;
|
||||
|
||||
&{/} {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
pmu {
|
||||
compatible = "example,pmu";
|
||||
|
||||
/* Include labels to be sure they do not affect sorting */
|
||||
foo: foo {
|
||||
label = "foo";
|
||||
};
|
||||
|
||||
label_bar: bar {
|
||||
label = "bar";
|
||||
};
|
||||
};
|
||||
|
||||
memory@a0000000 {
|
||||
device_type = "memory";
|
||||
reg = <0x0 0xa0000000 0x0 0x0>;
|
||||
};
|
||||
|
||||
pmu-2 {
|
||||
compatible = "example,pmu";
|
||||
|
||||
/* Just reference labels to avoid strict warnings */
|
||||
example,foo = <&foo>, <&label_bar>;
|
||||
};
|
||||
};
|
||||
Loaded 100 of 188 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user