mirror of
https://github.com/torvalds/linux.git
synced 2026-06-05 13:06:59 +02:00
dt-bindings: memory: Add Tegra234 support
This stable tag contains the addition of the EMC clock ID and an initial list of memory client IDs for Tegra234 and will be shared between the memory and ARM SoC trees. -----BEGIN PGP SIGNATURE----- iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmG7X0wTHHRyZWRpbmdA bnZpZGlhLmNvbQAKCRDdI6zXfz6zoYnaEACCu8X8EkUCFJmu3wdy3CZl5qRscxoH rBo99Tg2vwKhjtOa25POQJIZsTaCN4CprgAxP/6ziOPNX+n+BjGnhs0fPoep+4H/ nx6k2l4gDBN3BrrauBHJzoGoOJ/mM0phdJwL3LtPfDMNqjR/SbrTya1zACRSB4iJ 9nDs0Hw98iO4sTtTfQrvS5SEQSim44QjwoQY89St2dMrZGgk5S70A8F9LKbsyI+P KyOjfuUvOyyORHaSE7det0KwwPSApz9khsQ9ikhv2TGoX4hgadEL0O8db7Oha/kH sMVW3vCiFRL8t6KwQSHiX1jso0tEKTEEqloMB5QwnByx49F4OWbwCfp8TvJACmJL Fbfu8VzlExryhUjq4X5zzRWeWJjeInBAqSHk7z20Zl1NNDPYUO/IRvYe3yR0o+s9 OdJ8AP0kIJRRwnubJJ74oam/VzzygRhRJuCoZowoJuECseUHi0T09dNwms92N8xT H9peVdxZiLL5EAT7WBPrlHzM27/YEzBVj8uwgawouZwgYs3tpYrev4qEno4wc/In JPXTY2xIenMphPH4vU0v/ZW1G2TDtgWQpY+U2beXmquHvgBvkrQphvaaDfOSDohV EnO+F1ISQ7kIFGlX1eH59GnkUiMw10T4JpQ5nc70sVME/Kp4/aAiDEu5CB0lGEaP 2JOkCHpzCa1sOQ== =bl4k -----END PGP SIGNATURE----- Merge tag 'tegra-for-5.17-dt-bindings-memory' into for-5.17/arm64/dt dt-bindings: memory: Add Tegra234 support This stable tag contains the addition of the EMC clock ID and an initial list of memory client IDs for Tegra234 and will be shared between the memory and ARM SoC trees.
This commit is contained in:
commit
d9652f589e
|
|
@ -31,12 +31,15 @@ properties:
|
|||
- enum:
|
||||
- nvidia,tegra186-mc
|
||||
- nvidia,tegra194-mc
|
||||
- nvidia,tegra234-mc
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
minItems: 1
|
||||
maxItems: 3
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
items:
|
||||
- description: MC general interrupt
|
||||
|
||||
"#address-cells":
|
||||
const: 2
|
||||
|
|
@ -48,6 +51,9 @@ properties:
|
|||
|
||||
dma-ranges: true
|
||||
|
||||
"#interconnect-cells":
|
||||
const: 1
|
||||
|
||||
patternProperties:
|
||||
"^external-memory-controller@[0-9a-f]+$":
|
||||
description:
|
||||
|
|
@ -63,12 +69,15 @@ patternProperties:
|
|||
- enum:
|
||||
- nvidia,tegra186-emc
|
||||
- nvidia,tegra194-emc
|
||||
- nvidia,tegra234-emc
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
minItems: 1
|
||||
maxItems: 2
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
items:
|
||||
- description: EMC general interrupt
|
||||
|
||||
clocks:
|
||||
items:
|
||||
|
|
@ -78,11 +87,83 @@ patternProperties:
|
|||
items:
|
||||
- const: emc
|
||||
|
||||
"#interconnect-cells":
|
||||
const: 0
|
||||
|
||||
nvidia,bpmp:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description:
|
||||
phandle of the node representing the BPMP
|
||||
|
||||
allOf:
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
const: nvidia,tegra186-emc
|
||||
then:
|
||||
properties:
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
const: nvidia,tegra194-emc
|
||||
then:
|
||||
properties:
|
||||
reg:
|
||||
minItems: 2
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
const: nvidia,tegra234-emc
|
||||
then:
|
||||
properties:
|
||||
reg:
|
||||
minItems: 2
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- interrupts
|
||||
- clocks
|
||||
- clock-names
|
||||
- "#interconnect-cells"
|
||||
- nvidia,bpmp
|
||||
|
||||
allOf:
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
const: nvidia,tegra186-mc
|
||||
then:
|
||||
properties:
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
const: nvidia,tegra194-mc
|
||||
then:
|
||||
properties:
|
||||
reg:
|
||||
minItems: 3
|
||||
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
const: nvidia,tegra234-mc
|
||||
then:
|
||||
properties:
|
||||
reg:
|
||||
minItems: 3
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
|
@ -90,8 +171,6 @@ required:
|
|||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/clock/tegra186-clock.h>
|
||||
|
|
@ -124,12 +203,9 @@ examples:
|
|||
clocks = <&bpmp TEGRA186_CLK_EMC>;
|
||||
clock-names = "emc";
|
||||
|
||||
#interconnect-cells = <0>;
|
||||
|
||||
nvidia,bpmp = <&bpmp>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
bpmp: bpmp {
|
||||
compatible = "nvidia,tegra186-bpmp";
|
||||
#clock-cells = <1>;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -4,11 +4,31 @@
|
|||
#ifndef DT_BINDINGS_CLOCK_TEGRA234_CLOCK_H
|
||||
#define DT_BINDINGS_CLOCK_TEGRA234_CLOCK_H
|
||||
|
||||
/**
|
||||
* @file
|
||||
* @defgroup bpmp_clock_ids Clock ID's
|
||||
* @{
|
||||
*/
|
||||
/**
|
||||
* @brief controls the EMC clock frequency.
|
||||
* @details Doing a clk_set_rate on this clock will select the
|
||||
* appropriate clock source, program the source rate and execute a
|
||||
* specific sequence to switch to the new clock source for both memory
|
||||
* controllers. This can be used to control the balance between memory
|
||||
* throughput and memory controller power.
|
||||
*/
|
||||
#define TEGRA234_CLK_EMC 31U
|
||||
/** @brief output of gate CLK_ENB_FUSE */
|
||||
#define TEGRA234_CLK_FUSE 40
|
||||
#define TEGRA234_CLK_FUSE 40U
|
||||
/** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_SDMMC4 */
|
||||
#define TEGRA234_CLK_SDMMC4 123
|
||||
#define TEGRA234_CLK_SDMMC4 123U
|
||||
/** @brief output of mux controlled by CLK_RST_CONTROLLER_CLK_SOURCE_UARTA */
|
||||
#define TEGRA234_CLK_UARTA 155
|
||||
#define TEGRA234_CLK_UARTA 155U
|
||||
/** @brief CLK_RST_CONTROLLER_CLK_SOURCE_SDMMC_LEGACY_TM switch divider output */
|
||||
#define TEGRA234_CLK_SDMMC_LEGACY_TM 219U
|
||||
/** @brief PLL controlled by CLK_RST_CONTROLLER_PLLC4_BASE */
|
||||
#define TEGRA234_CLK_PLLC4 237U
|
||||
/** @brief 32K input clock provided by PMIC */
|
||||
#define TEGRA234_CLK_CLK_32K 289U
|
||||
|
||||
#endif
|
||||
|
|
|
|||
32
include/dt-bindings/memory/tegra234-mc.h
Normal file
32
include/dt-bindings/memory/tegra234-mc.h
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
/* SPDX-License-Identifier: (GPL-2.0 OR MIT) */
|
||||
|
||||
#ifndef DT_BINDINGS_MEMORY_TEGRA234_MC_H
|
||||
#define DT_BINDINGS_MEMORY_TEGRA234_MC_H
|
||||
|
||||
/* special clients */
|
||||
#define TEGRA234_SID_INVALID 0x00
|
||||
#define TEGRA234_SID_PASSTHROUGH 0x7f
|
||||
|
||||
|
||||
/* NISO1 stream IDs */
|
||||
#define TEGRA234_SID_SDMMC4 0x02
|
||||
#define TEGRA234_SID_BPMP 0x10
|
||||
|
||||
/*
|
||||
* memory client IDs
|
||||
*/
|
||||
|
||||
/* sdmmcd memory read client */
|
||||
#define TEGRA234_MEMORY_CLIENT_SDMMCRAB 0x63
|
||||
/* sdmmcd memory write client */
|
||||
#define TEGRA234_MEMORY_CLIENT_SDMMCWAB 0x67
|
||||
/* BPMP read client */
|
||||
#define TEGRA234_MEMORY_CLIENT_BPMPR 0x93
|
||||
/* BPMP write client */
|
||||
#define TEGRA234_MEMORY_CLIENT_BPMPW 0x94
|
||||
/* BPMPDMA read client */
|
||||
#define TEGRA234_MEMORY_CLIENT_BPMPDMAR 0x95
|
||||
/* BPMPDMA write client */
|
||||
#define TEGRA234_MEMORY_CLIENT_BPMPDMAW 0x96
|
||||
|
||||
#endif
|
||||
|
|
@ -4,7 +4,15 @@
|
|||
#ifndef DT_BINDINGS_RESET_TEGRA234_RESET_H
|
||||
#define DT_BINDINGS_RESET_TEGRA234_RESET_H
|
||||
|
||||
#define TEGRA234_RESET_SDMMC4 85
|
||||
#define TEGRA234_RESET_UARTA 100
|
||||
/**
|
||||
* @file
|
||||
* @defgroup bpmp_reset_ids Reset ID's
|
||||
* @brief Identifiers for Resets controllable by firmware
|
||||
* @{
|
||||
*/
|
||||
#define TEGRA234_RESET_SDMMC4 85U
|
||||
#define TEGRA234_RESET_UARTA 100U
|
||||
|
||||
/** @} */
|
||||
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user