mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-09-02 08:32:55 +00:00

On MT8186 and MT8188 one of the NVMEM cells contains the GPU speed bin
value. In combination with the GPU OPP bindings, on these two platforms
there is an implied scheme of converting the cell value to what the GPU
OPP "opp-supported-hw" property matches. This does not apply to the base
mediatek,efuse hardware, nor does it apply to any of the other platforms
that do not have the GPU speed bin cell. The platform maintainer argues
that this makes the compatibles incompatible with the base
"mediatek,efuse" compatible, as shown in the link given.
Deprecate the MT8186/MT8188 + "mediatek,efuse" combination, and add
new entries with MT8186 being the base model and MT8188 falling back
to MT8186.
Link: https://lore.kernel.org/all/11028242-afe4-474a-9d76-cd1bd9208987@collabora.com/
Fixes: ff1df1886f
("dt-bindings: nvmem: mediatek: efuse: Add support for MT8188")
Cc: Johnson Wang <johnson.wang@mediatek.com>
Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: Srinivas Kandagatla <srini@kernel.org>
Link: https://lore.kernel.org/r/20250712181905.6738-8-srini@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
108 lines
2.7 KiB
YAML
108 lines
2.7 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/nvmem/mediatek,efuse.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: MediaTek efuse
|
|
|
|
description: |
|
|
MediaTek's efuse is used for storing calibration data, it can be accessed
|
|
on ARM devices usiong I/O mapped memory.
|
|
|
|
maintainers:
|
|
- Andrew-CT Chen <andrew-ct.chen@mediatek.com>
|
|
- Lala Lin <lala.lin@mediatek.com>
|
|
|
|
allOf:
|
|
- $ref: nvmem.yaml#
|
|
- $ref: nvmem-deprecated-cells.yaml#
|
|
|
|
properties:
|
|
$nodename:
|
|
pattern: "^efuse@[0-9a-f]+$"
|
|
|
|
compatible:
|
|
oneOf:
|
|
- items:
|
|
- const: mediatek,mt8188-efuse
|
|
- const: mediatek,mt8186-efuse
|
|
- const: mediatek,mt8186-efuse
|
|
|
|
- items:
|
|
- enum:
|
|
- mediatek,mt8186-efuse
|
|
- mediatek,mt8188-efuse
|
|
- const: mediatek,efuse
|
|
deprecated: true
|
|
description: Some compatibles also imply a decoding scheme for the
|
|
"gpu-speedbin" cell, and thus are not backward compatible to the
|
|
generic "mediatek,efuse" compatible.
|
|
|
|
- items:
|
|
- enum:
|
|
- mediatek,mt7622-efuse
|
|
- mediatek,mt7623-efuse
|
|
- mediatek,mt7981-efuse
|
|
- mediatek,mt7986-efuse
|
|
- mediatek,mt7988-efuse
|
|
- mediatek,mt8173-efuse
|
|
- mediatek,mt8183-efuse
|
|
- mediatek,mt8192-efuse
|
|
- mediatek,mt8195-efuse
|
|
- mediatek,mt8516-efuse
|
|
- const: mediatek,efuse
|
|
- const: mediatek,mt8173-efuse
|
|
deprecated: true
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
|
|
unevaluatedProperties: false
|
|
|
|
examples:
|
|
- |
|
|
efuse@11c10000 {
|
|
compatible = "mediatek,mt8195-efuse", "mediatek,efuse";
|
|
reg = <0x11c10000 0x1000>;
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
u3_tx_imp_p0: usb3-tx-imp@184,1 {
|
|
reg = <0x184 0x1>;
|
|
bits = <0 5>;
|
|
};
|
|
u3_rx_imp_p0: usb3-rx-imp@184,2 {
|
|
reg = <0x184 0x2>;
|
|
bits = <5 5>;
|
|
};
|
|
u3_intr_p0: usb3-intr@185 {
|
|
reg = <0x185 0x1>;
|
|
bits = <2 6>;
|
|
};
|
|
comb_tx_imp_p1: usb3-tx-imp@186,1 {
|
|
reg = <0x186 0x1>;
|
|
bits = <0 5>;
|
|
};
|
|
comb_rx_imp_p1: usb3-rx-imp@186,2 {
|
|
reg = <0x186 0x2>;
|
|
bits = <5 5>;
|
|
};
|
|
comb_intr_p1: usb3-intr@187 {
|
|
reg = <0x187 0x1>;
|
|
bits = <2 6>;
|
|
};
|
|
u2_intr_p0: usb2-intr-p0@188,1 {
|
|
reg = <0x188 0x1>;
|
|
bits = <0 5>;
|
|
};
|
|
u2_intr_p1: usb2-intr-p1@188,2 {
|
|
reg = <0x188 0x2>;
|
|
bits = <5 5>;
|
|
};
|
|
};
|