ram: rockchip: add common msch reg definition
authorKever Yang <kever.yang@rock-chips.com>
Fri, 15 Nov 2019 03:04:42 +0000 (11:04 +0800)
committerKever Yang <kever.yang@rock-chips.com>
Sun, 17 Nov 2019 08:23:56 +0000 (16:23 +0800)
The noc register bit definition may be the same for different SoC while
the offset of the register may be different, add the struction
definition as common code.

Signed-off-by: YouMin Chen <cym@rock-chips.com>
Signed-off-by: Kever Yang <kever.yang@rock-chips.com>
arch/arm/include/asm/arch-rockchip/sdram_msch.h [new file with mode: 0644]

diff --git a/arch/arm/include/asm/arch-rockchip/sdram_msch.h b/arch/arm/include/asm/arch-rockchip/sdram_msch.h
new file mode 100644 (file)
index 0000000..cfb3d9c
--- /dev/null
@@ -0,0 +1,85 @@
+/* SPDX-License-Identifier:     GPL-2.0+ */
+/*
+ * Copyright (C) 2019 Rockchip Electronics Co., Ltd
+ */
+
+#ifndef _ASM_ARCH_SDRAM_MSCH_H
+#define _ASM_ARCH_SDRAM_MSCH_H
+
+union noc_ddrtiminga0 {
+       u32 d32;
+       struct {
+               unsigned acttoact : 6;
+               unsigned reserved0 : 2;
+               unsigned rdtomiss : 6;
+               unsigned reserved1 : 2;
+               unsigned wrtomiss : 6;
+               unsigned reserved2 : 2;
+               unsigned readlatency : 8;
+       } b;
+};
+
+union noc_ddrtimingb0 {
+       u32 d32;
+       struct {
+               unsigned rdtowr : 5;
+               unsigned reserved0 : 3;
+               unsigned wrtord : 5;
+               unsigned reserved1 : 3;
+               unsigned rrd : 4;
+               unsigned reserved2 : 4;
+               unsigned faw : 6;
+               unsigned reserved3 : 2;
+       } b;
+};
+
+union noc_ddrtimingc0 {
+       u32 d32;
+       struct {
+               unsigned burstpenalty : 4;
+               unsigned reserved0 : 4;
+               unsigned wrtomwr : 6;
+               unsigned reserved1 : 18;
+       } b;
+};
+
+union noc_devtodev0 {
+       u32 d32;
+       struct {
+               unsigned busrdtord : 3;
+               unsigned reserved0 : 1;
+               unsigned busrdtowr : 3;
+               unsigned reserved1 : 1;
+               unsigned buswrtord : 3;
+               unsigned reserved2 : 1;
+               unsigned buswrtowr : 3;
+               unsigned reserved3 : 17;
+       } b;
+};
+
+union noc_ddrmode {
+       u32 d32;
+       struct {
+               unsigned autoprecharge : 1;
+               unsigned bypassfiltering : 1;
+               unsigned fawbank : 1;
+               unsigned burstsize : 2;
+               unsigned mwrsize : 2;
+               unsigned reserved2 : 1;
+               unsigned forceorder : 8;
+               unsigned forceorderstate : 8;
+               unsigned reserved3 : 8;
+       } b;
+};
+
+union noc_ddr4timing {
+       u32 d32;
+       struct {
+               unsigned ccdl : 3;
+               unsigned wrtordl : 5;
+               unsigned rrdl : 4;
+               unsigned reserved1 : 20;
+       } b;
+};
+
+#endif