lkml.org 
[lkml]   [2021]   [Nov]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v16 06/40] dt-bindings: host1x: Document OPP and power domain properties
    Date
    Document new DVFS OPP table and power domain properties of the Host1x bus
    and devices sitting on the bus.

    Reviewed-by: Rob Herring <robh@kernel.org>
    Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
    ---
    .../display/tegra/nvidia,tegra20-host1x.txt | 49 +++++++++++++++++++
    1 file changed, 49 insertions(+)

    diff --git a/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-host1x.txt b/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-host1x.txt
    index 8a6d3e1ee306..62861a8fb5c6 100644
    --- a/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-host1x.txt
    +++ b/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-host1x.txt
    @@ -20,6 +20,18 @@ Required properties:
    - reset-names: Must include the following entries:
    - host1x

    +Optional properties:
    +- operating-points-v2: See ../bindings/opp/opp.txt for details.
    + - power-domains: Phandle to HEG or core power domain.
    +
    +For each opp entry in 'operating-points-v2' table of host1x and its modules:
    +- opp-supported-hw: One bitfield indicating:
    + On Tegra20: SoC process ID mask
    + On Tegra30+: SoC speedo ID mask
    +
    + A bitwise AND is performed against the value and if any bit
    + matches, the OPP gets enabled.
    +
    Each host1x client module having to perform DMA through the Memory Controller
    should have the interconnect endpoints set to the Memory Client and External
    Memory respectively.
    @@ -45,6 +57,8 @@ of the following host1x client modules:
    - interconnect-names: Must include name of the interconnect path for each
    interconnect entry. Consult TRM documentation for information about
    available memory clients, see MEMORY CONTROLLER section.
    + - operating-points-v2: See ../bindings/opp/opp.txt for details.
    + - power-domains: Phandle to MPE power domain.

    - vi: video input

    @@ -128,6 +142,8 @@ of the following host1x client modules:
    - interconnect-names: Must include name of the interconnect path for each
    interconnect entry. Consult TRM documentation for information about
    available memory clients, see MEMORY CONTROLLER section.
    + - operating-points-v2: See ../bindings/opp/opp.txt for details.
    + - power-domains: Phandle to VENC power domain.

    - epp: encoder pre-processor

    @@ -147,6 +163,8 @@ of the following host1x client modules:
    - interconnect-names: Must include name of the interconnect path for each
    interconnect entry. Consult TRM documentation for information about
    available memory clients, see MEMORY CONTROLLER section.
    + - operating-points-v2: See ../bindings/opp/opp.txt for details.
    + - power-domains: Phandle to HEG or core power domain.

    - isp: image signal processor

    @@ -166,6 +184,7 @@ of the following host1x client modules:
    - interconnect-names: Must include name of the interconnect path for each
    interconnect entry. Consult TRM documentation for information about
    available memory clients, see MEMORY CONTROLLER section.
    + - power-domains: Phandle to VENC or core power domain.

    - gr2d: 2D graphics engine

    @@ -185,6 +204,8 @@ of the following host1x client modules:
    - interconnect-names: Must include name of the interconnect path for each
    interconnect entry. Consult TRM documentation for information about
    available memory clients, see MEMORY CONTROLLER section.
    + - operating-points-v2: See ../bindings/opp/opp.txt for details.
    + - power-domains: Phandle to HEG or core power domain.

    - gr3d: 3D graphics engine

    @@ -209,6 +230,8 @@ of the following host1x client modules:
    - interconnect-names: Must include name of the interconnect path for each
    interconnect entry. Consult TRM documentation for information about
    available memory clients, see MEMORY CONTROLLER section.
    + - operating-points-v2: See ../bindings/opp/opp.txt for details.
    + - power-domains: Phandles to 3D or core power domain.

    - dc: display controller

    @@ -241,6 +264,8 @@ of the following host1x client modules:
    - interconnect-names: Must include name of the interconnect path for each
    interconnect entry. Consult TRM documentation for information about
    available memory clients, see MEMORY CONTROLLER section.
    + - operating-points-v2: See ../bindings/opp/opp.txt for details.
    + - power-domains: Phandle to core power domain.

    - hdmi: High Definition Multimedia Interface

    @@ -267,6 +292,7 @@ of the following host1x client modules:
    - nvidia,hpd-gpio: specifies a GPIO used for hotplug detection
    - nvidia,edid: supplies a binary EDID blob
    - nvidia,panel: phandle of a display panel
    + - operating-points-v2: See ../bindings/opp/opp.txt for details.

    - tvo: TV encoder output

    @@ -277,6 +303,10 @@ of the following host1x client modules:
    - clocks: Must contain one entry, for the module clock.
    See ../clocks/clock-bindings.txt for details.

    + Optional properties:
    + - operating-points-v2: See ../bindings/opp/opp.txt for details.
    + - power-domains: Phandle to core power domain.
    +
    - dsi: display serial interface

    Required properties:
    @@ -305,6 +335,7 @@ of the following host1x client modules:
    - nvidia,panel: phandle of a display panel
    - nvidia,ganged-mode: contains a phandle to a second DSI controller to gang
    up with in order to support up to 8 data lanes
    + - operating-points-v2: See ../bindings/opp/opp.txt for details.

    - sor: serial output resource

    @@ -408,6 +439,8 @@ Example:
    clocks = <&tegra_car TEGRA20_CLK_HOST1X>;
    resets = <&tegra_car 28>;
    reset-names = "host1x";
    + operating-points-v2 = <&dvfs_opp_table>;
    + power-domains = <&domain>;

    #address-cells = <1>;
    #size-cells = <1>;
    @@ -421,6 +454,8 @@ Example:
    clocks = <&tegra_car TEGRA20_CLK_MPE>;
    resets = <&tegra_car 60>;
    reset-names = "mpe";
    + operating-points-v2 = <&dvfs_opp_table>;
    + power-domains = <&domain>;
    };

    vi@54080000 {
    @@ -429,6 +464,7 @@ Example:
    interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
    assigned-clocks = <&tegra_car TEGRA210_CLK_VI>;
    assigned-clock-parents = <&tegra_car TEGRA210_CLK_PLL_C4_OUT0>;
    + operating-points-v2 = <&dvfs_opp_table>;

    clocks = <&tegra_car TEGRA210_CLK_VI>;
    power-domains = <&pd_venc>;
    @@ -510,6 +546,8 @@ Example:
    clocks = <&tegra_car TEGRA20_CLK_EPP>;
    resets = <&tegra_car 19>;
    reset-names = "epp";
    + operating-points-v2 = <&dvfs_opp_table>;
    + power-domains = <&domain>;
    };

    isp {
    @@ -528,6 +566,8 @@ Example:
    clocks = <&tegra_car TEGRA20_CLK_GR2D>;
    resets = <&tegra_car 21>;
    reset-names = "2d";
    + operating-points-v2 = <&dvfs_opp_table>;
    + power-domains = <&domain>;
    };

    gr3d {
    @@ -536,6 +576,8 @@ Example:
    clocks = <&tegra_car TEGRA20_CLK_GR3D>;
    resets = <&tegra_car 24>;
    reset-names = "3d";
    + operating-points-v2 = <&dvfs_opp_table>;
    + power-domains = <&domain>;
    };

    dc@54200000 {
    @@ -547,6 +589,8 @@ Example:
    clock-names = "dc", "parent";
    resets = <&tegra_car 27>;
    reset-names = "dc";
    + operating-points-v2 = <&dvfs_opp_table>;
    + power-domains = <&domain>;

    interconnects = <&mc TEGRA20_MC_DISPLAY0A &emc>,
    <&mc TEGRA20_MC_DISPLAY0B &emc>,
    @@ -571,6 +615,8 @@ Example:
    clock-names = "dc", "parent";
    resets = <&tegra_car 26>;
    reset-names = "dc";
    + operating-points-v2 = <&dvfs_opp_table>;
    + power-domains = <&domain>;

    interconnects = <&mc TEGRA20_MC_DISPLAY0AB &emc>,
    <&mc TEGRA20_MC_DISPLAY0BB &emc>,
    @@ -596,6 +642,7 @@ Example:
    resets = <&tegra_car 51>;
    reset-names = "hdmi";
    status = "disabled";
    + operating-points-v2 = <&dvfs_opp_table>;
    };

    tvo {
    @@ -604,6 +651,7 @@ Example:
    interrupts = <0 76 0x04>;
    clocks = <&tegra_car TEGRA20_CLK_TVO>;
    status = "disabled";
    + operating-points-v2 = <&dvfs_opp_table>;
    };

    dsi {
    @@ -615,6 +663,7 @@ Example:
    resets = <&tegra_car 48>;
    reset-names = "dsi";
    status = "disabled";
    + operating-points-v2 = <&dvfs_opp_table>;
    };
    };

    --
    2.33.1
    \
     
     \ /
      Last update: 2021-12-01 00:25    [W:4.477 / U:0.328 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site