Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: memory: tegra20: emc: Document new LPDDR2 sub-node

Some Tegra20 boards don't have RAM code stored in NVMEM, which is used for
the memory chip identification and the identity information should be read
out from LPDDR2 chip in this case. Document new sub-node containing generic
LPDDR2 properties that will be used for the memory chip identification if
RAM code isn't available. The identification is done by reading out memory
configuration values from generic LPDDR2 mode registers of SDRAM chip and
comparing them with the values of device-tree 'lpddr2' sub-node.

Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20211006224659.21434-8-digetx@gmail.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>

authored by

Dmitry Osipenko and committed by
Krzysztof Kozlowski
ce004ae6 001b8b25

+21 -2
+21 -2
Documentation/devicetree/bindings/memory-controllers/nvidia,tegra20-emc.yaml
··· 164 164 "#size-cells": 165 165 const: 0 166 166 167 + lpddr2: 168 + $ref: "ddr/jedec,lpddr2.yaml#" 169 + type: object 170 + 167 171 patternProperties: 168 172 "^emc-table@[0-9]+$": 169 173 $ref: "#/$defs/emc-table" 170 174 171 - required: 172 - - nvidia,ram-code 175 + oneOf: 176 + - required: 177 + - nvidia,ram-code 178 + 179 + - required: 180 + - lpddr2 173 181 174 182 additionalProperties: false 175 183 ··· 233 225 0x00000000 0x00000000 0x00000083 0xf0440303 234 226 0x007fe010 0x00001414 0x00000000 0x00000000 235 227 0x00000000 0x00000000 0x00000000 0x00000000>; 228 + }; 229 + }; 230 + 231 + emc-tables@1 { 232 + reg = <1>; 233 + 234 + lpddr2 { 235 + compatible = "elpida,B8132B2PB-6D-F", "jedec,lpddr2-s4"; 236 + revision-id1 = <1>; 237 + density = <2048>; 238 + io-width = <16>; 236 239 }; 237 240 }; 238 241 };