Commit f47794f5 authored by Arnd Bergmann's avatar Arnd Bergmann

Merge tag 'memory-controller-drv-mtk-5.16' of...

Merge tag 'memory-controller-drv-mtk-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl into arm/drivers

Memory controller drivers for v5.14 - Mediatek

Add MT8195 support to the Mediatek SMI memory controller driver.  This
brings also several cleanups and minor enhancements before adding actual
new device support.

* tag 'memory-controller-drv-mtk-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl:
  MAINTAINERS: Add entry for MediaTek SMI
  memory: mtk-smi: mt8195: Add initial setting for smi-larb
  memory: mtk-smi: mt8195: Add initial setting for smi-common
  memory: mtk-smi: mt8195: Add smi support
  memory: mtk-smi: Use devm_platform_ioremap_resource
  memory: mtk-smi: Add clocks for smi-sub-common
  memory: mtk-smi: Add device link for smi-sub-common
  memory: mtk-smi: Add error handle for smi_probe
  memory: mtk-smi: Adjust some code position
  memory: mtk-smi: Rename smi_gen to smi_type
  memory: mtk-smi: Use clk_bulk clock ops
  dt-bindings: memory: mediatek: Add mt8195 smi sub common
  dt-bindings: memory: mediatek: Add mt8195 smi binding

Link: https://lore.kernel.org/r/20211010175836.13302-2-krzysztof.kozlowski@canonical.comSigned-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parents 14a7b467 93403ede
...@@ -16,7 +16,7 @@ description: | ...@@ -16,7 +16,7 @@ description: |
MediaTek SMI have two generations of HW architecture, here is the list MediaTek SMI have two generations of HW architecture, here is the list
which generation the SoCs use: which generation the SoCs use:
generation 1: mt2701 and mt7623. generation 1: mt2701 and mt7623.
generation 2: mt2712, mt6779, mt8167, mt8173, mt8183 and mt8192. generation 2: mt2712, mt6779, mt8167, mt8173, mt8183, mt8192 and mt8195.
There's slight differences between the two SMI, for generation 2, the There's slight differences between the two SMI, for generation 2, the
register which control the iommu port is at each larb's register base. But register which control the iommu port is at each larb's register base. But
...@@ -36,6 +36,9 @@ properties: ...@@ -36,6 +36,9 @@ properties:
- mediatek,mt8173-smi-common - mediatek,mt8173-smi-common
- mediatek,mt8183-smi-common - mediatek,mt8183-smi-common
- mediatek,mt8192-smi-common - mediatek,mt8192-smi-common
- mediatek,mt8195-smi-common-vdo
- mediatek,mt8195-smi-common-vpp
- mediatek,mt8195-smi-sub-common
- description: for mt7623 - description: for mt7623
items: items:
...@@ -65,6 +68,10 @@ properties: ...@@ -65,6 +68,10 @@ properties:
minItems: 2 minItems: 2
maxItems: 4 maxItems: 4
mediatek,smi:
$ref: /schemas/types.yaml#/definitions/phandle
description: a phandle to the smi-common node above. Only for sub-common.
required: required:
- compatible - compatible
- reg - reg
...@@ -91,6 +98,29 @@ allOf: ...@@ -91,6 +98,29 @@ allOf:
- const: smi - const: smi
- const: async - const: async
- if: # only for sub common
properties:
compatible:
contains:
enum:
- mediatek,mt8195-smi-sub-common
then:
required:
- mediatek,smi
properties:
clock:
items:
minItems: 3
maxItems: 3
clock-names:
items:
- const: apb
- const: smi
- const: gals0
else:
properties:
mediatek,smi: false
- if: # for gen2 HW that have gals - if: # for gen2 HW that have gals
properties: properties:
compatible: compatible:
...@@ -98,6 +128,8 @@ allOf: ...@@ -98,6 +128,8 @@ allOf:
- mediatek,mt6779-smi-common - mediatek,mt6779-smi-common
- mediatek,mt8183-smi-common - mediatek,mt8183-smi-common
- mediatek,mt8192-smi-common - mediatek,mt8192-smi-common
- mediatek,mt8195-smi-common-vdo
- mediatek,mt8195-smi-common-vpp
then: then:
properties: properties:
......
...@@ -24,6 +24,7 @@ properties: ...@@ -24,6 +24,7 @@ properties:
- mediatek,mt8173-smi-larb - mediatek,mt8173-smi-larb
- mediatek,mt8183-smi-larb - mediatek,mt8183-smi-larb
- mediatek,mt8192-smi-larb - mediatek,mt8192-smi-larb
- mediatek,mt8195-smi-larb
- description: for mt7623 - description: for mt7623
items: items:
...@@ -74,6 +75,7 @@ allOf: ...@@ -74,6 +75,7 @@ allOf:
compatible: compatible:
enum: enum:
- mediatek,mt8183-smi-larb - mediatek,mt8183-smi-larb
- mediatek,mt8195-smi-larb
then: then:
properties: properties:
...@@ -108,6 +110,7 @@ allOf: ...@@ -108,6 +110,7 @@ allOf:
- mediatek,mt6779-smi-larb - mediatek,mt6779-smi-larb
- mediatek,mt8167-smi-larb - mediatek,mt8167-smi-larb
- mediatek,mt8192-smi-larb - mediatek,mt8192-smi-larb
- mediatek,mt8195-smi-larb
then: then:
required: required:
......
...@@ -11864,6 +11864,14 @@ M: Sean Wang <sean.wang@mediatek.com> ...@@ -11864,6 +11864,14 @@ M: Sean Wang <sean.wang@mediatek.com>
S: Maintained S: Maintained
F: drivers/char/hw_random/mtk-rng.c F: drivers/char/hw_random/mtk-rng.c
MEDIATEK SMI DRIVER
M: Yong Wu <yong.wu@mediatek.com>
L: linux-mediatek@lists.infradead.org (moderated for non-subscribers)
S: Supported
F: Documentation/devicetree/bindings/memory-controllers/mediatek,smi*
F: drivers/memory/mtk-smi.c
F: include/soc/mediatek/smi.h
MEDIATEK SWITCH DRIVER MEDIATEK SWITCH DRIVER
M: Sean Wang <sean.wang@mediatek.com> M: Sean Wang <sean.wang@mediatek.com>
M: Landen Chao <Landen.Chao@mediatek.com> M: Landen Chao <Landen.Chao@mediatek.com>
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment