diff mbox series

[v2,7/9] riscv: sifive: fu540: Add U-boot SPL header files

Message ID 20200117124616.24695-8-pragnesh.patel@sifive.com
State New
Headers show
Series RISC-V SiFive FU540 support SPL | expand

Commit Message

Pragnesh Patel Jan. 17, 2020, 12:46 p.m. UTC
Add header files needed for U-boot SPL

Signed-off-by: Pragnesh Patel <pragnesh.patel at sifive.com>
---
 board/sifive/fu540/ccache.h           |   43 +
 board/sifive/fu540/fu540-memory-map.h |   59 ++
 board/sifive/fu540/regconfig-ctl.h    |  274 ++++++
 board/sifive/fu540/regconfig-phy.h    | 1224 +++++++++++++++++++++++++
 board/sifive/fu540/ux00ddr.h          |  276 ++++++
 board/sifive/fu540/ux00prci.h         |   69 ++
 6 files changed, 1945 insertions(+)
 create mode 100644 board/sifive/fu540/ccache.h
 create mode 100644 board/sifive/fu540/fu540-memory-map.h
 create mode 100644 board/sifive/fu540/regconfig-ctl.h
 create mode 100644 board/sifive/fu540/regconfig-phy.h
 create mode 100644 board/sifive/fu540/ux00ddr.h
 create mode 100644 board/sifive/fu540/ux00prci.h

Comments

Anup Patel Jan. 20, 2020, 5:57 a.m. UTC | #1
On Fri, Jan 17, 2020 at 6:18 PM Pragnesh Patel
<pragnesh.patel at sifive.com> wrote:
>
> Add header files needed for U-boot SPL
>
> Signed-off-by: Pragnesh Patel <pragnesh.patel at sifive.com>

First of all, PATCH7 and PATCH8 does not make sense.

Instead of PATCH7 and PATCH8, we should have following
patch breakup:
1. A PATCH for adding ddrregs.c,required headers and required
Makefile/Kconfig changes
2. A PATCH for adding spl.c, required headers and required
Makefile/Kconfig changes
3. A PATCH for SPL defconfig

By "required headers", I mean the headers by this patch only.

> ---
>  board/sifive/fu540/ccache.h           |   43 +
>  board/sifive/fu540/fu540-memory-map.h |   59 ++
>  board/sifive/fu540/regconfig-ctl.h    |  274 ++++++
>  board/sifive/fu540/regconfig-phy.h    | 1224 +++++++++++++++++++++++++
>  board/sifive/fu540/ux00ddr.h          |  276 ++++++
>  board/sifive/fu540/ux00prci.h         |   69 ++
>  6 files changed, 1945 insertions(+)
>  create mode 100644 board/sifive/fu540/ccache.h
>  create mode 100644 board/sifive/fu540/fu540-memory-map.h
>  create mode 100644 board/sifive/fu540/regconfig-ctl.h
>  create mode 100644 board/sifive/fu540/regconfig-phy.h
>  create mode 100644 board/sifive/fu540/ux00ddr.h
>  create mode 100644 board/sifive/fu540/ux00prci.h
>
> diff --git a/board/sifive/fu540/ccache.h b/board/sifive/fu540/ccache.h
> new file mode 100644
> index 0000000000..0e5e40a1ef
> --- /dev/null
> +++ b/board/sifive/fu540/ccache.h
> @@ -0,0 +1,43 @@
> +/* SPDX-License-Identifier: GPL-2.0+ */
> +/*
> + * Copyright (c) 2019 SiFive, Inc
> + *
> + * Authors:
> + *   Pragnesh Patel <pragnesh.patel at sifive.com>
> + *   Troy Benjegerdes <troy.benjegerdes at sifive.com>
> + */
> +
> +#ifndef FU540_CCACHE_H
> +#define FU540_CCACHE_H
> +
> +#include <asm/arch/cache.h>
> +
> +#ifndef __ASSEMBLER__
> +
> +#include <stdint.h>
> +#include <linux/types.h>
> +
> +/* Block memory access until operation completed */
> +static inline void ccache_barrier_0(void)
> +{
> +       asm volatile("fence rw, io" : : : "memory");
> +}
> +
> +static inline void ccache_barrier_1(void)
> +{
> +       asm volatile("fence io, rw" : : : "memory");
> +}
> +
> +/* Enable ways; allow cache to use these ways */
> +static inline void ccache_enable_ways(u64 base_addr, u8 value)
> +{
> +       volatile u32 *enable = (volatile u32 *)(base_addr +
> +                                         CCACHE_ENABLE);
> +       ccache_barrier_0();
> +       (*enable) = value;
> +       ccache_barrier_1();
> +}
> +
> +#endif
> +
> +#endif /* FU540_CCACHE_H */
> diff --git a/board/sifive/fu540/fu540-memory-map.h b/board/sifive/fu540/fu540-memory-map.h
> new file mode 100644
> index 0000000000..c0df07d6fd
> --- /dev/null
> +++ b/board/sifive/fu540/fu540-memory-map.h
> @@ -0,0 +1,59 @@
> +/* SPDX-License-Identifier: GPL-2.0+ */
> +/*
> + * Copyright (c) 2019 SiFive, Inc
> + *
> + * Authors:
> + *   Pragnesh Patel <pragnesh.patel at sifive.com>
> + *   Troy Benjegerdes <troy.benjegerdes at sifive.com>
> + */
> +
> +#ifndef FU540_MEMORY_MAP
> +#define FU540_MEMORY_MAP
> +
> +#include <linux/const.h>
> +#include <asm/arch/gpio.h>
> +#include <asm/arch/uart.h>
> +#include "ccache.h"
> +#include "i2c.h"
> +#include "spi.h"
> +#include "ux00prci.h"

Remove unused includes

> +
> +/****************************************************************************
> + * Platform definitions
> + *****************************************************************************/
> +
> +/* Memory map */
> +#define CCACHE_CTRL_ADDR               _AC(0x2010000, UL)
> +#define CCACHE_CTRL_SIZE               _AC(0x1000, UL)
> +
> +#define GPIO_CTRL_ADDR                 _AC(0x10060000, UL)
> +#define GPIO_CTRL_SIZE                 _AC(0x1000, UL)

GPIO_xyz defines are not used anywhere remove it.

> +
> +#define PHYSICAL_FILTER_CTRL_ADDR      _AC(0x100b8000, UL)
> +#define PHYSICAL_FILTER_CTRL_SIZE      _AC(0x1000, UL)
> +
> +#define UART0_CTRL_ADDR                _AC(0x10010000, UL)
> +#define UART0_CTRL_SIZE                _AC(0x1000, UL)
> +#define UART1_CTRL_ADDR                _AC(0x10011000, UL)
> +#define UART1_CTRL_SIZE                _AC(0x1000, UL)
> +#ifndef UART_CTRL_ADDR
> +#define UART_CTRL_ADDR                 UART0_CTRL_ADDR
> +#endif
> +#ifndef UART_CTRL_SIZE
> +#define UART_CTRL_SIZE                 UART0_CTRL_SIZE
> +#endif

These UARTx_<xyz> defines can be removed if we can get rid of
UART clock scaling from init_clk_and_ddr(). The rationale is that
UART driver of U-Boot is supposed to set correct divider values
based on current clk setting so we don't need to do UART clock
scaling in init_clk_and_ddr()

> +#define UX00DDR_CTRL_ADDR              _AC(0x100b0000, UL)
> +#define UX00DDR_CTRL_SIZE              _AC(0x4000, UL)
> +#define UX00PRCI_CTRL_ADDR             _AC(0x10000000, UL)
> +#define UX00PRCI_CTRL_SIZE             _AC(0x1000, UL)
> +
> +/* Helper functions */
> +#define _REG32(p, i)    (*(volatile uint32_t *)((p) + (i)))
> +
> +#define UX00PRCI_REG(offset)  \
> +       _REG32(UX00PRCI_CTRL_ADDR, \
> +                       offset)
> +#define GPIO_REG(offset)      _REG32(GPIO_CTRL_ADDR, offset)
> +#define UART0_REG(offset)    _REG32(UART0_CTRL_ADDR, offset)

Remove GPIO_REG() and UART0_REG() as well.

> +
> +#endif /* FU540_MEMORY_MAP */
> diff --git a/board/sifive/fu540/regconfig-ctl.h b/board/sifive/fu540/regconfig-ctl.h
> new file mode 100644
> index 0000000000..19a52e7996
> --- /dev/null
> +++ b/board/sifive/fu540/regconfig-ctl.h
> @@ -0,0 +1,274 @@
> +/* SPDX-License-Identifier: GPL-2.0+ */
> +/*
> + * Copyright (c) 2019 SiFive, Inc
> + *
> + * Authors:
> + *   Pragnesh Patel <pragnesh.patel at sifive.com>
> + *   Troy Benjegerdes <troy.benjegerdes at sifive.com>
> + */
> +
> +#define               DENALI_CTL_00_DATA 0x00000a00
> +#define               DENALI_CTL_01_DATA 0x00000000
> +#define               DENALI_CTL_02_DATA 0x00000000
> +#define               DENALI_CTL_03_DATA 0x00000000
> +#define               DENALI_CTL_04_DATA 0x00000000
> +#define               DENALI_CTL_05_DATA 0x00000000
> +#define               DENALI_CTL_06_DATA 0x0000000a
> +#define               DENALI_CTL_07_DATA 0x0002d362
> +#define               DENALI_CTL_08_DATA 0x00071073
> +#define               DENALI_CTL_09_DATA 0x0a1c0255
> +#define               DENALI_CTL_10_DATA 0x1c1c0400
> +#define               DENALI_CTL_11_DATA 0x0404990b
> +#define               DENALI_CTL_12_DATA 0x2b050405
> +#define               DENALI_CTL_13_DATA 0x0e0c081e
> +#define               DENALI_CTL_14_DATA 0x08090914
> +#define               DENALI_CTL_15_DATA 0x00fde718
> +#define               DENALI_CTL_16_DATA 0x00180a05
> +#define               DENALI_CTL_17_DATA 0x008b130e
> +#define               DENALI_CTL_18_DATA 0x01000118
> +#define               DENALI_CTL_19_DATA 0x0e032101
> +#define               DENALI_CTL_20_DATA 0x00000000
> +#define               DENALI_CTL_21_DATA 0x00000101
> +#define               DENALI_CTL_22_DATA 0x00000000
> +#define               DENALI_CTL_23_DATA 0x0a000000
> +#define               DENALI_CTL_24_DATA 0x00000000
> +#define               DENALI_CTL_25_DATA 0x01450100
> +#define               DENALI_CTL_26_DATA 0x00001c36
> +#define               DENALI_CTL_27_DATA 0x00000005
> +#define               DENALI_CTL_28_DATA 0x00170006
> +#define               DENALI_CTL_29_DATA 0x014e0300
> +#define               DENALI_CTL_30_DATA 0x03010000
> +#define               DENALI_CTL_31_DATA 0x000a0e00
> +#define               DENALI_CTL_32_DATA 0x04030200
> +#define               DENALI_CTL_33_DATA 0x0000031f
> +#define               DENALI_CTL_34_DATA 0x00070004
> +#define               DENALI_CTL_35_DATA 0x00000000
> +#define               DENALI_CTL_36_DATA 0x00000000
> +#define               DENALI_CTL_37_DATA 0x00000000
> +#define               DENALI_CTL_38_DATA 0x00000000
> +#define               DENALI_CTL_39_DATA 0x00000000
> +#define               DENALI_CTL_40_DATA 0x00000000
> +#define               DENALI_CTL_41_DATA 0x00000000
> +#define               DENALI_CTL_42_DATA 0x00000000
> +#define               DENALI_CTL_43_DATA 0x00000000
> +#define               DENALI_CTL_44_DATA 0x00000000
> +#define               DENALI_CTL_45_DATA 0x00000000
> +#define               DENALI_CTL_46_DATA 0x00000000
> +#define               DENALI_CTL_47_DATA 0x00000000
> +#define               DENALI_CTL_48_DATA 0x00000000
> +#define               DENALI_CTL_49_DATA 0x00000000
> +#define               DENALI_CTL_50_DATA 0x00000000
> +#define               DENALI_CTL_51_DATA 0x00000000
> +#define               DENALI_CTL_52_DATA 0x00000000
> +#define               DENALI_CTL_53_DATA 0x00000000
> +#define               DENALI_CTL_54_DATA 0x00000000
> +#define               DENALI_CTL_55_DATA 0x00000000
> +#define               DENALI_CTL_56_DATA 0x00000000
> +#define               DENALI_CTL_57_DATA 0x00000000
> +#define               DENALI_CTL_58_DATA 0x00000000
> +#define               DENALI_CTL_59_DATA 0x00000000
> +#define               DENALI_CTL_60_DATA 0x00000424
> +#define               DENALI_CTL_61_DATA 0x00000201
> +#define               DENALI_CTL_62_DATA 0x00001008
> +#define               DENALI_CTL_63_DATA 0x00000000
> +#define               DENALI_CTL_64_DATA 0x00000200
> +#define               DENALI_CTL_65_DATA 0x00000000
> +#define               DENALI_CTL_66_DATA 0x00000481
> +#define               DENALI_CTL_67_DATA 0x00000400
> +#define               DENALI_CTL_68_DATA 0x00000424
> +#define               DENALI_CTL_69_DATA 0x00000201
> +#define               DENALI_CTL_70_DATA 0x00001008
> +#define               DENALI_CTL_71_DATA 0x00000000
> +#define               DENALI_CTL_72_DATA 0x00000200
> +#define               DENALI_CTL_73_DATA 0x00000000
> +#define               DENALI_CTL_74_DATA 0x00000481
> +#define               DENALI_CTL_75_DATA 0x00000400
> +#define               DENALI_CTL_76_DATA 0x01010000
> +#define               DENALI_CTL_77_DATA 0x00000000
> +#define               DENALI_CTL_78_DATA 0x00000000
> +#define               DENALI_CTL_79_DATA 0x00000000
> +#define               DENALI_CTL_80_DATA 0x00000000
> +#define               DENALI_CTL_81_DATA 0x00000000
> +#define               DENALI_CTL_82_DATA 0x00000000
> +#define               DENALI_CTL_83_DATA 0x00000000
> +#define               DENALI_CTL_84_DATA 0x00000000
> +#define               DENALI_CTL_85_DATA 0x00000000
> +#define               DENALI_CTL_86_DATA 0x00000000
> +#define               DENALI_CTL_87_DATA 0x00000000
> +#define               DENALI_CTL_88_DATA 0x00000000
> +#define               DENALI_CTL_89_DATA 0x00000000
> +#define               DENALI_CTL_90_DATA 0x00000000
> +#define               DENALI_CTL_91_DATA 0x00000000
> +#define               DENALI_CTL_92_DATA 0x00000000
> +#define               DENALI_CTL_93_DATA 0x00000000
> +#define               DENALI_CTL_94_DATA 0x00000000
> +#define               DENALI_CTL_95_DATA 0x00000000
> +#define               DENALI_CTL_96_DATA 0x00000000
> +#define               DENALI_CTL_97_DATA 0x00000000
> +#define               DENALI_CTL_98_DATA 0x00000000
> +#define               DENALI_CTL_99_DATA 0x00000000
> +#define              DENALI_CTL_100_DATA 0x00000000
> +#define              DENALI_CTL_101_DATA 0x00000000
> +#define              DENALI_CTL_102_DATA 0x00000000
> +#define              DENALI_CTL_103_DATA 0x00000000
> +#define              DENALI_CTL_104_DATA 0x00000000
> +#define              DENALI_CTL_105_DATA 0x00000003
> +#define              DENALI_CTL_106_DATA 0x00000000
> +#define              DENALI_CTL_107_DATA 0x00000000
> +#define              DENALI_CTL_108_DATA 0x00000000
> +#define              DENALI_CTL_109_DATA 0x00000000
> +#define              DENALI_CTL_110_DATA 0x01000000
> +#define              DENALI_CTL_111_DATA 0x00040000
> +#define              DENALI_CTL_112_DATA 0x00800200
> +#define              DENALI_CTL_113_DATA 0x00000200
> +#define              DENALI_CTL_114_DATA 0x00000040
> +#define              DENALI_CTL_115_DATA 0x01000100
> +#define              DENALI_CTL_116_DATA 0x0a000002
> +#define              DENALI_CTL_117_DATA 0x0101ffff
> +#define              DENALI_CTL_118_DATA 0x01010101
> +#define              DENALI_CTL_119_DATA 0x01010101
> +#define              DENALI_CTL_120_DATA 0x0000010b
> +#define              DENALI_CTL_121_DATA 0x00000c01
> +#define              DENALI_CTL_122_DATA 0x00000000
> +#define              DENALI_CTL_123_DATA 0x00000000
> +#define              DENALI_CTL_124_DATA 0x00000000
> +#define              DENALI_CTL_125_DATA 0x00000000
> +#define              DENALI_CTL_126_DATA 0x00030300
> +#define              DENALI_CTL_127_DATA 0x00000000
> +#define              DENALI_CTL_128_DATA 0x00010001
> +#define              DENALI_CTL_129_DATA 0x00000000
> +#define              DENALI_CTL_130_DATA 0x00000000
> +#define              DENALI_CTL_131_DATA 0x00000000
> +#define              DENALI_CTL_132_DATA 0x00000000
> +#define              DENALI_CTL_133_DATA 0x00000000
> +#define              DENALI_CTL_134_DATA 0x00000000
> +#define              DENALI_CTL_135_DATA 0x00000000
> +#define              DENALI_CTL_136_DATA 0x00000000
> +#define              DENALI_CTL_137_DATA 0x00000000
> +#define              DENALI_CTL_138_DATA 0x00000000
> +#define              DENALI_CTL_139_DATA 0x00000000
> +#define              DENALI_CTL_140_DATA 0x00000000
> +#define              DENALI_CTL_141_DATA 0x00000000
> +#define              DENALI_CTL_142_DATA 0x00000000
> +#define              DENALI_CTL_143_DATA 0x00000000
> +#define              DENALI_CTL_144_DATA 0x00000000
> +#define              DENALI_CTL_145_DATA 0x00000000
> +#define              DENALI_CTL_146_DATA 0x00000000
> +#define              DENALI_CTL_147_DATA 0x00000000
> +#define              DENALI_CTL_148_DATA 0x00000000
> +#define              DENALI_CTL_149_DATA 0x00000000
> +#define              DENALI_CTL_150_DATA 0x00000000
> +#define              DENALI_CTL_151_DATA 0x00000000
> +#define              DENALI_CTL_152_DATA 0x00000000
> +#define              DENALI_CTL_153_DATA 0x00000000
> +#define              DENALI_CTL_154_DATA 0x00000000
> +#define              DENALI_CTL_155_DATA 0x00000000
> +#define              DENALI_CTL_156_DATA 0x00000000
> +#define              DENALI_CTL_157_DATA 0x00000000
> +#define              DENALI_CTL_158_DATA 0x00000000
> +#define              DENALI_CTL_159_DATA 0x00000000
> +#define              DENALI_CTL_160_DATA 0x00000000
> +#define              DENALI_CTL_161_DATA 0x02010102
> +#define              DENALI_CTL_162_DATA 0x0107070d
> +#define              DENALI_CTL_163_DATA 0x04040400
> +#define              DENALI_CTL_164_DATA 0x03000503
> +#define              DENALI_CTL_165_DATA 0x00000000
> +#define              DENALI_CTL_166_DATA 0x00000000
> +#define              DENALI_CTL_167_DATA 0x00000000
> +#define              DENALI_CTL_168_DATA 0x00000000
> +#define              DENALI_CTL_169_DATA 0x280d0000
> +#define              DENALI_CTL_170_DATA 0x01000000
> +#define              DENALI_CTL_171_DATA 0x00000000
> +#define              DENALI_CTL_172_DATA 0x00010001
> +#define              DENALI_CTL_173_DATA 0x00000000
> +#define              DENALI_CTL_174_DATA 0x00000000
> +#define              DENALI_CTL_175_DATA 0x00000000
> +#define              DENALI_CTL_176_DATA 0x00000000
> +#define              DENALI_CTL_177_DATA 0x00000000
> +#define              DENALI_CTL_178_DATA 0x00000000
> +#define              DENALI_CTL_179_DATA 0x00000000
> +#define              DENALI_CTL_180_DATA 0x00000000
> +#define              DENALI_CTL_181_DATA 0x01000000
> +#define              DENALI_CTL_182_DATA 0x00000001
> +#define              DENALI_CTL_183_DATA 0x00000100
> +#define              DENALI_CTL_184_DATA 0x00000101
> +#define              DENALI_CTL_185_DATA 0x67676701
> +#define              DENALI_CTL_186_DATA 0x67676767
> +#define              DENALI_CTL_187_DATA 0x67676767
> +#define              DENALI_CTL_188_DATA 0x67676767
> +#define              DENALI_CTL_189_DATA 0x67676767
> +#define              DENALI_CTL_190_DATA 0x67676767
> +#define              DENALI_CTL_191_DATA 0x67676767
> +#define              DENALI_CTL_192_DATA 0x67676767
> +#define              DENALI_CTL_193_DATA 0x67676767
> +#define              DENALI_CTL_194_DATA 0x01000067
> +#define              DENALI_CTL_195_DATA 0x00000001
> +#define              DENALI_CTL_196_DATA 0x00000101
> +#define              DENALI_CTL_197_DATA 0x00000000
> +#define              DENALI_CTL_198_DATA 0x00000000
> +#define              DENALI_CTL_199_DATA 0x00000000
> +#define              DENALI_CTL_200_DATA 0x00000000
> +#define              DENALI_CTL_201_DATA 0x00000000
> +#define              DENALI_CTL_202_DATA 0x00000000
> +#define              DENALI_CTL_203_DATA 0x00000000
> +#define              DENALI_CTL_204_DATA 0x00000000
> +#define              DENALI_CTL_205_DATA 0x00000000
> +#define              DENALI_CTL_206_DATA 0x00000000
> +#define              DENALI_CTL_207_DATA 0x00000000
> +#define              DENALI_CTL_208_DATA 0x00000001
> +#define              DENALI_CTL_209_DATA 0x00000000
> +#define              DENALI_CTL_210_DATA 0x007fffff
> +#define              DENALI_CTL_211_DATA 0x00000000
> +#define              DENALI_CTL_212_DATA 0x007fffff
> +#define              DENALI_CTL_213_DATA 0x00000000
> +#define              DENALI_CTL_214_DATA 0x007fffff
> +#define              DENALI_CTL_215_DATA 0x00000000
> +#define              DENALI_CTL_216_DATA 0x007fffff
> +#define              DENALI_CTL_217_DATA 0x00000000
> +#define              DENALI_CTL_218_DATA 0x007fffff
> +#define              DENALI_CTL_219_DATA 0x00000000
> +#define              DENALI_CTL_220_DATA 0x007fffff
> +#define              DENALI_CTL_221_DATA 0x00000000
> +#define              DENALI_CTL_222_DATA 0x007fffff
> +#define              DENALI_CTL_223_DATA 0x00000000
> +#define              DENALI_CTL_224_DATA 0x037fffff
> +#define              DENALI_CTL_225_DATA 0xffffffff
> +#define              DENALI_CTL_226_DATA 0x000f000f
> +#define              DENALI_CTL_227_DATA 0x00ffff03
> +#define              DENALI_CTL_228_DATA 0x000fffff
> +#define              DENALI_CTL_229_DATA 0x0003000f
> +#define              DENALI_CTL_230_DATA 0xffffffff
> +#define              DENALI_CTL_231_DATA 0x000f000f
> +#define              DENALI_CTL_232_DATA 0x00ffff03
> +#define              DENALI_CTL_233_DATA 0x000fffff
> +#define              DENALI_CTL_234_DATA 0x0003000f
> +#define              DENALI_CTL_235_DATA 0xffffffff
> +#define              DENALI_CTL_236_DATA 0x000f000f
> +#define              DENALI_CTL_237_DATA 0x00ffff03
> +#define              DENALI_CTL_238_DATA 0x000fffff
> +#define              DENALI_CTL_239_DATA 0x0003000f
> +#define              DENALI_CTL_240_DATA 0xffffffff
> +#define              DENALI_CTL_241_DATA 0x000f000f
> +#define              DENALI_CTL_242_DATA 0x00ffff03
> +#define              DENALI_CTL_243_DATA 0x000fffff
> +#define              DENALI_CTL_244_DATA 0x6407000f
> +#define              DENALI_CTL_245_DATA 0x01640001
> +#define              DENALI_CTL_246_DATA 0x00000000
> +#define              DENALI_CTL_247_DATA 0x00000000
> +#define              DENALI_CTL_248_DATA 0x00001700
> +#define              DENALI_CTL_249_DATA 0x00386c05
> +#define              DENALI_CTL_250_DATA 0x02000200
> +#define              DENALI_CTL_251_DATA 0x02000200
> +#define              DENALI_CTL_252_DATA 0x0000386c
> +#define              DENALI_CTL_253_DATA 0x00023438
> +#define              DENALI_CTL_254_DATA 0x02020d10
> +#define              DENALI_CTL_255_DATA 0x00140303
> +#define              DENALI_CTL_256_DATA 0x00000000
> +#define              DENALI_CTL_257_DATA 0x00000000
> +#define              DENALI_CTL_258_DATA 0x00001403
> +#define              DENALI_CTL_259_DATA 0x00000000
> +#define              DENALI_CTL_260_DATA 0x00000000
> +#define              DENALI_CTL_261_DATA 0x00000000
> +#define              DENALI_CTL_262_DATA 0x00000000
> +#define              DENALI_CTL_263_DATA 0x0d010000
> +#define              DENALI_CTL_264_DATA 0x00000008
> diff --git a/board/sifive/fu540/regconfig-phy.h b/board/sifive/fu540/regconfig-phy.h
> new file mode 100644
> index 0000000000..3450aecdf1
> --- /dev/null
> +++ b/board/sifive/fu540/regconfig-phy.h
> @@ -0,0 +1,1224 @@
> +/* SPDX-License-Identifier: GPL-2.0+ */
> +/*
> + * Copyright (c) 2019 SiFive, Inc
> + *
> + * Authors:
> + *   Pragnesh Patel <pragnesh.patel at sifive.com>
> + *   Troy Benjegerdes <troy.benjegerdes at sifive.com>
> + */
> +
> +#define               DENALI_PHY_00_DATA 0x31706542
> +#define               DENALI_PHY_01_DATA 0x0004c008
> +#define               DENALI_PHY_02_DATA 0x000000da
> +#define               DENALI_PHY_03_DATA 0x00000000
> +#define               DENALI_PHY_04_DATA 0x00000000
> +#define               DENALI_PHY_05_DATA 0x00010000
> +#define               DENALI_PHY_06_DATA 0x01DDDD90
> +#define               DENALI_PHY_07_DATA 0x01DDDD90
> +#define               DENALI_PHY_08_DATA 0x01030000
> +#define               DENALI_PHY_09_DATA 0x01000000
> +#define               DENALI_PHY_10_DATA 0x00c00000
> +#define               DENALI_PHY_11_DATA 0x00000007
> +#define               DENALI_PHY_12_DATA 0x00000000
> +#define               DENALI_PHY_13_DATA 0x00000000
> +#define               DENALI_PHY_14_DATA 0x04000408
> +#define               DENALI_PHY_15_DATA 0x00000408
> +#define               DENALI_PHY_16_DATA 0x00e4e400
> +#define               DENALI_PHY_17_DATA 0x00000000
> +#define               DENALI_PHY_18_DATA 0x00000000
> +#define               DENALI_PHY_19_DATA 0x00000000
> +#define               DENALI_PHY_20_DATA 0x00000000
> +#define               DENALI_PHY_21_DATA 0x00000000
> +#define               DENALI_PHY_22_DATA 0x00000000
> +#define               DENALI_PHY_23_DATA 0x00000000
> +#define               DENALI_PHY_24_DATA 0x00000000
> +#define               DENALI_PHY_25_DATA 0x00000000
> +#define               DENALI_PHY_26_DATA 0x00000000
> +#define               DENALI_PHY_27_DATA 0x00000000
> +#define               DENALI_PHY_28_DATA 0x00000000
> +#define               DENALI_PHY_29_DATA 0x00000000
> +#define               DENALI_PHY_30_DATA 0x00000000
> +#define               DENALI_PHY_31_DATA 0x00000000
> +#define               DENALI_PHY_32_DATA 0x00000000
> +#define               DENALI_PHY_33_DATA 0x00200000
> +#define               DENALI_PHY_34_DATA 0x00000000
> +#define               DENALI_PHY_35_DATA 0x00000000
> +#define               DENALI_PHY_36_DATA 0x00000000
> +#define               DENALI_PHY_37_DATA 0x00000000
> +#define               DENALI_PHY_38_DATA 0x00000000
> +#define               DENALI_PHY_39_DATA 0x00000000
> +#define               DENALI_PHY_40_DATA 0x02800280
> +#define               DENALI_PHY_41_DATA 0x02800280
> +#define               DENALI_PHY_42_DATA 0x02800280
> +#define               DENALI_PHY_43_DATA 0x02800280
> +#define               DENALI_PHY_44_DATA 0x00000280
> +#define               DENALI_PHY_45_DATA 0x00000000
> +#define               DENALI_PHY_46_DATA 0x00000000
> +#define               DENALI_PHY_47_DATA 0x00000000
> +#define               DENALI_PHY_48_DATA 0x00000000
> +#define               DENALI_PHY_49_DATA 0x00000000
> +#define               DENALI_PHY_50_DATA 0x00800080
> +#define               DENALI_PHY_51_DATA 0x00800080
> +#define               DENALI_PHY_52_DATA 0x00800080
> +#define               DENALI_PHY_53_DATA 0x00800080
> +#define               DENALI_PHY_54_DATA 0x00800080
> +#define               DENALI_PHY_55_DATA 0x00800080
> +#define               DENALI_PHY_56_DATA 0x00800080
> +#define               DENALI_PHY_57_DATA 0x00800080
> +#define               DENALI_PHY_58_DATA 0x00800080
> +#define               DENALI_PHY_59_DATA 0x000100da
> +#define               DENALI_PHY_60_DATA 0x01000200
> +#define               DENALI_PHY_61_DATA 0x00000000
> +#define               DENALI_PHY_62_DATA 0x00000000
> +#define               DENALI_PHY_63_DATA 0x00000002
> +#define               DENALI_PHY_64_DATA 0x51313152
> +#define               DENALI_PHY_65_DATA 0x80013130
> +#define               DENALI_PHY_66_DATA 0x02000080
> +#define               DENALI_PHY_67_DATA 0x00100001
> +#define               DENALI_PHY_68_DATA 0x0c064208
> +#define               DENALI_PHY_69_DATA 0x000f0c0f
> +#define               DENALI_PHY_70_DATA 0x01000140
> +#define               DENALI_PHY_71_DATA 0x0000000c
> +#define               DENALI_PHY_72_DATA 0x00000000
> +#define               DENALI_PHY_73_DATA 0x00000000
> +#define               DENALI_PHY_74_DATA 0x00000000
> +#define               DENALI_PHY_75_DATA 0x00000000
> +#define               DENALI_PHY_76_DATA 0x00000000
> +#define               DENALI_PHY_77_DATA 0x00000000
> +#define               DENALI_PHY_78_DATA 0x00000000
> +#define               DENALI_PHY_79_DATA 0x00000000
> +#define               DENALI_PHY_80_DATA 0x00000000
> +#define               DENALI_PHY_81_DATA 0x00000000
> +#define               DENALI_PHY_82_DATA 0x00000000
> +#define               DENALI_PHY_83_DATA 0x00000000
> +#define               DENALI_PHY_84_DATA 0x00000000
> +#define               DENALI_PHY_85_DATA 0x00000000
> +#define               DENALI_PHY_86_DATA 0x00000000
> +#define               DENALI_PHY_87_DATA 0x00000000
> +#define               DENALI_PHY_88_DATA 0x00000000
> +#define               DENALI_PHY_89_DATA 0x00000000
> +#define               DENALI_PHY_90_DATA 0x00000000
> +#define               DENALI_PHY_91_DATA 0x00000000
> +#define               DENALI_PHY_92_DATA 0x00000000
> +#define               DENALI_PHY_93_DATA 0x00000000
> +#define               DENALI_PHY_94_DATA 0x00000000
> +#define               DENALI_PHY_95_DATA 0x00000000
> +#define               DENALI_PHY_96_DATA 0x00000000
> +#define               DENALI_PHY_97_DATA 0x00000000
> +#define               DENALI_PHY_98_DATA 0x00000000
> +#define               DENALI_PHY_99_DATA 0x00000000
> +#define              DENALI_PHY_100_DATA 0x00000000
> +#define              DENALI_PHY_101_DATA 0x00000000
> +#define              DENALI_PHY_102_DATA 0x00000000
> +#define              DENALI_PHY_103_DATA 0x00000000
> +#define              DENALI_PHY_104_DATA 0x00000000
> +#define              DENALI_PHY_105_DATA 0x00000000
> +#define              DENALI_PHY_106_DATA 0x00000000
> +#define              DENALI_PHY_107_DATA 0x00000000
> +#define              DENALI_PHY_108_DATA 0x00000000
> +#define              DENALI_PHY_109_DATA 0x00000000
> +#define              DENALI_PHY_110_DATA 0x00000000
> +#define              DENALI_PHY_111_DATA 0x00000000
> +#define              DENALI_PHY_112_DATA 0x00000000
> +#define              DENALI_PHY_113_DATA 0x00000000
> +#define              DENALI_PHY_114_DATA 0x00000000
> +#define              DENALI_PHY_115_DATA 0x00000000
> +#define              DENALI_PHY_116_DATA 0x00000000
> +#define              DENALI_PHY_117_DATA 0x00000000
> +#define              DENALI_PHY_118_DATA 0x00000000
> +#define              DENALI_PHY_119_DATA 0x00000000
> +#define              DENALI_PHY_120_DATA 0x00000000
> +#define              DENALI_PHY_121_DATA 0x00000000
> +#define              DENALI_PHY_122_DATA 0x00000000
> +#define              DENALI_PHY_123_DATA 0x00000000
> +#define              DENALI_PHY_124_DATA 0x00000000
> +#define              DENALI_PHY_125_DATA 0x00000000
> +#define              DENALI_PHY_126_DATA 0x00000000
> +#define              DENALI_PHY_127_DATA 0x00000000
> +#define              DENALI_PHY_128_DATA 0x40263571
> +#define              DENALI_PHY_129_DATA 0x0004c008
> +#define              DENALI_PHY_130_DATA 0x000000da
> +#define              DENALI_PHY_131_DATA 0x00000000
> +#define              DENALI_PHY_132_DATA 0x00000000
> +#define              DENALI_PHY_133_DATA 0x00010000
> +#define              DENALI_PHY_134_DATA 0x01DDDD90
> +#define              DENALI_PHY_135_DATA 0x01DDDD90
> +#define              DENALI_PHY_136_DATA 0x01030000
> +#define              DENALI_PHY_137_DATA 0x01000000
> +#define              DENALI_PHY_138_DATA 0x00c00000
> +#define              DENALI_PHY_139_DATA 0x00000007
> +#define              DENALI_PHY_140_DATA 0x00000000
> +#define              DENALI_PHY_141_DATA 0x00000000
> +#define              DENALI_PHY_142_DATA 0x04000408
> +#define              DENALI_PHY_143_DATA 0x00000408
> +#define              DENALI_PHY_144_DATA 0x00e4e400
> +#define              DENALI_PHY_145_DATA 0x00000000
> +#define              DENALI_PHY_146_DATA 0x00000000
> +#define              DENALI_PHY_147_DATA 0x00000000
> +#define              DENALI_PHY_148_DATA 0x00000000
> +#define              DENALI_PHY_149_DATA 0x00000000
> +#define              DENALI_PHY_150_DATA 0x00000000
> +#define              DENALI_PHY_151_DATA 0x00000000
> +#define              DENALI_PHY_152_DATA 0x00000000
> +#define              DENALI_PHY_153_DATA 0x00000000
> +#define              DENALI_PHY_154_DATA 0x00000000
> +#define              DENALI_PHY_155_DATA 0x00000000
> +#define              DENALI_PHY_156_DATA 0x00000000
> +#define              DENALI_PHY_157_DATA 0x00000000
> +#define              DENALI_PHY_158_DATA 0x00000000
> +#define              DENALI_PHY_159_DATA 0x00000000
> +#define              DENALI_PHY_160_DATA 0x00000000
> +#define              DENALI_PHY_161_DATA 0x00200000
> +#define              DENALI_PHY_162_DATA 0x00000000
> +#define              DENALI_PHY_163_DATA 0x00000000
> +#define              DENALI_PHY_164_DATA 0x00000000
> +#define              DENALI_PHY_165_DATA 0x00000000
> +#define              DENALI_PHY_166_DATA 0x00000000
> +#define              DENALI_PHY_167_DATA 0x00000000
> +#define              DENALI_PHY_168_DATA 0x02800280
> +#define              DENALI_PHY_169_DATA 0x02800280
> +#define              DENALI_PHY_170_DATA 0x02800280
> +#define              DENALI_PHY_171_DATA 0x02800280
> +#define              DENALI_PHY_172_DATA 0x00000280
> +#define              DENALI_PHY_173_DATA 0x00000000
> +#define              DENALI_PHY_174_DATA 0x00000000
> +#define              DENALI_PHY_175_DATA 0x00000000
> +#define              DENALI_PHY_176_DATA 0x00000000
> +#define              DENALI_PHY_177_DATA 0x00000000
> +#define              DENALI_PHY_178_DATA 0x00800080
> +#define              DENALI_PHY_179_DATA 0x00800080
> +#define              DENALI_PHY_180_DATA 0x00800080
> +#define              DENALI_PHY_181_DATA 0x00800080
> +#define              DENALI_PHY_182_DATA 0x00800080
> +#define              DENALI_PHY_183_DATA 0x00800080
> +#define              DENALI_PHY_184_DATA 0x00800080
> +#define              DENALI_PHY_185_DATA 0x00800080
> +#define              DENALI_PHY_186_DATA 0x00800080
> +#define              DENALI_PHY_187_DATA 0x000100da
> +#define              DENALI_PHY_188_DATA 0x01000200
> +#define              DENALI_PHY_189_DATA 0x00000000
> +#define              DENALI_PHY_190_DATA 0x00000000
> +#define              DENALI_PHY_191_DATA 0x00000002
> +#define              DENALI_PHY_192_DATA 0x51313152
> +#define              DENALI_PHY_193_DATA 0x80013130
> +#define              DENALI_PHY_194_DATA 0x02000080
> +#define              DENALI_PHY_195_DATA 0x00100001
> +#define              DENALI_PHY_196_DATA 0x0c064208
> +#define              DENALI_PHY_197_DATA 0x000f0c0f
> +#define              DENALI_PHY_198_DATA 0x01000140
> +#define              DENALI_PHY_199_DATA 0x0000000c
> +#define              DENALI_PHY_200_DATA 0x00000000
> +#define              DENALI_PHY_201_DATA 0x00000000
> +#define              DENALI_PHY_202_DATA 0x00000000
> +#define              DENALI_PHY_203_DATA 0x00000000
> +#define              DENALI_PHY_204_DATA 0x00000000
> +#define              DENALI_PHY_205_DATA 0x00000000
> +#define              DENALI_PHY_206_DATA 0x00000000
> +#define              DENALI_PHY_207_DATA 0x00000000
> +#define              DENALI_PHY_208_DATA 0x00000000
> +#define              DENALI_PHY_209_DATA 0x00000000
> +#define              DENALI_PHY_210_DATA 0x00000000
> +#define              DENALI_PHY_211_DATA 0x00000000
> +#define              DENALI_PHY_212_DATA 0x00000000
> +#define              DENALI_PHY_213_DATA 0x00000000
> +#define              DENALI_PHY_214_DATA 0x00000000
> +#define              DENALI_PHY_215_DATA 0x00000000
> +#define              DENALI_PHY_216_DATA 0x00000000
> +#define              DENALI_PHY_217_DATA 0x00000000
> +#define              DENALI_PHY_218_DATA 0x00000000
> +#define              DENALI_PHY_219_DATA 0x00000000
> +#define              DENALI_PHY_220_DATA 0x00000000
> +#define              DENALI_PHY_221_DATA 0x00000000
> +#define              DENALI_PHY_222_DATA 0x00000000
> +#define              DENALI_PHY_223_DATA 0x00000000
> +#define              DENALI_PHY_224_DATA 0x00000000
> +#define              DENALI_PHY_225_DATA 0x00000000
> +#define              DENALI_PHY_226_DATA 0x00000000
> +#define              DENALI_PHY_227_DATA 0x00000000
> +#define              DENALI_PHY_228_DATA 0x00000000
> +#define              DENALI_PHY_229_DATA 0x00000000
> +#define              DENALI_PHY_230_DATA 0x00000000
> +#define              DENALI_PHY_231_DATA 0x00000000
> +#define              DENALI_PHY_232_DATA 0x00000000
> +#define              DENALI_PHY_233_DATA 0x00000000
> +#define              DENALI_PHY_234_DATA 0x00000000
> +#define              DENALI_PHY_235_DATA 0x00000000
> +#define              DENALI_PHY_236_DATA 0x00000000
> +#define              DENALI_PHY_237_DATA 0x00000000
> +#define              DENALI_PHY_238_DATA 0x00000000
> +#define              DENALI_PHY_239_DATA 0x00000000
> +#define              DENALI_PHY_240_DATA 0x00000000
> +#define              DENALI_PHY_241_DATA 0x00000000
> +#define              DENALI_PHY_242_DATA 0x00000000
> +#define              DENALI_PHY_243_DATA 0x00000000
> +#define              DENALI_PHY_244_DATA 0x00000000
> +#define              DENALI_PHY_245_DATA 0x00000000
> +#define              DENALI_PHY_246_DATA 0x00000000
> +#define              DENALI_PHY_247_DATA 0x00000000
> +#define              DENALI_PHY_248_DATA 0x00000000
> +#define              DENALI_PHY_249_DATA 0x00000000
> +#define              DENALI_PHY_250_DATA 0x00000000
> +#define              DENALI_PHY_251_DATA 0x00000000
> +#define              DENALI_PHY_252_DATA 0x00000000
> +#define              DENALI_PHY_253_DATA 0x00000000
> +#define              DENALI_PHY_254_DATA 0x00000000
> +#define              DENALI_PHY_255_DATA 0x00000000
> +#define              DENALI_PHY_256_DATA 0x46052371
> +#define              DENALI_PHY_257_DATA 0x0004c008
> +#define              DENALI_PHY_258_DATA 0x000000da
> +#define              DENALI_PHY_259_DATA 0x00000000
> +#define              DENALI_PHY_260_DATA 0x00000000
> +#define              DENALI_PHY_261_DATA 0x00010000
> +#define              DENALI_PHY_262_DATA 0x01DDDD90
> +#define              DENALI_PHY_263_DATA 0x01DDDD90
> +#define              DENALI_PHY_264_DATA 0x01030000
> +#define              DENALI_PHY_265_DATA 0x01000000
> +#define              DENALI_PHY_266_DATA 0x00c00000
> +#define              DENALI_PHY_267_DATA 0x00000007
> +#define              DENALI_PHY_268_DATA 0x00000000
> +#define              DENALI_PHY_269_DATA 0x00000000
> +#define              DENALI_PHY_270_DATA 0x04000408
> +#define              DENALI_PHY_271_DATA 0x00000408
> +#define              DENALI_PHY_272_DATA 0x00e4e400
> +#define              DENALI_PHY_273_DATA 0x00000000
> +#define              DENALI_PHY_274_DATA 0x00000000
> +#define              DENALI_PHY_275_DATA 0x00000000
> +#define              DENALI_PHY_276_DATA 0x00000000
> +#define              DENALI_PHY_277_DATA 0x00000000
> +#define              DENALI_PHY_278_DATA 0x00000000
> +#define              DENALI_PHY_279_DATA 0x00000000
> +#define              DENALI_PHY_280_DATA 0x00000000
> +#define              DENALI_PHY_281_DATA 0x00000000
> +#define              DENALI_PHY_282_DATA 0x00000000
> +#define              DENALI_PHY_283_DATA 0x00000000
> +#define              DENALI_PHY_284_DATA 0x00000000
> +#define              DENALI_PHY_285_DATA 0x00000000
> +#define              DENALI_PHY_286_DATA 0x00000000
> +#define              DENALI_PHY_287_DATA 0x00000000
> +#define              DENALI_PHY_288_DATA 0x00000000
> +#define              DENALI_PHY_289_DATA 0x00200000
> +#define              DENALI_PHY_290_DATA 0x00000000
> +#define              DENALI_PHY_291_DATA 0x00000000
> +#define              DENALI_PHY_292_DATA 0x00000000
> +#define              DENALI_PHY_293_DATA 0x00000000
> +#define              DENALI_PHY_294_DATA 0x00000000
> +#define              DENALI_PHY_295_DATA 0x00000000
> +#define              DENALI_PHY_296_DATA 0x02800280
> +#define              DENALI_PHY_297_DATA 0x02800280
> +#define              DENALI_PHY_298_DATA 0x02800280
> +#define              DENALI_PHY_299_DATA 0x02800280
> +#define              DENALI_PHY_300_DATA 0x00000280
> +#define              DENALI_PHY_301_DATA 0x00000000
> +#define              DENALI_PHY_302_DATA 0x00000000
> +#define              DENALI_PHY_303_DATA 0x00000000
> +#define              DENALI_PHY_304_DATA 0x00000000
> +#define              DENALI_PHY_305_DATA 0x00000000
> +#define              DENALI_PHY_306_DATA 0x00800080
> +#define              DENALI_PHY_307_DATA 0x00800080
> +#define              DENALI_PHY_308_DATA 0x00800080
> +#define              DENALI_PHY_309_DATA 0x00800080
> +#define              DENALI_PHY_310_DATA 0x00800080
> +#define              DENALI_PHY_311_DATA 0x00800080
> +#define              DENALI_PHY_312_DATA 0x00800080
> +#define              DENALI_PHY_313_DATA 0x00800080
> +#define              DENALI_PHY_314_DATA 0x00800080
> +#define              DENALI_PHY_315_DATA 0x000100da
> +#define              DENALI_PHY_316_DATA 0x00000200
> +#define              DENALI_PHY_317_DATA 0x00000000
> +#define              DENALI_PHY_318_DATA 0x00000000
> +#define              DENALI_PHY_319_DATA 0x00000002
> +#define              DENALI_PHY_320_DATA 0x51313152
> +#define              DENALI_PHY_321_DATA 0x80013130
> +#define              DENALI_PHY_322_DATA 0x02000080
> +#define              DENALI_PHY_323_DATA 0x00100001
> +#define              DENALI_PHY_324_DATA 0x0c064208
> +#define              DENALI_PHY_325_DATA 0x000f0c0f
> +#define              DENALI_PHY_326_DATA 0x01000140
> +#define              DENALI_PHY_327_DATA 0x0000000c
> +#define              DENALI_PHY_328_DATA 0x00000000
> +#define              DENALI_PHY_329_DATA 0x00000000
> +#define              DENALI_PHY_330_DATA 0x00000000
> +#define              DENALI_PHY_331_DATA 0x00000000
> +#define              DENALI_PHY_332_DATA 0x00000000
> +#define              DENALI_PHY_333_DATA 0x00000000
> +#define              DENALI_PHY_334_DATA 0x00000000
> +#define              DENALI_PHY_335_DATA 0x00000000
> +#define              DENALI_PHY_336_DATA 0x00000000
> +#define              DENALI_PHY_337_DATA 0x00000000
> +#define              DENALI_PHY_338_DATA 0x00000000
> +#define              DENALI_PHY_339_DATA 0x00000000
> +#define              DENALI_PHY_340_DATA 0x00000000
> +#define              DENALI_PHY_341_DATA 0x00000000
> +#define              DENALI_PHY_342_DATA 0x00000000
> +#define              DENALI_PHY_343_DATA 0x00000000
> +#define              DENALI_PHY_344_DATA 0x00000000
> +#define              DENALI_PHY_345_DATA 0x00000000
> +#define              DENALI_PHY_346_DATA 0x00000000
> +#define              DENALI_PHY_347_DATA 0x00000000
> +#define              DENALI_PHY_348_DATA 0x00000000
> +#define              DENALI_PHY_349_DATA 0x00000000
> +#define              DENALI_PHY_350_DATA 0x00000000
> +#define              DENALI_PHY_351_DATA 0x00000000
> +#define              DENALI_PHY_352_DATA 0x00000000
> +#define              DENALI_PHY_353_DATA 0x00000000
> +#define              DENALI_PHY_354_DATA 0x00000000
> +#define              DENALI_PHY_355_DATA 0x00000000
> +#define              DENALI_PHY_356_DATA 0x00000000
> +#define              DENALI_PHY_357_DATA 0x00000000
> +#define              DENALI_PHY_358_DATA 0x00000000
> +#define              DENALI_PHY_359_DATA 0x00000000
> +#define              DENALI_PHY_360_DATA 0x00000000
> +#define              DENALI_PHY_361_DATA 0x00000000
> +#define              DENALI_PHY_362_DATA 0x00000000
> +#define              DENALI_PHY_363_DATA 0x00000000
> +#define              DENALI_PHY_364_DATA 0x00000000
> +#define              DENALI_PHY_365_DATA 0x00000000
> +#define              DENALI_PHY_366_DATA 0x00000000
> +#define              DENALI_PHY_367_DATA 0x00000000
> +#define              DENALI_PHY_368_DATA 0x00000000
> +#define              DENALI_PHY_369_DATA 0x00000000
> +#define              DENALI_PHY_370_DATA 0x00000000
> +#define              DENALI_PHY_371_DATA 0x00000000
> +#define              DENALI_PHY_372_DATA 0x00000000
> +#define              DENALI_PHY_373_DATA 0x00000000
> +#define              DENALI_PHY_374_DATA 0x00000000
> +#define              DENALI_PHY_375_DATA 0x00000000
> +#define              DENALI_PHY_376_DATA 0x00000000
> +#define              DENALI_PHY_377_DATA 0x00000000
> +#define              DENALI_PHY_378_DATA 0x00000000
> +#define              DENALI_PHY_379_DATA 0x00000000
> +#define              DENALI_PHY_380_DATA 0x00000000
> +#define              DENALI_PHY_381_DATA 0x00000000
> +#define              DENALI_PHY_382_DATA 0x00000000
> +#define              DENALI_PHY_383_DATA 0x00000000
> +#define              DENALI_PHY_384_DATA 0x37654120
> +#define              DENALI_PHY_385_DATA 0x0004c008
> +#define              DENALI_PHY_386_DATA 0x000000da
> +#define              DENALI_PHY_387_DATA 0x00000000
> +#define              DENALI_PHY_388_DATA 0x00000000
> +#define              DENALI_PHY_389_DATA 0x00010000
> +#define              DENALI_PHY_390_DATA 0x01DDDD90
> +#define              DENALI_PHY_391_DATA 0x01DDDD90
> +#define              DENALI_PHY_392_DATA 0x01030000
> +#define              DENALI_PHY_393_DATA 0x01000000
> +#define              DENALI_PHY_394_DATA 0x00c00000
> +#define              DENALI_PHY_395_DATA 0x00000007
> +#define              DENALI_PHY_396_DATA 0x00000000
> +#define              DENALI_PHY_397_DATA 0x00000000
> +#define              DENALI_PHY_398_DATA 0x04000408
> +#define              DENALI_PHY_399_DATA 0x00000408
> +#define              DENALI_PHY_400_DATA 0x00e4e400
> +#define              DENALI_PHY_401_DATA 0x00000000
> +#define              DENALI_PHY_402_DATA 0x00000000
> +#define              DENALI_PHY_403_DATA 0x00000000
> +#define              DENALI_PHY_404_DATA 0x00000000
> +#define              DENALI_PHY_405_DATA 0x00000000
> +#define              DENALI_PHY_406_DATA 0x00000000
> +#define              DENALI_PHY_407_DATA 0x00000000
> +#define              DENALI_PHY_408_DATA 0x00000000
> +#define              DENALI_PHY_409_DATA 0x00000000
> +#define              DENALI_PHY_410_DATA 0x00000000
> +#define              DENALI_PHY_411_DATA 0x00000000
> +#define              DENALI_PHY_412_DATA 0x00000000
> +#define              DENALI_PHY_413_DATA 0x00000000
> +#define              DENALI_PHY_414_DATA 0x00000000
> +#define              DENALI_PHY_415_DATA 0x00000000
> +#define              DENALI_PHY_416_DATA 0x00000000
> +#define              DENALI_PHY_417_DATA 0x00200000
> +#define              DENALI_PHY_418_DATA 0x00000000
> +#define              DENALI_PHY_419_DATA 0x00000000
> +#define              DENALI_PHY_420_DATA 0x00000000
> +#define              DENALI_PHY_421_DATA 0x00000000
> +#define              DENALI_PHY_422_DATA 0x00000000
> +#define              DENALI_PHY_423_DATA 0x00000000
> +#define              DENALI_PHY_424_DATA 0x02800280
> +#define              DENALI_PHY_425_DATA 0x02800280
> +#define              DENALI_PHY_426_DATA 0x02800280
> +#define              DENALI_PHY_427_DATA 0x02800280
> +#define              DENALI_PHY_428_DATA 0x00000280
> +#define              DENALI_PHY_429_DATA 0x00000000
> +#define              DENALI_PHY_430_DATA 0x00000000
> +#define              DENALI_PHY_431_DATA 0x00000000
> +#define              DENALI_PHY_432_DATA 0x00000000
> +#define              DENALI_PHY_433_DATA 0x00000000
> +#define              DENALI_PHY_434_DATA 0x00800080
> +#define              DENALI_PHY_435_DATA 0x00800080
> +#define              DENALI_PHY_436_DATA 0x00800080
> +#define              DENALI_PHY_437_DATA 0x00800080
> +#define              DENALI_PHY_438_DATA 0x00800080
> +#define              DENALI_PHY_439_DATA 0x00800080
> +#define              DENALI_PHY_440_DATA 0x00800080
> +#define              DENALI_PHY_441_DATA 0x00800080
> +#define              DENALI_PHY_442_DATA 0x00800080
> +#define              DENALI_PHY_443_DATA 0x000100da
> +#define              DENALI_PHY_444_DATA 0x00000200
> +#define              DENALI_PHY_445_DATA 0x00000000
> +#define              DENALI_PHY_446_DATA 0x00000000
> +#define              DENALI_PHY_447_DATA 0x00000002
> +#define              DENALI_PHY_448_DATA 0x51313152
> +#define              DENALI_PHY_449_DATA 0x80013130
> +#define              DENALI_PHY_450_DATA 0x02000080
> +#define              DENALI_PHY_451_DATA 0x00100001
> +#define              DENALI_PHY_452_DATA 0x0c064208
> +#define              DENALI_PHY_453_DATA 0x000f0c0f
> +#define              DENALI_PHY_454_DATA 0x01000140
> +#define              DENALI_PHY_455_DATA 0x0000000c
> +#define              DENALI_PHY_456_DATA 0x00000000
> +#define              DENALI_PHY_457_DATA 0x00000000
> +#define              DENALI_PHY_458_DATA 0x00000000
> +#define              DENALI_PHY_459_DATA 0x00000000
> +#define              DENALI_PHY_460_DATA 0x00000000
> +#define              DENALI_PHY_461_DATA 0x00000000
> +#define              DENALI_PHY_462_DATA 0x00000000
> +#define              DENALI_PHY_463_DATA 0x00000000
> +#define              DENALI_PHY_464_DATA 0x00000000
> +#define              DENALI_PHY_465_DATA 0x00000000
> +#define              DENALI_PHY_466_DATA 0x00000000
> +#define              DENALI_PHY_467_DATA 0x00000000
> +#define              DENALI_PHY_468_DATA 0x00000000
> +#define              DENALI_PHY_469_DATA 0x00000000
> +#define              DENALI_PHY_470_DATA 0x00000000
> +#define              DENALI_PHY_471_DATA 0x00000000
> +#define              DENALI_PHY_472_DATA 0x00000000
> +#define              DENALI_PHY_473_DATA 0x00000000
> +#define              DENALI_PHY_474_DATA 0x00000000
> +#define              DENALI_PHY_475_DATA 0x00000000
> +#define              DENALI_PHY_476_DATA 0x00000000
> +#define              DENALI_PHY_477_DATA 0x00000000
> +#define              DENALI_PHY_478_DATA 0x00000000
> +#define              DENALI_PHY_479_DATA 0x00000000
> +#define              DENALI_PHY_480_DATA 0x00000000
> +#define              DENALI_PHY_481_DATA 0x00000000
> +#define              DENALI_PHY_482_DATA 0x00000000
> +#define              DENALI_PHY_483_DATA 0x00000000
> +#define              DENALI_PHY_484_DATA 0x00000000
> +#define              DENALI_PHY_485_DATA 0x00000000
> +#define              DENALI_PHY_486_DATA 0x00000000
> +#define              DENALI_PHY_487_DATA 0x00000000
> +#define              DENALI_PHY_488_DATA 0x00000000
> +#define              DENALI_PHY_489_DATA 0x00000000
> +#define              DENALI_PHY_490_DATA 0x00000000
> +#define              DENALI_PHY_491_DATA 0x00000000
> +#define              DENALI_PHY_492_DATA 0x00000000
> +#define              DENALI_PHY_493_DATA 0x00000000
> +#define              DENALI_PHY_494_DATA 0x00000000
> +#define              DENALI_PHY_495_DATA 0x00000000
> +#define              DENALI_PHY_496_DATA 0x00000000
> +#define              DENALI_PHY_497_DATA 0x00000000
> +#define              DENALI_PHY_498_DATA 0x00000000
> +#define              DENALI_PHY_499_DATA 0x00000000
> +#define              DENALI_PHY_500_DATA 0x00000000
> +#define              DENALI_PHY_501_DATA 0x00000000
> +#define              DENALI_PHY_502_DATA 0x00000000
> +#define              DENALI_PHY_503_DATA 0x00000000
> +#define              DENALI_PHY_504_DATA 0x00000000
> +#define              DENALI_PHY_505_DATA 0x00000000
> +#define              DENALI_PHY_506_DATA 0x00000000
> +#define              DENALI_PHY_507_DATA 0x00000000
> +#define              DENALI_PHY_508_DATA 0x00000000
> +#define              DENALI_PHY_509_DATA 0x00000000
> +#define              DENALI_PHY_510_DATA 0x00000000
> +#define              DENALI_PHY_511_DATA 0x00000000
> +#define              DENALI_PHY_512_DATA 0x24316750
> +#define              DENALI_PHY_513_DATA 0x0004c008
> +#define              DENALI_PHY_514_DATA 0x000000da
> +#define              DENALI_PHY_515_DATA 0x00000000
> +#define              DENALI_PHY_516_DATA 0x00000000
> +#define              DENALI_PHY_517_DATA 0x00010000
> +#define              DENALI_PHY_518_DATA 0x01DDDD90
> +#define              DENALI_PHY_519_DATA 0x01DDDD90
> +#define              DENALI_PHY_520_DATA 0x01030000
> +#define              DENALI_PHY_521_DATA 0x01000000
> +#define              DENALI_PHY_522_DATA 0x00c00000
> +#define              DENALI_PHY_523_DATA 0x00000007
> +#define              DENALI_PHY_524_DATA 0x00000000
> +#define              DENALI_PHY_525_DATA 0x00000000
> +#define              DENALI_PHY_526_DATA 0x04000408
> +#define              DENALI_PHY_527_DATA 0x00000408
> +#define              DENALI_PHY_528_DATA 0x00e4e400
> +#define              DENALI_PHY_529_DATA 0x00000000
> +#define              DENALI_PHY_530_DATA 0x00000000
> +#define              DENALI_PHY_531_DATA 0x00000000
> +#define              DENALI_PHY_532_DATA 0x00000000
> +#define              DENALI_PHY_533_DATA 0x00000000
> +#define              DENALI_PHY_534_DATA 0x00000000
> +#define              DENALI_PHY_535_DATA 0x00000000
> +#define              DENALI_PHY_536_DATA 0x00000000
> +#define              DENALI_PHY_537_DATA 0x00000000
> +#define              DENALI_PHY_538_DATA 0x00000000
> +#define              DENALI_PHY_539_DATA 0x00000000
> +#define              DENALI_PHY_540_DATA 0x00000000
> +#define              DENALI_PHY_541_DATA 0x00000000
> +#define              DENALI_PHY_542_DATA 0x00000000
> +#define              DENALI_PHY_543_DATA 0x00000000
> +#define              DENALI_PHY_544_DATA 0x00000000
> +#define              DENALI_PHY_545_DATA 0x00200000
> +#define              DENALI_PHY_546_DATA 0x00000000
> +#define              DENALI_PHY_547_DATA 0x00000000
> +#define              DENALI_PHY_548_DATA 0x00000000
> +#define              DENALI_PHY_549_DATA 0x00000000
> +#define              DENALI_PHY_550_DATA 0x00000000
> +#define              DENALI_PHY_551_DATA 0x00000000
> +#define              DENALI_PHY_552_DATA 0x02800280
> +#define              DENALI_PHY_553_DATA 0x02800280
> +#define              DENALI_PHY_554_DATA 0x02800280
> +#define              DENALI_PHY_555_DATA 0x02800280
> +#define              DENALI_PHY_556_DATA 0x00000280
> +#define              DENALI_PHY_557_DATA 0x00000000
> +#define              DENALI_PHY_558_DATA 0x00000000
> +#define              DENALI_PHY_559_DATA 0x00000000
> +#define              DENALI_PHY_560_DATA 0x00000000
> +#define              DENALI_PHY_561_DATA 0x00000000
> +#define              DENALI_PHY_562_DATA 0x00800080
> +#define              DENALI_PHY_563_DATA 0x00800080
> +#define              DENALI_PHY_564_DATA 0x00800080
> +#define              DENALI_PHY_565_DATA 0x00800080
> +#define              DENALI_PHY_566_DATA 0x00800080
> +#define              DENALI_PHY_567_DATA 0x00800080
> +#define              DENALI_PHY_568_DATA 0x00800080
> +#define              DENALI_PHY_569_DATA 0x00800080
> +#define              DENALI_PHY_570_DATA 0x00800080
> +#define              DENALI_PHY_571_DATA 0x000100da
> +#define              DENALI_PHY_572_DATA 0x00000200
> +#define              DENALI_PHY_573_DATA 0x00000000
> +#define              DENALI_PHY_574_DATA 0x00000000
> +#define              DENALI_PHY_575_DATA 0x00000002
> +#define              DENALI_PHY_576_DATA 0x51313152
> +#define              DENALI_PHY_577_DATA 0x80013130
> +#define              DENALI_PHY_578_DATA 0x02000080
> +#define              DENALI_PHY_579_DATA 0x00100001
> +#define              DENALI_PHY_580_DATA 0x0c064208
> +#define              DENALI_PHY_581_DATA 0x000f0c0f
> +#define              DENALI_PHY_582_DATA 0x01000140
> +#define              DENALI_PHY_583_DATA 0x0000000c
> +#define              DENALI_PHY_584_DATA 0x00000000
> +#define              DENALI_PHY_585_DATA 0x00000000
> +#define              DENALI_PHY_586_DATA 0x00000000
> +#define              DENALI_PHY_587_DATA 0x00000000
> +#define              DENALI_PHY_588_DATA 0x00000000
> +#define              DENALI_PHY_589_DATA 0x00000000
> +#define              DENALI_PHY_590_DATA 0x00000000
> +#define              DENALI_PHY_591_DATA 0x00000000
> +#define              DENALI_PHY_592_DATA 0x00000000
> +#define              DENALI_PHY_593_DATA 0x00000000
> +#define              DENALI_PHY_594_DATA 0x00000000
> +#define              DENALI_PHY_595_DATA 0x00000000
> +#define              DENALI_PHY_596_DATA 0x00000000
> +#define              DENALI_PHY_597_DATA 0x00000000
> +#define              DENALI_PHY_598_DATA 0x00000000
> +#define              DENALI_PHY_599_DATA 0x00000000
> +#define              DENALI_PHY_600_DATA 0x00000000
> +#define              DENALI_PHY_601_DATA 0x00000000
> +#define              DENALI_PHY_602_DATA 0x00000000
> +#define              DENALI_PHY_603_DATA 0x00000000
> +#define              DENALI_PHY_604_DATA 0x00000000
> +#define              DENALI_PHY_605_DATA 0x00000000
> +#define              DENALI_PHY_606_DATA 0x00000000
> +#define              DENALI_PHY_607_DATA 0x00000000
> +#define              DENALI_PHY_608_DATA 0x00000000
> +#define              DENALI_PHY_609_DATA 0x00000000
> +#define              DENALI_PHY_610_DATA 0x00000000
> +#define              DENALI_PHY_611_DATA 0x00000000
> +#define              DENALI_PHY_612_DATA 0x00000000
> +#define              DENALI_PHY_613_DATA 0x00000000
> +#define              DENALI_PHY_614_DATA 0x00000000
> +#define              DENALI_PHY_615_DATA 0x00000000
> +#define              DENALI_PHY_616_DATA 0x00000000
> +#define              DENALI_PHY_617_DATA 0x00000000
> +#define              DENALI_PHY_618_DATA 0x00000000
> +#define              DENALI_PHY_619_DATA 0x00000000
> +#define              DENALI_PHY_620_DATA 0x00000000
> +#define              DENALI_PHY_621_DATA 0x00000000
> +#define              DENALI_PHY_622_DATA 0x00000000
> +#define              DENALI_PHY_623_DATA 0x00000000
> +#define              DENALI_PHY_624_DATA 0x00000000
> +#define              DENALI_PHY_625_DATA 0x00000000
> +#define              DENALI_PHY_626_DATA 0x00000000
> +#define              DENALI_PHY_627_DATA 0x00000000
> +#define              DENALI_PHY_628_DATA 0x00000000
> +#define              DENALI_PHY_629_DATA 0x00000000
> +#define              DENALI_PHY_630_DATA 0x00000000
> +#define              DENALI_PHY_631_DATA 0x00000000
> +#define              DENALI_PHY_632_DATA 0x00000000
> +#define              DENALI_PHY_633_DATA 0x00000000
> +#define              DENALI_PHY_634_DATA 0x00000000
> +#define              DENALI_PHY_635_DATA 0x00000000
> +#define              DENALI_PHY_636_DATA 0x00000000
> +#define              DENALI_PHY_637_DATA 0x00000000
> +#define              DENALI_PHY_638_DATA 0x00000000
> +#define              DENALI_PHY_639_DATA 0x00000000
> +#define              DENALI_PHY_640_DATA 0x35174620
> +#define              DENALI_PHY_641_DATA 0x0004c008
> +#define              DENALI_PHY_642_DATA 0x000000da
> +#define              DENALI_PHY_643_DATA 0x00000000
> +#define              DENALI_PHY_644_DATA 0x00000000
> +#define              DENALI_PHY_645_DATA 0x00010000
> +#define              DENALI_PHY_646_DATA 0x01DDDD90
> +#define              DENALI_PHY_647_DATA 0x01DDDD90
> +#define              DENALI_PHY_648_DATA 0x01030000
> +#define              DENALI_PHY_649_DATA 0x01000000
> +#define              DENALI_PHY_650_DATA 0x00c00000
> +#define              DENALI_PHY_651_DATA 0x00000007
> +#define              DENALI_PHY_652_DATA 0x00000000
> +#define              DENALI_PHY_653_DATA 0x00000000
> +#define              DENALI_PHY_654_DATA 0x04000408
> +#define              DENALI_PHY_655_DATA 0x00000408
> +#define              DENALI_PHY_656_DATA 0x00e4e400
> +#define              DENALI_PHY_657_DATA 0x00000000
> +#define              DENALI_PHY_658_DATA 0x00000000
> +#define              DENALI_PHY_659_DATA 0x00000000
> +#define              DENALI_PHY_660_DATA 0x00000000
> +#define              DENALI_PHY_661_DATA 0x00000000
> +#define              DENALI_PHY_662_DATA 0x00000000
> +#define              DENALI_PHY_663_DATA 0x00000000
> +#define              DENALI_PHY_664_DATA 0x00000000
> +#define              DENALI_PHY_665_DATA 0x00000000
> +#define              DENALI_PHY_666_DATA 0x00000000
> +#define              DENALI_PHY_667_DATA 0x00000000
> +#define              DENALI_PHY_668_DATA 0x00000000
> +#define              DENALI_PHY_669_DATA 0x00000000
> +#define              DENALI_PHY_670_DATA 0x00000000
> +#define              DENALI_PHY_671_DATA 0x00000000
> +#define              DENALI_PHY_672_DATA 0x00000000
> +#define              DENALI_PHY_673_DATA 0x00200000
> +#define              DENALI_PHY_674_DATA 0x00000000
> +#define              DENALI_PHY_675_DATA 0x00000000
> +#define              DENALI_PHY_676_DATA 0x00000000
> +#define              DENALI_PHY_677_DATA 0x00000000
> +#define              DENALI_PHY_678_DATA 0x00000000
> +#define              DENALI_PHY_679_DATA 0x00000000
> +#define              DENALI_PHY_680_DATA 0x02800280
> +#define              DENALI_PHY_681_DATA 0x02800280
> +#define              DENALI_PHY_682_DATA 0x02800280
> +#define              DENALI_PHY_683_DATA 0x02800280
> +#define              DENALI_PHY_684_DATA 0x00000280
> +#define              DENALI_PHY_685_DATA 0x00000000
> +#define              DENALI_PHY_686_DATA 0x00000000
> +#define              DENALI_PHY_687_DATA 0x00000000
> +#define              DENALI_PHY_688_DATA 0x00000000
> +#define              DENALI_PHY_689_DATA 0x00000000
> +#define              DENALI_PHY_690_DATA 0x00800080
> +#define              DENALI_PHY_691_DATA 0x00800080
> +#define              DENALI_PHY_692_DATA 0x00800080
> +#define              DENALI_PHY_693_DATA 0x00800080
> +#define              DENALI_PHY_694_DATA 0x00800080
> +#define              DENALI_PHY_695_DATA 0x00800080
> +#define              DENALI_PHY_696_DATA 0x00800080
> +#define              DENALI_PHY_697_DATA 0x00800080
> +#define              DENALI_PHY_698_DATA 0x00800080
> +#define              DENALI_PHY_699_DATA 0x000100da
> +#define              DENALI_PHY_700_DATA 0x00000200
> +#define              DENALI_PHY_701_DATA 0x00000000
> +#define              DENALI_PHY_702_DATA 0x00000000
> +#define              DENALI_PHY_703_DATA 0x00000002
> +#define              DENALI_PHY_704_DATA 0x51313152
> +#define              DENALI_PHY_705_DATA 0x80013130
> +#define              DENALI_PHY_706_DATA 0x02000080
> +#define              DENALI_PHY_707_DATA 0x00100001
> +#define              DENALI_PHY_708_DATA 0x0c064208
> +#define              DENALI_PHY_709_DATA 0x000f0c0f
> +#define              DENALI_PHY_710_DATA 0x01000140
> +#define              DENALI_PHY_711_DATA 0x0000000c
> +#define              DENALI_PHY_712_DATA 0x00000000
> +#define              DENALI_PHY_713_DATA 0x00000000
> +#define              DENALI_PHY_714_DATA 0x00000000
> +#define              DENALI_PHY_715_DATA 0x00000000
> +#define              DENALI_PHY_716_DATA 0x00000000
> +#define              DENALI_PHY_717_DATA 0x00000000
> +#define              DENALI_PHY_718_DATA 0x00000000
> +#define              DENALI_PHY_719_DATA 0x00000000
> +#define              DENALI_PHY_720_DATA 0x00000000
> +#define              DENALI_PHY_721_DATA 0x00000000
> +#define              DENALI_PHY_722_DATA 0x00000000
> +#define              DENALI_PHY_723_DATA 0x00000000
> +#define              DENALI_PHY_724_DATA 0x00000000
> +#define              DENALI_PHY_725_DATA 0x00000000
> +#define              DENALI_PHY_726_DATA 0x00000000
> +#define              DENALI_PHY_727_DATA 0x00000000
> +#define              DENALI_PHY_728_DATA 0x00000000
> +#define              DENALI_PHY_729_DATA 0x00000000
> +#define              DENALI_PHY_730_DATA 0x00000000
> +#define              DENALI_PHY_731_DATA 0x00000000
> +#define              DENALI_PHY_732_DATA 0x00000000
> +#define              DENALI_PHY_733_DATA 0x00000000
> +#define              DENALI_PHY_734_DATA 0x00000000
> +#define              DENALI_PHY_735_DATA 0x00000000
> +#define              DENALI_PHY_736_DATA 0x00000000
> +#define              DENALI_PHY_737_DATA 0x00000000
> +#define              DENALI_PHY_738_DATA 0x00000000
> +#define              DENALI_PHY_739_DATA 0x00000000
> +#define              DENALI_PHY_740_DATA 0x00000000
> +#define              DENALI_PHY_741_DATA 0x00000000
> +#define              DENALI_PHY_742_DATA 0x00000000
> +#define              DENALI_PHY_743_DATA 0x00000000
> +#define              DENALI_PHY_744_DATA 0x00000000
> +#define              DENALI_PHY_745_DATA 0x00000000
> +#define              DENALI_PHY_746_DATA 0x00000000
> +#define              DENALI_PHY_747_DATA 0x00000000
> +#define              DENALI_PHY_748_DATA 0x00000000
> +#define              DENALI_PHY_749_DATA 0x00000000
> +#define              DENALI_PHY_750_DATA 0x00000000
> +#define              DENALI_PHY_751_DATA 0x00000000
> +#define              DENALI_PHY_752_DATA 0x00000000
> +#define              DENALI_PHY_753_DATA 0x00000000
> +#define              DENALI_PHY_754_DATA 0x00000000
> +#define              DENALI_PHY_755_DATA 0x00000000
> +#define              DENALI_PHY_756_DATA 0x00000000
> +#define              DENALI_PHY_757_DATA 0x00000000
> +#define              DENALI_PHY_758_DATA 0x00000000
> +#define              DENALI_PHY_759_DATA 0x00000000
> +#define              DENALI_PHY_760_DATA 0x00000000
> +#define              DENALI_PHY_761_DATA 0x00000000
> +#define              DENALI_PHY_762_DATA 0x00000000
> +#define              DENALI_PHY_763_DATA 0x00000000
> +#define              DENALI_PHY_764_DATA 0x00000000
> +#define              DENALI_PHY_765_DATA 0x00000000
> +#define              DENALI_PHY_766_DATA 0x00000000
> +#define              DENALI_PHY_767_DATA 0x00000000
> +#define              DENALI_PHY_768_DATA 0x15203476
> +#define              DENALI_PHY_769_DATA 0x0004c008
> +#define              DENALI_PHY_770_DATA 0x000000da
> +#define              DENALI_PHY_771_DATA 0x00000000
> +#define              DENALI_PHY_772_DATA 0x00000000
> +#define              DENALI_PHY_773_DATA 0x00010000
> +#define              DENALI_PHY_774_DATA 0x01DDDD90
> +#define              DENALI_PHY_775_DATA 0x01DDDD90
> +#define              DENALI_PHY_776_DATA 0x01030000
> +#define              DENALI_PHY_777_DATA 0x01000000
> +#define              DENALI_PHY_778_DATA 0x00c00000
> +#define              DENALI_PHY_779_DATA 0x00000007
> +#define              DENALI_PHY_780_DATA 0x00000000
> +#define              DENALI_PHY_781_DATA 0x00000000
> +#define              DENALI_PHY_782_DATA 0x04000408
> +#define              DENALI_PHY_783_DATA 0x00000408
> +#define              DENALI_PHY_784_DATA 0x00e4e400
> +#define              DENALI_PHY_785_DATA 0x00000000
> +#define              DENALI_PHY_786_DATA 0x00000000
> +#define              DENALI_PHY_787_DATA 0x00000000
> +#define              DENALI_PHY_788_DATA 0x00000000
> +#define              DENALI_PHY_789_DATA 0x00000000
> +#define              DENALI_PHY_790_DATA 0x00000000
> +#define              DENALI_PHY_791_DATA 0x00000000
> +#define              DENALI_PHY_792_DATA 0x00000000
> +#define              DENALI_PHY_793_DATA 0x00000000
> +#define              DENALI_PHY_794_DATA 0x00000000
> +#define              DENALI_PHY_795_DATA 0x00000000
> +#define              DENALI_PHY_796_DATA 0x00000000
> +#define              DENALI_PHY_797_DATA 0x00000000
> +#define              DENALI_PHY_798_DATA 0x00000000
> +#define              DENALI_PHY_799_DATA 0x00000000
> +#define              DENALI_PHY_800_DATA 0x00000000
> +#define              DENALI_PHY_801_DATA 0x00200000
> +#define              DENALI_PHY_802_DATA 0x00000000
> +#define              DENALI_PHY_803_DATA 0x00000000
> +#define              DENALI_PHY_804_DATA 0x00000000
> +#define              DENALI_PHY_805_DATA 0x00000000
> +#define              DENALI_PHY_806_DATA 0x00000000
> +#define              DENALI_PHY_807_DATA 0x00000000
> +#define              DENALI_PHY_808_DATA 0x02800280
> +#define              DENALI_PHY_809_DATA 0x02800280
> +#define              DENALI_PHY_810_DATA 0x02800280
> +#define              DENALI_PHY_811_DATA 0x02800280
> +#define              DENALI_PHY_812_DATA 0x00000280
> +#define              DENALI_PHY_813_DATA 0x00000000
> +#define              DENALI_PHY_814_DATA 0x00000000
> +#define              DENALI_PHY_815_DATA 0x00000000
> +#define              DENALI_PHY_816_DATA 0x00000000
> +#define              DENALI_PHY_817_DATA 0x00000000
> +#define              DENALI_PHY_818_DATA 0x00800080
> +#define              DENALI_PHY_819_DATA 0x00800080
> +#define              DENALI_PHY_820_DATA 0x00800080
> +#define              DENALI_PHY_821_DATA 0x00800080
> +#define              DENALI_PHY_822_DATA 0x00800080
> +#define              DENALI_PHY_823_DATA 0x00800080
> +#define              DENALI_PHY_824_DATA 0x00800080
> +#define              DENALI_PHY_825_DATA 0x00800080
> +#define              DENALI_PHY_826_DATA 0x00800080
> +#define              DENALI_PHY_827_DATA 0x000100da
> +#define              DENALI_PHY_828_DATA 0x00000200
> +#define              DENALI_PHY_829_DATA 0x00000000
> +#define              DENALI_PHY_830_DATA 0x00000000
> +#define              DENALI_PHY_831_DATA 0x00000002
> +#define              DENALI_PHY_832_DATA 0x51313152
> +#define              DENALI_PHY_833_DATA 0x80013130
> +#define              DENALI_PHY_834_DATA 0x02000080
> +#define              DENALI_PHY_835_DATA 0x00100001
> +#define              DENALI_PHY_836_DATA 0x0c064208
> +#define              DENALI_PHY_837_DATA 0x000f0c0f
> +#define              DENALI_PHY_838_DATA 0x01000140
> +#define              DENALI_PHY_839_DATA 0x0000000c
> +#define              DENALI_PHY_840_DATA 0x00000000
> +#define              DENALI_PHY_841_DATA 0x00000000
> +#define              DENALI_PHY_842_DATA 0x00000000
> +#define              DENALI_PHY_843_DATA 0x00000000
> +#define              DENALI_PHY_844_DATA 0x00000000
> +#define              DENALI_PHY_845_DATA 0x00000000
> +#define              DENALI_PHY_846_DATA 0x00000000
> +#define              DENALI_PHY_847_DATA 0x00000000
> +#define              DENALI_PHY_848_DATA 0x00000000
> +#define              DENALI_PHY_849_DATA 0x00000000
> +#define              DENALI_PHY_850_DATA 0x00000000
> +#define              DENALI_PHY_851_DATA 0x00000000
> +#define              DENALI_PHY_852_DATA 0x00000000
> +#define              DENALI_PHY_853_DATA 0x00000000
> +#define              DENALI_PHY_854_DATA 0x00000000
> +#define              DENALI_PHY_855_DATA 0x00000000
> +#define              DENALI_PHY_856_DATA 0x00000000
> +#define              DENALI_PHY_857_DATA 0x00000000
> +#define              DENALI_PHY_858_DATA 0x00000000
> +#define              DENALI_PHY_859_DATA 0x00000000
> +#define              DENALI_PHY_860_DATA 0x00000000
> +#define              DENALI_PHY_861_DATA 0x00000000
> +#define              DENALI_PHY_862_DATA 0x00000000
> +#define              DENALI_PHY_863_DATA 0x00000000
> +#define              DENALI_PHY_864_DATA 0x00000000
> +#define              DENALI_PHY_865_DATA 0x00000000
> +#define              DENALI_PHY_866_DATA 0x00000000
> +#define              DENALI_PHY_867_DATA 0x00000000
> +#define              DENALI_PHY_868_DATA 0x00000000
> +#define              DENALI_PHY_869_DATA 0x00000000
> +#define              DENALI_PHY_870_DATA 0x00000000
> +#define              DENALI_PHY_871_DATA 0x00000000
> +#define              DENALI_PHY_872_DATA 0x00000000
> +#define              DENALI_PHY_873_DATA 0x00000000
> +#define              DENALI_PHY_874_DATA 0x00000000
> +#define              DENALI_PHY_875_DATA 0x00000000
> +#define              DENALI_PHY_876_DATA 0x00000000
> +#define              DENALI_PHY_877_DATA 0x00000000
> +#define              DENALI_PHY_878_DATA 0x00000000
> +#define              DENALI_PHY_879_DATA 0x00000000
> +#define              DENALI_PHY_880_DATA 0x00000000
> +#define              DENALI_PHY_881_DATA 0x00000000
> +#define              DENALI_PHY_882_DATA 0x00000000
> +#define              DENALI_PHY_883_DATA 0x00000000
> +#define              DENALI_PHY_884_DATA 0x00000000
> +#define              DENALI_PHY_885_DATA 0x00000000
> +#define              DENALI_PHY_886_DATA 0x00000000
> +#define              DENALI_PHY_887_DATA 0x00000000
> +#define              DENALI_PHY_888_DATA 0x00000000
> +#define              DENALI_PHY_889_DATA 0x00000000
> +#define              DENALI_PHY_890_DATA 0x00000000
> +#define              DENALI_PHY_891_DATA 0x00000000
> +#define              DENALI_PHY_892_DATA 0x00000000
> +#define              DENALI_PHY_893_DATA 0x00000000
> +#define              DENALI_PHY_894_DATA 0x00000000
> +#define              DENALI_PHY_895_DATA 0x00000000
> +#define              DENALI_PHY_896_DATA 0x41753206
> +#define              DENALI_PHY_897_DATA 0x0004c008
> +#define              DENALI_PHY_898_DATA 0x000000da
> +#define              DENALI_PHY_899_DATA 0x00000000
> +#define              DENALI_PHY_900_DATA 0x00000000
> +#define              DENALI_PHY_901_DATA 0x00010000
> +#define              DENALI_PHY_902_DATA 0x01DDDD90
> +#define              DENALI_PHY_903_DATA 0x01DDDD90
> +#define              DENALI_PHY_904_DATA 0x01030000
> +#define              DENALI_PHY_905_DATA 0x01000000
> +#define              DENALI_PHY_906_DATA 0x00c00000
> +#define              DENALI_PHY_907_DATA 0x00000007
> +#define              DENALI_PHY_908_DATA 0x00000000
> +#define              DENALI_PHY_909_DATA 0x00000000
> +#define              DENALI_PHY_910_DATA 0x04000408
> +#define              DENALI_PHY_911_DATA 0x00000408
> +#define              DENALI_PHY_912_DATA 0x00e4e400
> +#define              DENALI_PHY_913_DATA 0x00000000
> +#define              DENALI_PHY_914_DATA 0x00000000
> +#define              DENALI_PHY_915_DATA 0x00000000
> +#define              DENALI_PHY_916_DATA 0x00000000
> +#define              DENALI_PHY_917_DATA 0x00000000
> +#define              DENALI_PHY_918_DATA 0x00000000
> +#define              DENALI_PHY_919_DATA 0x00000000
> +#define              DENALI_PHY_920_DATA 0x00000000
> +#define              DENALI_PHY_921_DATA 0x00000000
> +#define              DENALI_PHY_922_DATA 0x00000000
> +#define              DENALI_PHY_923_DATA 0x00000000
> +#define              DENALI_PHY_924_DATA 0x00000000
> +#define              DENALI_PHY_925_DATA 0x00000000
> +#define              DENALI_PHY_926_DATA 0x00000000
> +#define              DENALI_PHY_927_DATA 0x00000000
> +#define              DENALI_PHY_928_DATA 0x00000000
> +#define              DENALI_PHY_929_DATA 0x00200000
> +#define              DENALI_PHY_930_DATA 0x00000000
> +#define              DENALI_PHY_931_DATA 0x00000000
> +#define              DENALI_PHY_932_DATA 0x00000000
> +#define              DENALI_PHY_933_DATA 0x00000000
> +#define              DENALI_PHY_934_DATA 0x00000000
> +#define              DENALI_PHY_935_DATA 0x00000000
> +#define              DENALI_PHY_936_DATA 0x02800280
> +#define              DENALI_PHY_937_DATA 0x02800280
> +#define              DENALI_PHY_938_DATA 0x02800280
> +#define              DENALI_PHY_939_DATA 0x02800280
> +#define              DENALI_PHY_940_DATA 0x00000280
> +#define              DENALI_PHY_941_DATA 0x00000000
> +#define              DENALI_PHY_942_DATA 0x00000000
> +#define              DENALI_PHY_943_DATA 0x00000000
> +#define              DENALI_PHY_944_DATA 0x00000000
> +#define              DENALI_PHY_945_DATA 0x00000000
> +#define              DENALI_PHY_946_DATA 0x00800080
> +#define              DENALI_PHY_947_DATA 0x00800080
> +#define              DENALI_PHY_948_DATA 0x00800080
> +#define              DENALI_PHY_949_DATA 0x00800080
> +#define              DENALI_PHY_950_DATA 0x00800080
> +#define              DENALI_PHY_951_DATA 0x00800080
> +#define              DENALI_PHY_952_DATA 0x00800080
> +#define              DENALI_PHY_953_DATA 0x00800080
> +#define              DENALI_PHY_954_DATA 0x00800080
> +#define              DENALI_PHY_955_DATA 0x000100da
> +#define              DENALI_PHY_956_DATA 0x00000200
> +#define              DENALI_PHY_957_DATA 0x00000000
> +#define              DENALI_PHY_958_DATA 0x00000000
> +#define              DENALI_PHY_959_DATA 0x00000002
> +#define              DENALI_PHY_960_DATA 0x51313152
> +#define              DENALI_PHY_961_DATA 0x80013130
> +#define              DENALI_PHY_962_DATA 0x02000080
> +#define              DENALI_PHY_963_DATA 0x00100001
> +#define              DENALI_PHY_964_DATA 0x0c064208
> +#define              DENALI_PHY_965_DATA 0x000f0c0f
> +#define              DENALI_PHY_966_DATA 0x01000140
> +#define              DENALI_PHY_967_DATA 0x0000000c
> +#define              DENALI_PHY_968_DATA 0x00000000
> +#define              DENALI_PHY_969_DATA 0x00000000
> +#define              DENALI_PHY_970_DATA 0x00000000
> +#define              DENALI_PHY_971_DATA 0x00000000
> +#define              DENALI_PHY_972_DATA 0x00000000
> +#define              DENALI_PHY_973_DATA 0x00000000
> +#define              DENALI_PHY_974_DATA 0x00000000
> +#define              DENALI_PHY_975_DATA 0x00000000
> +#define              DENALI_PHY_976_DATA 0x00000000
> +#define              DENALI_PHY_977_DATA 0x00000000
> +#define              DENALI_PHY_978_DATA 0x00000000
> +#define              DENALI_PHY_979_DATA 0x00000000
> +#define              DENALI_PHY_980_DATA 0x00000000
> +#define              DENALI_PHY_981_DATA 0x00000000
> +#define              DENALI_PHY_982_DATA 0x00000000
> +#define              DENALI_PHY_983_DATA 0x00000000
> +#define              DENALI_PHY_984_DATA 0x00000000
> +#define              DENALI_PHY_985_DATA 0x00000000
> +#define              DENALI_PHY_986_DATA 0x00000000
> +#define              DENALI_PHY_987_DATA 0x00000000
> +#define              DENALI_PHY_988_DATA 0x00000000
> +#define              DENALI_PHY_989_DATA 0x00000000
> +#define              DENALI_PHY_990_DATA 0x00000000
> +#define              DENALI_PHY_991_DATA 0x00000000
> +#define              DENALI_PHY_992_DATA 0x00000000
> +#define              DENALI_PHY_993_DATA 0x00000000
> +#define              DENALI_PHY_994_DATA 0x00000000
> +#define              DENALI_PHY_995_DATA 0x00000000
> +#define              DENALI_PHY_996_DATA 0x00000000
> +#define              DENALI_PHY_997_DATA 0x00000000
> +#define              DENALI_PHY_998_DATA 0x00000000
> +#define              DENALI_PHY_999_DATA 0x00000000
> +#define             DENALI_PHY_1000_DATA 0x00000000
> +#define             DENALI_PHY_1001_DATA 0x00000000
> +#define             DENALI_PHY_1002_DATA 0x00000000
> +#define             DENALI_PHY_1003_DATA 0x00000000
> +#define             DENALI_PHY_1004_DATA 0x00000000
> +#define             DENALI_PHY_1005_DATA 0x00000000
> +#define             DENALI_PHY_1006_DATA 0x00000000
> +#define             DENALI_PHY_1007_DATA 0x00000000
> +#define             DENALI_PHY_1008_DATA 0x00000000
> +#define             DENALI_PHY_1009_DATA 0x00000000
> +#define             DENALI_PHY_1010_DATA 0x00000000
> +#define             DENALI_PHY_1011_DATA 0x00000000
> +#define             DENALI_PHY_1012_DATA 0x00000000
> +#define             DENALI_PHY_1013_DATA 0x00000000
> +#define             DENALI_PHY_1014_DATA 0x00000000
> +#define             DENALI_PHY_1015_DATA 0x00000000
> +#define             DENALI_PHY_1016_DATA 0x00000000
> +#define             DENALI_PHY_1017_DATA 0x00000000
> +#define             DENALI_PHY_1018_DATA 0x00000000
> +#define             DENALI_PHY_1019_DATA 0x00000000
> +#define             DENALI_PHY_1020_DATA 0x00000000
> +#define             DENALI_PHY_1021_DATA 0x00000000
> +#define             DENALI_PHY_1022_DATA 0x00000000
> +#define             DENALI_PHY_1023_DATA 0x00000000
> +#define             DENALI_PHY_1024_DATA 0x36025174
> +#define             DENALI_PHY_1025_DATA 0x0004c008
> +#define             DENALI_PHY_1026_DATA 0x000000da
> +#define             DENALI_PHY_1027_DATA 0x00000000
> +#define             DENALI_PHY_1028_DATA 0x00000000
> +#define             DENALI_PHY_1029_DATA 0x00010000
> +#define             DENALI_PHY_1030_DATA 0x01DDDD90
> +#define             DENALI_PHY_1031_DATA 0x01DDDD90
> +#define             DENALI_PHY_1032_DATA 0x01030000
> +#define             DENALI_PHY_1033_DATA 0x01000000
> +#define             DENALI_PHY_1034_DATA 0x00c00000
> +#define             DENALI_PHY_1035_DATA 0x00000007
> +#define             DENALI_PHY_1036_DATA 0x00000000
> +#define             DENALI_PHY_1037_DATA 0x00000000
> +#define             DENALI_PHY_1038_DATA 0x04000408
> +#define             DENALI_PHY_1039_DATA 0x00000408
> +#define             DENALI_PHY_1040_DATA 0x00e4e400
> +#define             DENALI_PHY_1041_DATA 0x00000000
> +#define             DENALI_PHY_1042_DATA 0x00000000
> +#define             DENALI_PHY_1043_DATA 0x00000000
> +#define             DENALI_PHY_1044_DATA 0x00000000
> +#define             DENALI_PHY_1045_DATA 0x00000000
> +#define             DENALI_PHY_1046_DATA 0x00000000
> +#define             DENALI_PHY_1047_DATA 0x00000000
> +#define             DENALI_PHY_1048_DATA 0x00000000
> +#define             DENALI_PHY_1049_DATA 0x00000000
> +#define             DENALI_PHY_1050_DATA 0x00000000
> +#define             DENALI_PHY_1051_DATA 0x00000000
> +#define             DENALI_PHY_1052_DATA 0x00000000
> +#define             DENALI_PHY_1053_DATA 0x00000000
> +#define             DENALI_PHY_1054_DATA 0x00000000
> +#define             DENALI_PHY_1055_DATA 0x00000000
> +#define             DENALI_PHY_1056_DATA 0x00000000
> +#define             DENALI_PHY_1057_DATA 0x00200000
> +#define             DENALI_PHY_1058_DATA 0x00000000
> +#define             DENALI_PHY_1059_DATA 0x00000000
> +#define             DENALI_PHY_1060_DATA 0x00000000
> +#define             DENALI_PHY_1061_DATA 0x00000000
> +#define             DENALI_PHY_1062_DATA 0x00000000
> +#define             DENALI_PHY_1063_DATA 0x00000000
> +#define             DENALI_PHY_1064_DATA 0x02800280
> +#define             DENALI_PHY_1065_DATA 0x02800280
> +#define             DENALI_PHY_1066_DATA 0x02800280
> +#define             DENALI_PHY_1067_DATA 0x02800280
> +#define             DENALI_PHY_1068_DATA 0x00000280
> +#define             DENALI_PHY_1069_DATA 0x00000000
> +#define             DENALI_PHY_1070_DATA 0x00000000
> +#define             DENALI_PHY_1071_DATA 0x00000000
> +#define             DENALI_PHY_1072_DATA 0x00000000
> +#define             DENALI_PHY_1073_DATA 0x00000000
> +#define             DENALI_PHY_1074_DATA 0x00800080
> +#define             DENALI_PHY_1075_DATA 0x00800080
> +#define             DENALI_PHY_1076_DATA 0x00800080
> +#define             DENALI_PHY_1077_DATA 0x00800080
> +#define             DENALI_PHY_1078_DATA 0x00800080
> +#define             DENALI_PHY_1079_DATA 0x00800080
> +#define             DENALI_PHY_1080_DATA 0x00800080
> +#define             DENALI_PHY_1081_DATA 0x00800080
> +#define             DENALI_PHY_1082_DATA 0x00800080
> +#define             DENALI_PHY_1083_DATA 0x000100da
> +#define             DENALI_PHY_1084_DATA 0x00000200
> +#define             DENALI_PHY_1085_DATA 0x00000000
> +#define             DENALI_PHY_1086_DATA 0x00000000
> +#define             DENALI_PHY_1087_DATA 0x00000002
> +#define             DENALI_PHY_1088_DATA 0x51313152
> +#define             DENALI_PHY_1089_DATA 0x80013130
> +#define             DENALI_PHY_1090_DATA 0x02000080
> +#define             DENALI_PHY_1091_DATA 0x00100001
> +#define             DENALI_PHY_1092_DATA 0x0c064208
> +#define             DENALI_PHY_1093_DATA 0x000f0c0f
> +#define             DENALI_PHY_1094_DATA 0x01000140
> +#define             DENALI_PHY_1095_DATA 0x0000000c
> +#define             DENALI_PHY_1096_DATA 0x00000000
> +#define             DENALI_PHY_1097_DATA 0x00000000
> +#define             DENALI_PHY_1098_DATA 0x00000000
> +#define             DENALI_PHY_1099_DATA 0x00000000
> +#define             DENALI_PHY_1100_DATA 0x00000000
> +#define             DENALI_PHY_1101_DATA 0x00000000
> +#define             DENALI_PHY_1102_DATA 0x00000000
> +#define             DENALI_PHY_1103_DATA 0x00000000
> +#define             DENALI_PHY_1104_DATA 0x00000000
> +#define             DENALI_PHY_1105_DATA 0x00000000
> +#define             DENALI_PHY_1106_DATA 0x00000000
> +#define             DENALI_PHY_1107_DATA 0x00000000
> +#define             DENALI_PHY_1108_DATA 0x00000000
> +#define             DENALI_PHY_1109_DATA 0x00000000
> +#define             DENALI_PHY_1110_DATA 0x00000000
> +#define             DENALI_PHY_1111_DATA 0x00000000
> +#define             DENALI_PHY_1112_DATA 0x00000000
> +#define             DENALI_PHY_1113_DATA 0x00000000
> +#define             DENALI_PHY_1114_DATA 0x00000000
> +#define             DENALI_PHY_1115_DATA 0x00000000
> +#define             DENALI_PHY_1116_DATA 0x00000000
> +#define             DENALI_PHY_1117_DATA 0x00000000
> +#define             DENALI_PHY_1118_DATA 0x00000000
> +#define             DENALI_PHY_1119_DATA 0x00000000
> +#define             DENALI_PHY_1120_DATA 0x00000000
> +#define             DENALI_PHY_1121_DATA 0x00000000
> +#define             DENALI_PHY_1122_DATA 0x00000000
> +#define             DENALI_PHY_1123_DATA 0x00000000
> +#define             DENALI_PHY_1124_DATA 0x00000000
> +#define             DENALI_PHY_1125_DATA 0x00000000
> +#define             DENALI_PHY_1126_DATA 0x00000000
> +#define             DENALI_PHY_1127_DATA 0x00000000
> +#define             DENALI_PHY_1128_DATA 0x00000000
> +#define             DENALI_PHY_1129_DATA 0x00000000
> +#define             DENALI_PHY_1130_DATA 0x00000000
> +#define             DENALI_PHY_1131_DATA 0x00000000
> +#define             DENALI_PHY_1132_DATA 0x00000000
> +#define             DENALI_PHY_1133_DATA 0x00000000
> +#define             DENALI_PHY_1134_DATA 0x00000000
> +#define             DENALI_PHY_1135_DATA 0x00000000
> +#define             DENALI_PHY_1136_DATA 0x00000000
> +#define             DENALI_PHY_1137_DATA 0x00000000
> +#define             DENALI_PHY_1138_DATA 0x00000000
> +#define             DENALI_PHY_1139_DATA 0x00000000
> +#define             DENALI_PHY_1140_DATA 0x00000000
> +#define             DENALI_PHY_1141_DATA 0x00000000
> +#define             DENALI_PHY_1142_DATA 0x00000000
> +#define             DENALI_PHY_1143_DATA 0x00000000
> +#define             DENALI_PHY_1144_DATA 0x00000000
> +#define             DENALI_PHY_1145_DATA 0x00000000
> +#define             DENALI_PHY_1146_DATA 0x00000000
> +#define             DENALI_PHY_1147_DATA 0x00000000
> +#define             DENALI_PHY_1148_DATA 0x00000000
> +#define             DENALI_PHY_1149_DATA 0x00000000
> +#define             DENALI_PHY_1150_DATA 0x00000000
> +#define             DENALI_PHY_1151_DATA 0x00000000
> +#define             DENALI_PHY_1152_DATA 0x00000000
> +#define             DENALI_PHY_1153_DATA 0x00000000
> +#define             DENALI_PHY_1154_DATA 0x00050000
> +#define             DENALI_PHY_1155_DATA 0x00000000
> +#define             DENALI_PHY_1156_DATA 0x00000000
> +#define             DENALI_PHY_1157_DATA 0x00000000
> +#define             DENALI_PHY_1158_DATA 0x00000100
> +#define             DENALI_PHY_1159_DATA 0x00000000
> +#define             DENALI_PHY_1160_DATA 0x00000000
> +#define             DENALI_PHY_1161_DATA 0x00506401
> +#define             DENALI_PHY_1162_DATA 0x01221102
> +#define             DENALI_PHY_1163_DATA 0x00000122
> +#define             DENALI_PHY_1164_DATA 0x00000000
> +#define             DENALI_PHY_1165_DATA 0x000B1F00
> +#define             DENALI_PHY_1166_DATA 0x0B1F0B1F
> +#define             DENALI_PHY_1167_DATA 0x0B1F0B1B
> +#define             DENALI_PHY_1168_DATA 0x0B1F0B1F
> +#define             DENALI_PHY_1169_DATA 0x0B1F0B1F
> +#define             DENALI_PHY_1170_DATA 0x00000B00
> +#define             DENALI_PHY_1171_DATA 0x42080010
> +#define             DENALI_PHY_1172_DATA 0x01000100
> +#define             DENALI_PHY_1173_DATA 0x01000100
> +#define             DENALI_PHY_1174_DATA 0x01000100
> +#define             DENALI_PHY_1175_DATA 0x01000100
> +#define             DENALI_PHY_1176_DATA 0x00000000
> +#define             DENALI_PHY_1177_DATA 0x00000000
> +#define             DENALI_PHY_1178_DATA 0x00000000
> +#define             DENALI_PHY_1179_DATA 0x00000000
> +#define             DENALI_PHY_1180_DATA 0x00000000
> +#define             DENALI_PHY_1181_DATA 0x00000803
> +#define             DENALI_PHY_1182_DATA 0x223FFF00
> +#define             DENALI_PHY_1183_DATA 0x000008FF
> +#define             DENALI_PHY_1184_DATA 0x0000057F
> +#define             DENALI_PHY_1185_DATA 0x0000057F
> +#define             DENALI_PHY_1186_DATA 0x00037FFF
> +#define             DENALI_PHY_1187_DATA 0x00037FFF
> +#define             DENALI_PHY_1188_DATA 0x00004410
> +#define             DENALI_PHY_1189_DATA 0x00004410
> +#define             DENALI_PHY_1190_DATA 0x00004410
> +#define             DENALI_PHY_1191_DATA 0x00004410
> +#define             DENALI_PHY_1192_DATA 0x00004410
> +#define             DENALI_PHY_1193_DATA 0x00037FFF
> +#define             DENALI_PHY_1194_DATA 0x00037FFF
> +#define             DENALI_PHY_1195_DATA 0x00000000
> +#define             DENALI_PHY_1196_DATA 0x00000000
> +#define             DENALI_PHY_1197_DATA 0x00000000
> +#define             DENALI_PHY_1198_DATA 0x04000000
> +#define             DENALI_PHY_1199_DATA 0x00000000
> +#define             DENALI_PHY_1200_DATA 0x00000000
> +#define             DENALI_PHY_1201_DATA 0x00000108
> +#define             DENALI_PHY_1202_DATA 0x00000000
> +#define             DENALI_PHY_1203_DATA 0x00000000
> +#define             DENALI_PHY_1204_DATA 0x00000000
> +#define             DENALI_PHY_1205_DATA 0x00000001
> +#define             DENALI_PHY_1206_DATA 0x00000000
> +#define             DENALI_PHY_1207_DATA 0x00000000
> +#define             DENALI_PHY_1208_DATA 0x00000000
> +#define             DENALI_PHY_1209_DATA 0x00000000
> +#define             DENALI_PHY_1210_DATA 0x00000000
> +#define             DENALI_PHY_1211_DATA 0x00000000
> +#define             DENALI_PHY_1212_DATA 0x00020100
> +#define             DENALI_PHY_1213_DATA 0x00000000
> +#define             DENALI_PHY_1214_DATA 0x00000000
> diff --git a/board/sifive/fu540/ux00ddr.h b/board/sifive/fu540/ux00ddr.h
> new file mode 100644
> index 0000000000..2b96397852
> --- /dev/null
> +++ b/board/sifive/fu540/ux00ddr.h
> @@ -0,0 +1,276 @@
> +/* SPDX-License-Identifier: GPL-2.0+ */
> +/*
> + * Copyright (c) 2019 SiFive, Inc
> + *
> + * Authors:
> + *   Pragnesh Patel <pragnesh.patel at sifive.com>
> + *   Troy Benjegerdes <troy.benjegerdes at sifive.com>
> + */
> +
> +#ifndef FU540_UX00DDR_H
> +#define FU540_UX00DDR_H
> +
> +#ifndef __ASSEMBLER__
> +
> +#include <stdint.h>
> +#include <stddef.h>
> +#include <stdbool.h>
> +
> +extern u32 ddr_phy_settings[1215];
> +extern u32 ddr_ctl_settings[265];
> +
> +#define _REG32(p, i) (*(volatile uint32_t *)((p) + (i)))
> +
> +#define DRAM_CLASS_OFFSET                      8
> +#define DRAM_CLASS_DDR4                        0xA
> +#define OPTIMAL_RMODW_EN_OFFSET                0
> +#define DISABLE_RD_INTERLEAVE_OFFSET           16
> +#define OUT_OF_RANGE_OFFSET                    1
> +#define MULTIPLE_OUT_OF_RANGE_OFFSET           2
> +#define PORT_COMMAND_CHANNEL_ERROR_OFFSET      7
> +#define MC_INIT_COMPLETE_OFFSET                8
> +#define LEVELING_OPERATION_COMPLETED_OFFSET    22
> +#define DFI_PHY_WRLELV_MODE_OFFSET             24
> +#define DFI_PHY_RDLVL_MODE_OFFSET              24
> +#define DFI_PHY_RDLVL_GATE_MODE_OFFSET         0
> +#define VREF_EN_OFFSET                         24
> +#define PORT_ADDR_PROTECTION_EN_OFFSET         0
> +#define AXI0_ADDRESS_RANGE_ENABLE              8
> +#define AXI0_RANGE_PROT_BITS_0_OFFSET          24
> +#define RDLVL_EN_OFFSET                        16
> +#define RDLVL_GATE_EN_OFFSET                   24
> +#define WRLVL_EN_OFFSET                        0
> +
> +#define PHY_RX_CAL_DQ0_0_OFFSET                0
> +#define PHY_RX_CAL_DQ1_0_OFFSET                16
> +
> +static inline void phy_reset(volatile u32 *ddrphyreg, const
> +               u32 *physettings)
> +{
> +       unsigned int i;
> +
> +       for (i = 1152; i <= 1214; i++) {
> +               u32 physet = physettings[i];
> +               /*if (physet!=0)*/ ddrphyreg[i] = physet;
> +       }
> +
> +       for (i = 0; i <= 1151; i++) {
> +               u32 physet = physettings[i];
> +               /*if (physet!=0)*/ ddrphyreg[i] = physet;
> +       }
> +}
> +
> +static inline void ux00ddr_writeregmap(size_t ahbregaddr, const
> +               u32 *ctlsettings, const u32 *physettings)
> +{
> +       volatile u32 *ddrctlreg = (volatile u32 *)ahbregaddr;
> +       volatile u32 *ddrphyreg = ((volatile u32 *)ahbregaddr) +
> +               (0x2000 / sizeof(u32));
> +
> +       unsigned int i;
> +
> +       for (i = 0; i <= 264; i++) {
> +               u32 ctlset = ctlsettings[i];
> +               /*if (ctlset!=0)*/ ddrctlreg[i] = ctlset;
> +       }
> +
> +       phy_reset(ddrphyreg, physettings);
> +}
> +
> +static inline void ux00ddr_start(size_t ahbregaddr, size_t filteraddr,
> +                                size_t ddrend)
> +{
> +       // START register at ddrctl register base offset 0
> +       u32 regdata = _REG32(0 << 2, ahbregaddr);
> +
> +       regdata |= 0x1;
> +       _REG32(0 << 2, ahbregaddr) = regdata;
> +
> +       /*
> +        * WAIT for initialization complete : bit 8 of INT_STATUS
> +        * (DENALI_CTL_132) 0x210
> +        */
> +       while ((_REG32(132 << 2, ahbregaddr) & (1 <<
> +                                       MC_INIT_COMPLETE_OFFSET)) == 0) {
> +       }
> +
> +       // Disable the BusBlocker in front of the controller AXI slave ports
> +       volatile u64 *filterreg = (volatile u64 *)filteraddr;
> +
> +       filterreg[0] = 0x0f00000000000000UL | (ddrend >> 2);
> +}
> +
> +static inline void ux00ddr_mask_mc_init_complete_interrupt(size_t
> +               ahbregaddr)
> +{
> +       /*
> +        * Mask off Bit 8 of Interrupt Status
> +        * Bit [8] The MC initialization has been completed
> +        */
> +
> +       _REG32(136 << 2, ahbregaddr) |= (1 << MC_INIT_COMPLETE_OFFSET);
> +}
> +
> +static inline void ux00ddr_mask_outofrange_interrupts(size_t ahbregaddr)
> +{
> +       /*
> +        * Mask off Bit 8, Bit 2 and Bit 1 of Interrupt Status
> +        * Bit [2] Multiple accesses outside the defined PHYSICAL memory
> +        * space have occurred
> +        * Bit [1] A memory access outside the defined PHYSICAL memory
> +        * space has occurred
> +        */
> +
> +       _REG32(136 << 2, ahbregaddr) |= ((1 << OUT_OF_RANGE_OFFSET) | (1 <<
> +                               MULTIPLE_OUT_OF_RANGE_OFFSET));
> +}
> +
> +static inline void ux00ddr_mask_port_command_error_interrupt(size_t
> +               ahbregaddr)
> +{
> +       /*
> +        * Mask off Bit 7 of Interrupt Status
> +        * Bit [7] An error occurred on the port command channel
> +        */
> +
> +       _REG32(136 << 2, ahbregaddr) |= (1 <<
> +                       PORT_COMMAND_CHANNEL_ERROR_OFFSET);
> +}
> +
> +static inline void ux00ddr_mask_leveling_completed_interrupt(size_t
> +               ahbregaddr)
> +{
> +       /*
> +        * Mask off Bit 22 of Interrupt Status
> +        * Bit [22] The leveling operation has completed
> +        */
> +
> +       _REG32(136 << 2, ahbregaddr) |= (1 <<
> +                       LEVELING_OPERATION_COMPLETED_OFFSET);
> +}
> +
> +static inline void ux00ddr_setuprangeprotection(size_t ahbregaddr, size_t
> +               end_addr)
> +{
> +       _REG32(209 << 2, ahbregaddr) = 0x0;
> +       size_t end_addr_16kblocks = ((end_addr >> 14) & 0x7FFFFF) - 1;
> +
> +       _REG32(210 << 2, ahbregaddr)  = ((u32)end_addr_16kblocks);
> +       _REG32(212 << 2, ahbregaddr)  = 0x0;
> +       _REG32(214 << 2, ahbregaddr)  = 0x0;
> +       _REG32(216 << 2, ahbregaddr)  = 0x0;
> +       _REG32(224 << 2, ahbregaddr) |= (0x3 << AXI0_RANGE_PROT_BITS_0_OFFSET);
> +       _REG32(225 << 2, ahbregaddr)  = 0xFFFFFFFF;
> +       _REG32(208 << 2, ahbregaddr) |= (1 << AXI0_ADDRESS_RANGE_ENABLE);
> +       _REG32(208 << 2, ahbregaddr) |= (1 << PORT_ADDR_PROTECTION_EN_OFFSET);
> +}
> +
> +static inline void ux00ddr_disableaxireadinterleave(size_t ahbregaddr)
> +{
> +       _REG32(120 << 2, ahbregaddr) |= (1 << DISABLE_RD_INTERLEAVE_OFFSET);
> +}
> +
> +static inline void ux00ddr_disableoptimalrmodw(size_t ahbregaddr)
> +{
> +       _REG32(21 << 2, ahbregaddr) &= (~(1 << OPTIMAL_RMODW_EN_OFFSET));
> +}
> +
> +static inline void ux00ddr_enablewriteleveling(size_t ahbregaddr)
> +{
> +       _REG32(170 << 2, ahbregaddr) |= ((1 << WRLVL_EN_OFFSET) | (1 <<
> +                               DFI_PHY_WRLELV_MODE_OFFSET));
> +}
> +
> +static inline void ux00ddr_enablereadleveling(size_t ahbregaddr)
> +{
> +       _REG32(181 << 2, ahbregaddr) |= (1 << DFI_PHY_RDLVL_MODE_OFFSET);
> +       _REG32(260 << 2, ahbregaddr) |= (1 << RDLVL_EN_OFFSET);
> +}
> +
> +static inline void ux00ddr_enablereadlevelinggate(size_t ahbregaddr)
> +{
> +       _REG32(260 << 2, ahbregaddr) |= (1 << RDLVL_GATE_EN_OFFSET);
> +       _REG32(182 << 2, ahbregaddr) |= (1 << DFI_PHY_RDLVL_GATE_MODE_OFFSET);
> +}
> +
> +static inline void ux00ddr_enablevreftraining(size_t ahbregaddr)
> +{
> +       _REG32(184 << 2, ahbregaddr) |= (1 << VREF_EN_OFFSET);
> +}
> +
> +static inline u32 ux00ddr_getdramclass(size_t ahbregaddr)
> +{
> +       return((_REG32(0, ahbregaddr) >> DRAM_CLASS_OFFSET) & 0xF);
> +}
> +
> +static inline u64 ux00ddr_phy_fixup(size_t ahbregaddr)
> +{
> +       // return bitmask of failed lanes
> +
> +       size_t ddrphyreg = ahbregaddr + 0x2000;
> +
> +       u64 fails     = 0;
> +       u32 slicebase = 0;
> +       u32 dq        = 0;
> +
> +       // check errata condition
> +       for (u32 slice = 0; slice < 8; slice++) {
> +               u32 regbase = slicebase + 34;
> +
> +               for (u32 reg = 0; reg < 4; reg++) {
> +                       u32 updownreg = _REG32((regbase + reg) << 2,
> +                                               ddrphyreg);
> +
> +                       for (u32 bit = 0; bit < 2; bit++) {
> +                               u32 phy_rx_cal_dqn_0_offset;
> +
> +                               if (bit == 0) {
> +                                       phy_rx_cal_dqn_0_offset =
> +                                               PHY_RX_CAL_DQ0_0_OFFSET;
> +                               } else {
> +                                       phy_rx_cal_dqn_0_offset =
> +                                               PHY_RX_CAL_DQ1_0_OFFSET;
> +                               }
> +
> +                               u32 down = (updownreg >>
> +                                               phy_rx_cal_dqn_0_offset) & 0x3F;
> +                               u32 up   = (updownreg >>
> +                                               (phy_rx_cal_dqn_0_offset + 6)) & 0x3F;
> +
> +                               u8 failc0 = ((down == 0) && (up == 0x3F));
> +                               u8 failc1 = ((up == 0) && (down == 0x3F));
> +
> +                               // print error message on failure
> +                               if (failc0 || failc1) {
> +                                       if (fails == 0)
> +                                               printf("DDR error in fixing up\n");
> +
> +                                       fails |= (1 << dq);
> +
> +                                       char slicelsc = '0';
> +                                       char slicemsc = '0';
> +
> +                                       slicelsc += (dq % 10);
> +                                       slicemsc += (dq / 10);
> +                                       printf("S ");
> +                                       printf("%c", slicemsc);
> +                                       printf("%c", slicelsc);
> +
> +                                       if (failc0)
> +                                               printf("U");
> +                                       else
> +                                               printf("D");
> +
> +                                       printf("\n");
> +                               }
> +                               dq++;
> +                       }
> +               }
> +               slicebase += 128;
> +       }
> +       return(0);
> +}
> +
> +#endif /* __ASSEMBLER__ */
> +
> +#endif /* FU540_UX00DDR_H */
> diff --git a/board/sifive/fu540/ux00prci.h b/board/sifive/fu540/ux00prci.h
> new file mode 100644
> index 0000000000..0393fc2804
> --- /dev/null
> +++ b/board/sifive/fu540/ux00prci.h
> @@ -0,0 +1,69 @@
> +/* SPDX-License-Identifier: GPL-2.0+ */
> +/*
> + * Copyright (c) 2019 SiFive, Inc
> + *
> + * Authors:
> + *   Pragnesh Patel <pragnesh.patel at sifive.com>
> + *   Troy Benjegerdes <troy.benjegerdes at sifive.com>
> + */
> +
> +#ifndef _SIFIVE_UX00PRCI_H
> +#define _SIFIVE_UX00PRCI_H
> +
> +/* Register offsets */
> +#define UX00PRCI_HFROSCCFG          (0x0000)
> +#define UX00PRCI_COREPLLCFG         (0x0004)
> +#define UX00PRCI_COREPLLOUT         (0x0008)
> +#define UX00PRCI_DDRPLLCFG          (0x000C)
> +#define UX00PRCI_DDRPLLOUT          (0x0010)
> +#define UX00PRCI_GEMGXLPLLCFG       (0x001C)
> +#define UX00PRCI_GEMGXLPLLOUT       (0x0020)
> +#define UX00PRCI_CORECLKSELREG      (0x0024)
> +#define UX00PRCI_DEVICESRESETREG    (0x0028)
> +#define UX00PRCI_CLKMUXSTATUSREG    (0x002C)
> +#define UX00PRCI_PROCMONCFG         (0x00F0)
> +
> +/* Fields */
> +#define XOSC_EN(x)            (((x) & 0x1) << 30)
> +#define XOSC_RDY(x)           (((x) & 0x1) << 31)
> +
> +#define PLL_R(x)              (((x) & 0x3F) << 0)
> +#define PLL_F(x)              (((x) & 0x1FF) << 6)
> +#define PLL_Q(x)              (((x) & 0x7) << 15)
> +#define PLL_RANGE(x)          (((x) & 0x7) << 18)
> +#define PLL_BYPASS(x)         (((x) & 0x1) << 24)
> +#define PLL_FSE(x)            (((x) & 0x1) << 25)
> +#define PLL_LOCK(x)           (((x) & 0x1) << 31)
> +
> +#define PLLOUT_DIV(x)         (((x) & 0x7F) << 0)
> +#define PLLOUT_DIV_BY_1(x)    (((x) & 0x1) << 8)
> +#define PLLOUT_CLK_EN(x)      (((x) & 0x1) << 31)
> +
> +#define PLL_R_default              0x1
> +#define PLL_F_default              0x1F
> +#define PLL_Q_default              0x3
> +#define PLL_RANGE_default          0x0
> +#define PLL_BYPASS_default         0x1
> +#define PLL_FSE_default            0x1
> +
> +#define PLLOUT_DIV_default         0x0
> +#define PLLOUT_DIV_BY_1_default    0x0
> +#define PLLOUT_CLK_EN_default      0x0
> +
> +#define PLL_CORECLKSEL_HFXIN       0x1
> +#define PLL_CORECLKSEL_COREPLL     0x0
> +
> +#define DEVICESRESET_DDR_CTRL_RST_N(x)    (((x) & 0x1) << 0)
> +#define DEVICESRESET_DDR_AXI_RST_N(x)     (((x) & 0x1) << 1)
> +#define DEVICESRESET_DDR_AHB_RST_N(x)     (((x) & 0x1) << 2)
> +#define DEVICESRESET_DDR_PHY_RST_N(x)     (((x) & 0x1) << 3)
> +#define DEVICESRESET_GEMGXL_RST_N(x)      (((x) & 0x1) << 5)
> +
> +#define CLKMUX_STATUS_CORECLKPLLSEL    (0x1 << 0)
> +#define CLKMUX_STATUS_TLCLKSEL         (0x1 << 1)
> +#define CLKMUX_STATUS_RTCXSEL          (0x1 << 2)
> +#define CLKMUX_STATUS_DDRCTRLCLKSEL    (0x1 << 3)
> +#define CLKMUX_STATUS_DDRPHYCLKSEL     (0x1 << 4)
> +#define CLKMUX_STATUS_GEMGXLCLKSEL     (0x1 << 6)
> +
> +#endif // _SIFIVE_UX00PRCI_H

> --
> 2.17.1
>

Regards,
Anup
Pragnesh Patel Jan. 20, 2020, 2:09 p.m. UTC | #2
Hi Anup,

>-----Original Message-----
>From: Anup Patel <anup at brainfault.org>
>Sent: 20 January 2020 11:28
>To: Pragnesh Patel <pragnesh.patel at sifive.com>
>Cc: U-Boot Mailing List <u-boot at lists.denx.de>; Palmer Dabbelt
><palmerdabbelt at google.com>; Atish Patra <atish.patra at wdc.com>; Palmer
>Dabbelt ( Sifive) <palmer at sifive.com>
>Subject: Re: [PATCH v2 7/9] riscv: sifive: fu540: Add U-boot SPL header files
>
>On Fri, Jan 17, 2020 at 6:18 PM Pragnesh Patel
><pragnesh.patel at sifive.com> wrote:
>>
>> Add header files needed for U-boot SPL
>>
>> Signed-off-by: Pragnesh Patel <pragnesh.patel at sifive.com>
>
>First of all, PATCH7 and PATCH8 does not make sense.
>
>Instead of PATCH7 and PATCH8, we should have following
>patch breakup:
>1. A PATCH for adding ddrregs.c,required headers and required
>Makefile/Kconfig changes
>2. A PATCH for adding spl.c, required headers and required
>Makefile/Kconfig changes
>3. A PATCH for SPL defconfig
>
>By "required headers", I mean the headers by this patch only.

Will split in v3, thanks.

>
>> ---
>>  board/sifive/fu540/ccache.h           |   43 +
>>  board/sifive/fu540/fu540-memory-map.h |   59 ++
>>  board/sifive/fu540/regconfig-ctl.h    |  274 ++++++
>>  board/sifive/fu540/regconfig-phy.h    | 1224 +++++++++++++++++++++++++
>>  board/sifive/fu540/ux00ddr.h          |  276 ++++++
>>  board/sifive/fu540/ux00prci.h         |   69 ++
>>  6 files changed, 1945 insertions(+)
>>  create mode 100644 board/sifive/fu540/ccache.h
>>  create mode 100644 board/sifive/fu540/fu540-memory-map.h
>>  create mode 100644 board/sifive/fu540/regconfig-ctl.h
>>  create mode 100644 board/sifive/fu540/regconfig-phy.h
>>  create mode 100644 board/sifive/fu540/ux00ddr.h
>>  create mode 100644 board/sifive/fu540/ux00prci.h
>>
>> diff --git a/board/sifive/fu540/ccache.h b/board/sifive/fu540/ccache.h
>> new file mode 100644
>> index 0000000000..0e5e40a1ef
>> --- /dev/null
>> +++ b/board/sifive/fu540/ccache.h
>> @@ -0,0 +1,43 @@
>> +/* SPDX-License-Identifier: GPL-2.0+ */
>> +/*
>> + * Copyright (c) 2019 SiFive, Inc
>> + *
>> + * Authors:
>> + *   Pragnesh Patel <pragnesh.patel at sifive.com>
>> + *   Troy Benjegerdes <troy.benjegerdes at sifive.com>
>> + */
>> +
>> +#ifndef FU540_CCACHE_H
>> +#define FU540_CCACHE_H
>> +
>> +#include <asm/arch/cache.h>
>> +
>> +#ifndef __ASSEMBLER__
>> +
>> +#include <stdint.h>
>> +#include <linux/types.h>
>> +
>> +/* Block memory access until operation completed */
>> +static inline void ccache_barrier_0(void)
>> +{
>> +       asm volatile("fence rw, io" : : : "memory");
>> +}
>> +
>> +static inline void ccache_barrier_1(void)
>> +{
>> +       asm volatile("fence io, rw" : : : "memory");
>> +}
>> +
>> +/* Enable ways; allow cache to use these ways */
>> +static inline void ccache_enable_ways(u64 base_addr, u8 value)
>> +{
>> +       volatile u32 *enable = (volatile u32 *)(base_addr +
>> +                                         CCACHE_ENABLE);
>> +       ccache_barrier_0();
>> +       (*enable) = value;
>> +       ccache_barrier_1();
>> +}
>> +
>> +#endif
>> +
>> +#endif /* FU540_CCACHE_H */
>> diff --git a/board/sifive/fu540/fu540-memory-map.h
>b/board/sifive/fu540/fu540-memory-map.h
>> new file mode 100644
>> index 0000000000..c0df07d6fd
>> --- /dev/null
>> +++ b/board/sifive/fu540/fu540-memory-map.h
>> @@ -0,0 +1,59 @@
>> +/* SPDX-License-Identifier: GPL-2.0+ */
>> +/*
>> + * Copyright (c) 2019 SiFive, Inc
>> + *
>> + * Authors:
>> + *   Pragnesh Patel <pragnesh.patel at sifive.com>
>> + *   Troy Benjegerdes <troy.benjegerdes at sifive.com>
>> + */
>> +
>> +#ifndef FU540_MEMORY_MAP
>> +#define FU540_MEMORY_MAP
>> +
>> +#include <linux/const.h>
>> +#include <asm/arch/gpio.h>
>> +#include <asm/arch/uart.h>
>> +#include "ccache.h"
>> +#include "i2c.h"
>> +#include "spi.h"
>> +#include "ux00prci.h"
>
>Remove unused includes

Will update in v3.

>
>> +
>>
>+/***************************************************************
>*************
>> + * Platform definitions
>> +
>*****************************************************************
>************/
>> +
>> +/* Memory map */
>> +#define CCACHE_CTRL_ADDR               _AC(0x2010000, UL)
>> +#define CCACHE_CTRL_SIZE               _AC(0x1000, UL)
>> +
>> +#define GPIO_CTRL_ADDR                 _AC(0x10060000, UL)
>> +#define GPIO_CTRL_SIZE                 _AC(0x1000, UL)
>
>GPIO_xyz defines are not used anywhere remove it.

GPIO_CTRL_ADDR will be used by GPIO_REG() and GPIO_REG will be
used by VSC8541 PHY reset sequence (spl.c) 

>
>> +
>> +#define PHYSICAL_FILTER_CTRL_ADDR      _AC(0x100b8000, UL)
>> +#define PHYSICAL_FILTER_CTRL_SIZE      _AC(0x1000, UL)
>> +
>> +#define UART0_CTRL_ADDR                _AC(0x10010000, UL)
>> +#define UART0_CTRL_SIZE                _AC(0x1000, UL)
>> +#define UART1_CTRL_ADDR                _AC(0x10011000, UL)
>> +#define UART1_CTRL_SIZE                _AC(0x1000, UL)
>> +#ifndef UART_CTRL_ADDR
>> +#define UART_CTRL_ADDR                 UART0_CTRL_ADDR
>> +#endif
>> +#ifndef UART_CTRL_SIZE
>> +#define UART_CTRL_SIZE                 UART0_CTRL_SIZE
>> +#endif
>
>These UARTx_<xyz> defines can be removed if we can get rid of
>UART clock scaling from init_clk_and_ddr(). The rationale is that
>UART driver of U-Boot is supposed to set correct divider values
>based on current clk setting so we don't need to do UART clock
>scaling in init_clk_and_ddr()

UART clock scaling can be removed from init_clk_and_ddr(), I will
check and update this in v3.

>
>> +#define UX00DDR_CTRL_ADDR              _AC(0x100b0000, UL)
>> +#define UX00DDR_CTRL_SIZE              _AC(0x4000, UL)
>> +#define UX00PRCI_CTRL_ADDR             _AC(0x10000000, UL)
>> +#define UX00PRCI_CTRL_SIZE             _AC(0x1000, UL)
>> +
>> +/* Helper functions */
>> +#define _REG32(p, i)    (*(volatile uint32_t *)((p) + (i)))
>> +
>> +#define UX00PRCI_REG(offset)  \
>> +       _REG32(UX00PRCI_CTRL_ADDR, \
>> +                       offset)
>> +#define GPIO_REG(offset)      _REG32(GPIO_CTRL_ADDR, offset)
>> +#define UART0_REG(offset)    _REG32(UART0_CTRL_ADDR, offset)
>
>Remove GPIO_REG() and UART0_REG() as well.

Will remove UART0_REG() but GPIO_REG() used by VSC8541 PHY reset sequence (spl.c)

>
>> +
>> +#endif /* FU540_MEMORY_MAP */
>> diff --git a/board/sifive/fu540/regconfig-ctl.h
>b/board/sifive/fu540/regconfig-ctl.h
>> new file mode 100644
>> index 0000000000..19a52e7996
>> --- /dev/null
>> +++ b/board/sifive/fu540/regconfig-ctl.h
>> @@ -0,0 +1,274 @@
>> +/* SPDX-License-Identifier: GPL-2.0+ */
>> +/*
>> + * Copyright (c) 2019 SiFive, Inc
>> + *
>> + * Authors:
>> + *   Pragnesh Patel <pragnesh.patel at sifive.com>
>> + *   Troy Benjegerdes <troy.benjegerdes at sifive.com>
>> + */
>> +
>> +#define               DENALI_CTL_00_DATA 0x00000a00
>> +#define               DENALI_CTL_01_DATA 0x00000000
>> +#define               DENALI_CTL_02_DATA 0x00000000
>> +#define               DENALI_CTL_03_DATA 0x00000000
>> +#define               DENALI_CTL_04_DATA 0x00000000
>> +#define               DENALI_CTL_05_DATA 0x00000000
>> +#define               DENALI_CTL_06_DATA 0x0000000a
>> +#define               DENALI_CTL_07_DATA 0x0002d362
>> +#define               DENALI_CTL_08_DATA 0x00071073
>> +#define               DENALI_CTL_09_DATA 0x0a1c0255
>> +#define               DENALI_CTL_10_DATA 0x1c1c0400
>> +#define               DENALI_CTL_11_DATA 0x0404990b
>> +#define               DENALI_CTL_12_DATA 0x2b050405
>> +#define               DENALI_CTL_13_DATA 0x0e0c081e
>> +#define               DENALI_CTL_14_DATA 0x08090914
>> +#define               DENALI_CTL_15_DATA 0x00fde718
>> +#define               DENALI_CTL_16_DATA 0x00180a05
>> +#define               DENALI_CTL_17_DATA 0x008b130e
>> +#define               DENALI_CTL_18_DATA 0x01000118
>> +#define               DENALI_CTL_19_DATA 0x0e032101
>> +#define               DENALI_CTL_20_DATA 0x00000000
>> +#define               DENALI_CTL_21_DATA 0x00000101
>> +#define               DENALI_CTL_22_DATA 0x00000000
>> +#define               DENALI_CTL_23_DATA 0x0a000000
>> +#define               DENALI_CTL_24_DATA 0x00000000
>> +#define               DENALI_CTL_25_DATA 0x01450100
>> +#define               DENALI_CTL_26_DATA 0x00001c36
>> +#define               DENALI_CTL_27_DATA 0x00000005
>> +#define               DENALI_CTL_28_DATA 0x00170006
>> +#define               DENALI_CTL_29_DATA 0x014e0300
>> +#define               DENALI_CTL_30_DATA 0x03010000
>> +#define               DENALI_CTL_31_DATA 0x000a0e00
>> +#define               DENALI_CTL_32_DATA 0x04030200
>> +#define               DENALI_CTL_33_DATA 0x0000031f
>> +#define               DENALI_CTL_34_DATA 0x00070004
>> +#define               DENALI_CTL_35_DATA 0x00000000
>> +#define               DENALI_CTL_36_DATA 0x00000000
>> +#define               DENALI_CTL_37_DATA 0x00000000
>> +#define               DENALI_CTL_38_DATA 0x00000000
>> +#define               DENALI_CTL_39_DATA 0x00000000
>> +#define               DENALI_CTL_40_DATA 0x00000000
>> +#define               DENALI_CTL_41_DATA 0x00000000
>> +#define               DENALI_CTL_42_DATA 0x00000000
>> +#define               DENALI_CTL_43_DATA 0x00000000
>> +#define               DENALI_CTL_44_DATA 0x00000000
>> +#define               DENALI_CTL_45_DATA 0x00000000
>> +#define               DENALI_CTL_46_DATA 0x00000000
>> +#define               DENALI_CTL_47_DATA 0x00000000
>> +#define               DENALI_CTL_48_DATA 0x00000000
>> +#define               DENALI_CTL_49_DATA 0x00000000
>> +#define               DENALI_CTL_50_DATA 0x00000000
>> +#define               DENALI_CTL_51_DATA 0x00000000
>> +#define               DENALI_CTL_52_DATA 0x00000000
>> +#define               DENALI_CTL_53_DATA 0x00000000
>> +#define               DENALI_CTL_54_DATA 0x00000000
>> +#define               DENALI_CTL_55_DATA 0x00000000
>> +#define               DENALI_CTL_56_DATA 0x00000000
>> +#define               DENALI_CTL_57_DATA 0x00000000
>> +#define               DENALI_CTL_58_DATA 0x00000000
>> +#define               DENALI_CTL_59_DATA 0x00000000
>> +#define               DENALI_CTL_60_DATA 0x00000424
>> +#define               DENALI_CTL_61_DATA 0x00000201
>> +#define               DENALI_CTL_62_DATA 0x00001008
>> +#define               DENALI_CTL_63_DATA 0x00000000
>> +#define               DENALI_CTL_64_DATA 0x00000200
>> +#define               DENALI_CTL_65_DATA 0x00000000
>> +#define               DENALI_CTL_66_DATA 0x00000481
>> +#define               DENALI_CTL_67_DATA 0x00000400
>> +#define               DENALI_CTL_68_DATA 0x00000424
>> +#define               DENALI_CTL_69_DATA 0x00000201
>> +#define               DENALI_CTL_70_DATA 0x00001008
>> +#define               DENALI_CTL_71_DATA 0x00000000
>> +#define               DENALI_CTL_72_DATA 0x00000200
>> +#define               DENALI_CTL_73_DATA 0x00000000
>> +#define               DENALI_CTL_74_DATA 0x00000481
>> +#define               DENALI_CTL_75_DATA 0x00000400
>> +#define               DENALI_CTL_76_DATA 0x01010000
>> +#define               DENALI_CTL_77_DATA 0x00000000
>> +#define               DENALI_CTL_78_DATA 0x00000000
>> +#define               DENALI_CTL_79_DATA 0x00000000
>> +#define               DENALI_CTL_80_DATA 0x00000000
>> +#define               DENALI_CTL_81_DATA 0x00000000
>> +#define               DENALI_CTL_82_DATA 0x00000000
>> +#define               DENALI_CTL_83_DATA 0x00000000
>> +#define               DENALI_CTL_84_DATA 0x00000000
>> +#define               DENALI_CTL_85_DATA 0x00000000
>> +#define               DENALI_CTL_86_DATA 0x00000000
>> +#define               DENALI_CTL_87_DATA 0x00000000
>> +#define               DENALI_CTL_88_DATA 0x00000000
>> +#define               DENALI_CTL_89_DATA 0x00000000
>> +#define               DENALI_CTL_90_DATA 0x00000000
>> +#define               DENALI_CTL_91_DATA 0x00000000
>> +#define               DENALI_CTL_92_DATA 0x00000000
>> +#define               DENALI_CTL_93_DATA 0x00000000
>> +#define               DENALI_CTL_94_DATA 0x00000000
>> +#define               DENALI_CTL_95_DATA 0x00000000
>> +#define               DENALI_CTL_96_DATA 0x00000000
>> +#define               DENALI_CTL_97_DATA 0x00000000
>> +#define               DENALI_CTL_98_DATA 0x00000000
>> +#define               DENALI_CTL_99_DATA 0x00000000
>> +#define              DENALI_CTL_100_DATA 0x00000000
>> +#define              DENALI_CTL_101_DATA 0x00000000
>> +#define              DENALI_CTL_102_DATA 0x00000000
>> +#define              DENALI_CTL_103_DATA 0x00000000
>> +#define              DENALI_CTL_104_DATA 0x00000000
>> +#define              DENALI_CTL_105_DATA 0x00000003
>> +#define              DENALI_CTL_106_DATA 0x00000000
>> +#define              DENALI_CTL_107_DATA 0x00000000
>> +#define              DENALI_CTL_108_DATA 0x00000000
>> +#define              DENALI_CTL_109_DATA 0x00000000
>> +#define              DENALI_CTL_110_DATA 0x01000000
>> +#define              DENALI_CTL_111_DATA 0x00040000
>> +#define              DENALI_CTL_112_DATA 0x00800200
>> +#define              DENALI_CTL_113_DATA 0x00000200
>> +#define              DENALI_CTL_114_DATA 0x00000040
>> +#define              DENALI_CTL_115_DATA 0x01000100
>> +#define              DENALI_CTL_116_DATA 0x0a000002
>> +#define              DENALI_CTL_117_DATA 0x0101ffff
>> +#define              DENALI_CTL_118_DATA 0x01010101
>> +#define              DENALI_CTL_119_DATA 0x01010101
>> +#define              DENALI_CTL_120_DATA 0x0000010b
>> +#define              DENALI_CTL_121_DATA 0x00000c01
>> +#define              DENALI_CTL_122_DATA 0x00000000
>> +#define              DENALI_CTL_123_DATA 0x00000000
>> +#define              DENALI_CTL_124_DATA 0x00000000
>> +#define              DENALI_CTL_125_DATA 0x00000000
>> +#define              DENALI_CTL_126_DATA 0x00030300
>> +#define              DENALI_CTL_127_DATA 0x00000000
>> +#define              DENALI_CTL_128_DATA 0x00010001
>> +#define              DENALI_CTL_129_DATA 0x00000000
>> +#define              DENALI_CTL_130_DATA 0x00000000
>> +#define              DENALI_CTL_131_DATA 0x00000000
>> +#define              DENALI_CTL_132_DATA 0x00000000
>> +#define              DENALI_CTL_133_DATA 0x00000000
>> +#define              DENALI_CTL_134_DATA 0x00000000
>> +#define              DENALI_CTL_135_DATA 0x00000000
>> +#define              DENALI_CTL_136_DATA 0x00000000
>> +#define              DENALI_CTL_137_DATA 0x00000000
>> +#define              DENALI_CTL_138_DATA 0x00000000
>> +#define              DENALI_CTL_139_DATA 0x00000000
>> +#define              DENALI_CTL_140_DATA 0x00000000
>> +#define              DENALI_CTL_141_DATA 0x00000000
>> +#define              DENALI_CTL_142_DATA 0x00000000
>> +#define              DENALI_CTL_143_DATA 0x00000000
>> +#define              DENALI_CTL_144_DATA 0x00000000
>> +#define              DENALI_CTL_145_DATA 0x00000000
>> +#define              DENALI_CTL_146_DATA 0x00000000
>> +#define              DENALI_CTL_147_DATA 0x00000000
>> +#define              DENALI_CTL_148_DATA 0x00000000
>> +#define              DENALI_CTL_149_DATA 0x00000000
>> +#define              DENALI_CTL_150_DATA 0x00000000
>> +#define              DENALI_CTL_151_DATA 0x00000000
>> +#define              DENALI_CTL_152_DATA 0x00000000
>> +#define              DENALI_CTL_153_DATA 0x00000000
>> +#define              DENALI_CTL_154_DATA 0x00000000
>> +#define              DENALI_CTL_155_DATA 0x00000000
>> +#define              DENALI_CTL_156_DATA 0x00000000
>> +#define              DENALI_CTL_157_DATA 0x00000000
>> +#define              DENALI_CTL_158_DATA 0x00000000
>> +#define              DENALI_CTL_159_DATA 0x00000000
>> +#define              DENALI_CTL_160_DATA 0x00000000
>> +#define              DENALI_CTL_161_DATA 0x02010102
>> +#define              DENALI_CTL_162_DATA 0x0107070d
>> +#define              DENALI_CTL_163_DATA 0x04040400
>> +#define              DENALI_CTL_164_DATA 0x03000503
>> +#define              DENALI_CTL_165_DATA 0x00000000
>> +#define              DENALI_CTL_166_DATA 0x00000000
>> +#define              DENALI_CTL_167_DATA 0x00000000
>> +#define              DENALI_CTL_168_DATA 0x00000000
>> +#define              DENALI_CTL_169_DATA 0x280d0000
>> +#define              DENALI_CTL_170_DATA 0x01000000
>> +#define              DENALI_CTL_171_DATA 0x00000000
>> +#define              DENALI_CTL_172_DATA 0x00010001
>> +#define              DENALI_CTL_173_DATA 0x00000000
>> +#define              DENALI_CTL_174_DATA 0x00000000
>> +#define              DENALI_CTL_175_DATA 0x00000000
>> +#define              DENALI_CTL_176_DATA 0x00000000
>> +#define              DENALI_CTL_177_DATA 0x00000000
>> +#define              DENALI_CTL_178_DATA 0x00000000
>> +#define              DENALI_CTL_179_DATA 0x00000000
>> +#define              DENALI_CTL_180_DATA 0x00000000
>> +#define              DENALI_CTL_181_DATA 0x01000000
>> +#define              DENALI_CTL_182_DATA 0x00000001
>> +#define              DENALI_CTL_183_DATA 0x00000100
>> +#define              DENALI_CTL_184_DATA 0x00000101
>> +#define              DENALI_CTL_185_DATA 0x67676701
>> +#define              DENALI_CTL_186_DATA 0x67676767
>> +#define              DENALI_CTL_187_DATA 0x67676767
>> +#define              DENALI_CTL_188_DATA 0x67676767
>> +#define              DENALI_CTL_189_DATA 0x67676767
>> +#define              DENALI_CTL_190_DATA 0x67676767
>> +#define              DENALI_CTL_191_DATA 0x67676767
>> +#define              DENALI_CTL_192_DATA 0x67676767
>> +#define              DENALI_CTL_193_DATA 0x67676767
>> +#define              DENALI_CTL_194_DATA 0x01000067
>> +#define              DENALI_CTL_195_DATA 0x00000001
>> +#define              DENALI_CTL_196_DATA 0x00000101
>> +#define              DENALI_CTL_197_DATA 0x00000000
>> +#define              DENALI_CTL_198_DATA 0x00000000
>> +#define              DENALI_CTL_199_DATA 0x00000000
>> +#define              DENALI_CTL_200_DATA 0x00000000
>> +#define              DENALI_CTL_201_DATA 0x00000000
>> +#define              DENALI_CTL_202_DATA 0x00000000
>> +#define              DENALI_CTL_203_DATA 0x00000000
>> +#define              DENALI_CTL_204_DATA 0x00000000
>> +#define              DENALI_CTL_205_DATA 0x00000000
>> +#define              DENALI_CTL_206_DATA 0x00000000
>> +#define              DENALI_CTL_207_DATA 0x00000000
>> +#define              DENALI_CTL_208_DATA 0x00000001
>> +#define              DENALI_CTL_209_DATA 0x00000000
>> +#define              DENALI_CTL_210_DATA 0x007fffff
>> +#define              DENALI_CTL_211_DATA 0x00000000
>> +#define              DENALI_CTL_212_DATA 0x007fffff
>> +#define              DENALI_CTL_213_DATA 0x00000000
>> +#define              DENALI_CTL_214_DATA 0x007fffff
>> +#define              DENALI_CTL_215_DATA 0x00000000
>> +#define              DENALI_CTL_216_DATA 0x007fffff
>> +#define              DENALI_CTL_217_DATA 0x00000000
>> +#define              DENALI_CTL_218_DATA 0x007fffff
>> +#define              DENALI_CTL_219_DATA 0x00000000
>> +#define              DENALI_CTL_220_DATA 0x007fffff
>> +#define              DENALI_CTL_221_DATA 0x00000000
>> +#define              DENALI_CTL_222_DATA 0x007fffff
>> +#define              DENALI_CTL_223_DATA 0x00000000
>> +#define              DENALI_CTL_224_DATA 0x037fffff
>> +#define              DENALI_CTL_225_DATA 0xffffffff
>> +#define              DENALI_CTL_226_DATA 0x000f000f
>> +#define              DENALI_CTL_227_DATA 0x00ffff03
>> +#define              DENALI_CTL_228_DATA 0x000fffff
>> +#define              DENALI_CTL_229_DATA 0x0003000f
>> +#define              DENALI_CTL_230_DATA 0xffffffff
>> +#define              DENALI_CTL_231_DATA 0x000f000f
>> +#define              DENALI_CTL_232_DATA 0x00ffff03
>> +#define              DENALI_CTL_233_DATA 0x000fffff
>> +#define              DENALI_CTL_234_DATA 0x0003000f
>> +#define              DENALI_CTL_235_DATA 0xffffffff
>> +#define              DENALI_CTL_236_DATA 0x000f000f
>> +#define              DENALI_CTL_237_DATA 0x00ffff03
>> +#define              DENALI_CTL_238_DATA 0x000fffff
>> +#define              DENALI_CTL_239_DATA 0x0003000f
>> +#define              DENALI_CTL_240_DATA 0xffffffff
>> +#define              DENALI_CTL_241_DATA 0x000f000f
>> +#define              DENALI_CTL_242_DATA 0x00ffff03
>> +#define              DENALI_CTL_243_DATA 0x000fffff
>> +#define              DENALI_CTL_244_DATA 0x6407000f
>> +#define              DENALI_CTL_245_DATA 0x01640001
>> +#define              DENALI_CTL_246_DATA 0x00000000
>> +#define              DENALI_CTL_247_DATA 0x00000000
>> +#define              DENALI_CTL_248_DATA 0x00001700
>> +#define              DENALI_CTL_249_DATA 0x00386c05
>> +#define              DENALI_CTL_250_DATA 0x02000200
>> +#define              DENALI_CTL_251_DATA 0x02000200
>> +#define              DENALI_CTL_252_DATA 0x0000386c
>> +#define              DENALI_CTL_253_DATA 0x00023438
>> +#define              DENALI_CTL_254_DATA 0x02020d10
>> +#define              DENALI_CTL_255_DATA 0x00140303
>> +#define              DENALI_CTL_256_DATA 0x00000000
>> +#define              DENALI_CTL_257_DATA 0x00000000
>> +#define              DENALI_CTL_258_DATA 0x00001403
>> +#define              DENALI_CTL_259_DATA 0x00000000
>> +#define              DENALI_CTL_260_DATA 0x00000000
>> +#define              DENALI_CTL_261_DATA 0x00000000
>> +#define              DENALI_CTL_262_DATA 0x00000000
>> +#define              DENALI_CTL_263_DATA 0x0d010000
>> +#define              DENALI_CTL_264_DATA 0x00000008
>> diff --git a/board/sifive/fu540/regconfig-phy.h
>b/board/sifive/fu540/regconfig-phy.h
>> new file mode 100644
>> index 0000000000..3450aecdf1
>> --- /dev/null
>> +++ b/board/sifive/fu540/regconfig-phy.h
>> @@ -0,0 +1,1224 @@
>> +/* SPDX-License-Identifier: GPL-2.0+ */
>> +/*
>> + * Copyright (c) 2019 SiFive, Inc
>> + *
>> + * Authors:
>> + *   Pragnesh Patel <pragnesh.patel at sifive.com>
>> + *   Troy Benjegerdes <troy.benjegerdes at sifive.com>
>> + */
>> +
>> +#define               DENALI_PHY_00_DATA 0x31706542
>> +#define               DENALI_PHY_01_DATA 0x0004c008
>> +#define               DENALI_PHY_02_DATA 0x000000da
>> +#define               DENALI_PHY_03_DATA 0x00000000
>> +#define               DENALI_PHY_04_DATA 0x00000000
>> +#define               DENALI_PHY_05_DATA 0x00010000
>> +#define               DENALI_PHY_06_DATA 0x01DDDD90
>> +#define               DENALI_PHY_07_DATA 0x01DDDD90
>> +#define               DENALI_PHY_08_DATA 0x01030000
>> +#define               DENALI_PHY_09_DATA 0x01000000
>> +#define               DENALI_PHY_10_DATA 0x00c00000
>> +#define               DENALI_PHY_11_DATA 0x00000007
>> +#define               DENALI_PHY_12_DATA 0x00000000
>> +#define               DENALI_PHY_13_DATA 0x00000000
>> +#define               DENALI_PHY_14_DATA 0x04000408
>> +#define               DENALI_PHY_15_DATA 0x00000408
>> +#define               DENALI_PHY_16_DATA 0x00e4e400
>> +#define               DENALI_PHY_17_DATA 0x00000000
>> +#define               DENALI_PHY_18_DATA 0x00000000
>> +#define               DENALI_PHY_19_DATA 0x00000000
>> +#define               DENALI_PHY_20_DATA 0x00000000
>> +#define               DENALI_PHY_21_DATA 0x00000000
>> +#define               DENALI_PHY_22_DATA 0x00000000
>> +#define               DENALI_PHY_23_DATA 0x00000000
>> +#define               DENALI_PHY_24_DATA 0x00000000
>> +#define               DENALI_PHY_25_DATA 0x00000000
>> +#define               DENALI_PHY_26_DATA 0x00000000
>> +#define               DENALI_PHY_27_DATA 0x00000000
>> +#define               DENALI_PHY_28_DATA 0x00000000
>> +#define               DENALI_PHY_29_DATA 0x00000000
>> +#define               DENALI_PHY_30_DATA 0x00000000
>> +#define               DENALI_PHY_31_DATA 0x00000000
>> +#define               DENALI_PHY_32_DATA 0x00000000
>> +#define               DENALI_PHY_33_DATA 0x00200000
>> +#define               DENALI_PHY_34_DATA 0x00000000
>> +#define               DENALI_PHY_35_DATA 0x00000000
>> +#define               DENALI_PHY_36_DATA 0x00000000
>> +#define               DENALI_PHY_37_DATA 0x00000000
>> +#define               DENALI_PHY_38_DATA 0x00000000
>> +#define               DENALI_PHY_39_DATA 0x00000000
>> +#define               DENALI_PHY_40_DATA 0x02800280
>> +#define               DENALI_PHY_41_DATA 0x02800280
>> +#define               DENALI_PHY_42_DATA 0x02800280
>> +#define               DENALI_PHY_43_DATA 0x02800280
>> +#define               DENALI_PHY_44_DATA 0x00000280
>> +#define               DENALI_PHY_45_DATA 0x00000000
>> +#define               DENALI_PHY_46_DATA 0x00000000
>> +#define               DENALI_PHY_47_DATA 0x00000000
>> +#define               DENALI_PHY_48_DATA 0x00000000
>> +#define               DENALI_PHY_49_DATA 0x00000000
>> +#define               DENALI_PHY_50_DATA 0x00800080
>> +#define               DENALI_PHY_51_DATA 0x00800080
>> +#define               DENALI_PHY_52_DATA 0x00800080
>> +#define               DENALI_PHY_53_DATA 0x00800080
>> +#define               DENALI_PHY_54_DATA 0x00800080
>> +#define               DENALI_PHY_55_DATA 0x00800080
>> +#define               DENALI_PHY_56_DATA 0x00800080
>> +#define               DENALI_PHY_57_DATA 0x00800080
>> +#define               DENALI_PHY_58_DATA 0x00800080
>> +#define               DENALI_PHY_59_DATA 0x000100da
>> +#define               DENALI_PHY_60_DATA 0x01000200
>> +#define               DENALI_PHY_61_DATA 0x00000000
>> +#define               DENALI_PHY_62_DATA 0x00000000
>> +#define               DENALI_PHY_63_DATA 0x00000002
>> +#define               DENALI_PHY_64_DATA 0x51313152
>> +#define               DENALI_PHY_65_DATA 0x80013130
>> +#define               DENALI_PHY_66_DATA 0x02000080
>> +#define               DENALI_PHY_67_DATA 0x00100001
>> +#define               DENALI_PHY_68_DATA 0x0c064208
>> +#define               DENALI_PHY_69_DATA 0x000f0c0f
>> +#define               DENALI_PHY_70_DATA 0x01000140
>> +#define               DENALI_PHY_71_DATA 0x0000000c
>> +#define               DENALI_PHY_72_DATA 0x00000000
>> +#define               DENALI_PHY_73_DATA 0x00000000
>> +#define               DENALI_PHY_74_DATA 0x00000000
>> +#define               DENALI_PHY_75_DATA 0x00000000
>> +#define               DENALI_PHY_76_DATA 0x00000000
>> +#define               DENALI_PHY_77_DATA 0x00000000
>> +#define               DENALI_PHY_78_DATA 0x00000000
>> +#define               DENALI_PHY_79_DATA 0x00000000
>> +#define               DENALI_PHY_80_DATA 0x00000000
>> +#define               DENALI_PHY_81_DATA 0x00000000
>> +#define               DENALI_PHY_82_DATA 0x00000000
>> +#define               DENALI_PHY_83_DATA 0x00000000
>> +#define               DENALI_PHY_84_DATA 0x00000000
>> +#define               DENALI_PHY_85_DATA 0x00000000
>> +#define               DENALI_PHY_86_DATA 0x00000000
>> +#define               DENALI_PHY_87_DATA 0x00000000
>> +#define               DENALI_PHY_88_DATA 0x00000000
>> +#define               DENALI_PHY_89_DATA 0x00000000
>> +#define               DENALI_PHY_90_DATA 0x00000000
>> +#define               DENALI_PHY_91_DATA 0x00000000
>> +#define               DENALI_PHY_92_DATA 0x00000000
>> +#define               DENALI_PHY_93_DATA 0x00000000
>> +#define               DENALI_PHY_94_DATA 0x00000000
>> +#define               DENALI_PHY_95_DATA 0x00000000
>> +#define               DENALI_PHY_96_DATA 0x00000000
>> +#define               DENALI_PHY_97_DATA 0x00000000
>> +#define               DENALI_PHY_98_DATA 0x00000000
>> +#define               DENALI_PHY_99_DATA 0x00000000
>> +#define              DENALI_PHY_100_DATA 0x00000000
>> +#define              DENALI_PHY_101_DATA 0x00000000
>> +#define              DENALI_PHY_102_DATA 0x00000000
>> +#define              DENALI_PHY_103_DATA 0x00000000
>> +#define              DENALI_PHY_104_DATA 0x00000000
>> +#define              DENALI_PHY_105_DATA 0x00000000
>> +#define              DENALI_PHY_106_DATA 0x00000000
>> +#define              DENALI_PHY_107_DATA 0x00000000
>> +#define              DENALI_PHY_108_DATA 0x00000000
>> +#define              DENALI_PHY_109_DATA 0x00000000
>> +#define              DENALI_PHY_110_DATA 0x00000000
>> +#define              DENALI_PHY_111_DATA 0x00000000
>> +#define              DENALI_PHY_112_DATA 0x00000000
>> +#define              DENALI_PHY_113_DATA 0x00000000
>> +#define              DENALI_PHY_114_DATA 0x00000000
>> +#define              DENALI_PHY_115_DATA 0x00000000
>> +#define              DENALI_PHY_116_DATA 0x00000000
>> +#define              DENALI_PHY_117_DATA 0x00000000
>> +#define              DENALI_PHY_118_DATA 0x00000000
>> +#define              DENALI_PHY_119_DATA 0x00000000
>> +#define              DENALI_PHY_120_DATA 0x00000000
>> +#define              DENALI_PHY_121_DATA 0x00000000
>> +#define              DENALI_PHY_122_DATA 0x00000000
>> +#define              DENALI_PHY_123_DATA 0x00000000
>> +#define              DENALI_PHY_124_DATA 0x00000000
>> +#define              DENALI_PHY_125_DATA 0x00000000
>> +#define              DENALI_PHY_126_DATA 0x00000000
>> +#define              DENALI_PHY_127_DATA 0x00000000
>> +#define              DENALI_PHY_128_DATA 0x40263571
>> +#define              DENALI_PHY_129_DATA 0x0004c008
>> +#define              DENALI_PHY_130_DATA 0x000000da
>> +#define              DENALI_PHY_131_DATA 0x00000000
>> +#define              DENALI_PHY_132_DATA 0x00000000
>> +#define              DENALI_PHY_133_DATA 0x00010000
>> +#define              DENALI_PHY_134_DATA 0x01DDDD90
>> +#define              DENALI_PHY_135_DATA 0x01DDDD90
>> +#define              DENALI_PHY_136_DATA 0x01030000
>> +#define              DENALI_PHY_137_DATA 0x01000000
>> +#define              DENALI_PHY_138_DATA 0x00c00000
>> +#define              DENALI_PHY_139_DATA 0x00000007
>> +#define              DENALI_PHY_140_DATA 0x00000000
>> +#define              DENALI_PHY_141_DATA 0x00000000
>> +#define              DENALI_PHY_142_DATA 0x04000408
>> +#define              DENALI_PHY_143_DATA 0x00000408
>> +#define              DENALI_PHY_144_DATA 0x00e4e400
>> +#define              DENALI_PHY_145_DATA 0x00000000
>> +#define              DENALI_PHY_146_DATA 0x00000000
>> +#define              DENALI_PHY_147_DATA 0x00000000
>> +#define              DENALI_PHY_148_DATA 0x00000000
>> +#define              DENALI_PHY_149_DATA 0x00000000
>> +#define              DENALI_PHY_150_DATA 0x00000000
>> +#define              DENALI_PHY_151_DATA 0x00000000
>> +#define              DENALI_PHY_152_DATA 0x00000000
>> +#define              DENALI_PHY_153_DATA 0x00000000
>> +#define              DENALI_PHY_154_DATA 0x00000000
>> +#define              DENALI_PHY_155_DATA 0x00000000
>> +#define              DENALI_PHY_156_DATA 0x00000000
>> +#define              DENALI_PHY_157_DATA 0x00000000
>> +#define              DENALI_PHY_158_DATA 0x00000000
>> +#define              DENALI_PHY_159_DATA 0x00000000
>> +#define              DENALI_PHY_160_DATA 0x00000000
>> +#define              DENALI_PHY_161_DATA 0x00200000
>> +#define              DENALI_PHY_162_DATA 0x00000000
>> +#define              DENALI_PHY_163_DATA 0x00000000
>> +#define              DENALI_PHY_164_DATA 0x00000000
>> +#define              DENALI_PHY_165_DATA 0x00000000
>> +#define              DENALI_PHY_166_DATA 0x00000000
>> +#define              DENALI_PHY_167_DATA 0x00000000
>> +#define              DENALI_PHY_168_DATA 0x02800280
>> +#define              DENALI_PHY_169_DATA 0x02800280
>> +#define              DENALI_PHY_170_DATA 0x02800280
>> +#define              DENALI_PHY_171_DATA 0x02800280
>> +#define              DENALI_PHY_172_DATA 0x00000280
>> +#define              DENALI_PHY_173_DATA 0x00000000
>> +#define              DENALI_PHY_174_DATA 0x00000000
>> +#define              DENALI_PHY_175_DATA 0x00000000
>> +#define              DENALI_PHY_176_DATA 0x00000000
>> +#define              DENALI_PHY_177_DATA 0x00000000
>> +#define              DENALI_PHY_178_DATA 0x00800080
>> +#define              DENALI_PHY_179_DATA 0x00800080
>> +#define              DENALI_PHY_180_DATA 0x00800080
>> +#define              DENALI_PHY_181_DATA 0x00800080
>> +#define              DENALI_PHY_182_DATA 0x00800080
>> +#define              DENALI_PHY_183_DATA 0x00800080
>> +#define              DENALI_PHY_184_DATA 0x00800080
>> +#define              DENALI_PHY_185_DATA 0x00800080
>> +#define              DENALI_PHY_186_DATA 0x00800080
>> +#define              DENALI_PHY_187_DATA 0x000100da
>> +#define              DENALI_PHY_188_DATA 0x01000200
>> +#define              DENALI_PHY_189_DATA 0x00000000
>> +#define              DENALI_PHY_190_DATA 0x00000000
>> +#define              DENALI_PHY_191_DATA 0x00000002
>> +#define              DENALI_PHY_192_DATA 0x51313152
>> +#define              DENALI_PHY_193_DATA 0x80013130
>> +#define              DENALI_PHY_194_DATA 0x02000080
>> +#define              DENALI_PHY_195_DATA 0x00100001
>> +#define              DENALI_PHY_196_DATA 0x0c064208
>> +#define              DENALI_PHY_197_DATA 0x000f0c0f
>> +#define              DENALI_PHY_198_DATA 0x01000140
>> +#define              DENALI_PHY_199_DATA 0x0000000c
>> +#define              DENALI_PHY_200_DATA 0x00000000
>> +#define              DENALI_PHY_201_DATA 0x00000000
>> +#define              DENALI_PHY_202_DATA 0x00000000
>> +#define              DENALI_PHY_203_DATA 0x00000000
>> +#define              DENALI_PHY_204_DATA 0x00000000
>> +#define              DENALI_PHY_205_DATA 0x00000000
>> +#define              DENALI_PHY_206_DATA 0x00000000
>> +#define              DENALI_PHY_207_DATA 0x00000000
>> +#define              DENALI_PHY_208_DATA 0x00000000
>> +#define              DENALI_PHY_209_DATA 0x00000000
>> +#define              DENALI_PHY_210_DATA 0x00000000
>> +#define              DENALI_PHY_211_DATA 0x00000000
>> +#define              DENALI_PHY_212_DATA 0x00000000
>> +#define              DENALI_PHY_213_DATA 0x00000000
>> +#define              DENALI_PHY_214_DATA 0x00000000
>> +#define              DENALI_PHY_215_DATA 0x00000000
>> +#define              DENALI_PHY_216_DATA 0x00000000
>> +#define              DENALI_PHY_217_DATA 0x00000000
>> +#define              DENALI_PHY_218_DATA 0x00000000
>> +#define              DENALI_PHY_219_DATA 0x00000000
>> +#define              DENALI_PHY_220_DATA 0x00000000
>> +#define              DENALI_PHY_221_DATA 0x00000000
>> +#define              DENALI_PHY_222_DATA 0x00000000
>> +#define              DENALI_PHY_223_DATA 0x00000000
>> +#define              DENALI_PHY_224_DATA 0x00000000
>> +#define              DENALI_PHY_225_DATA 0x00000000
>> +#define              DENALI_PHY_226_DATA 0x00000000
>> +#define              DENALI_PHY_227_DATA 0x00000000
>> +#define              DENALI_PHY_228_DATA 0x00000000
>> +#define              DENALI_PHY_229_DATA 0x00000000
>> +#define              DENALI_PHY_230_DATA 0x00000000
>> +#define              DENALI_PHY_231_DATA 0x00000000
>> +#define              DENALI_PHY_232_DATA 0x00000000
>> +#define              DENALI_PHY_233_DATA 0x00000000
>> +#define              DENALI_PHY_234_DATA 0x00000000
>> +#define              DENALI_PHY_235_DATA 0x00000000
>> +#define              DENALI_PHY_236_DATA 0x00000000
>> +#define              DENALI_PHY_237_DATA 0x00000000
>> +#define              DENALI_PHY_238_DATA 0x00000000
>> +#define              DENALI_PHY_239_DATA 0x00000000
>> +#define              DENALI_PHY_240_DATA 0x00000000
>> +#define              DENALI_PHY_241_DATA 0x00000000
>> +#define              DENALI_PHY_242_DATA 0x00000000
>> +#define              DENALI_PHY_243_DATA 0x00000000
>> +#define              DENALI_PHY_244_DATA 0x00000000
>> +#define              DENALI_PHY_245_DATA 0x00000000
>> +#define              DENALI_PHY_246_DATA 0x00000000
>> +#define              DENALI_PHY_247_DATA 0x00000000
>> +#define              DENALI_PHY_248_DATA 0x00000000
>> +#define              DENALI_PHY_249_DATA 0x00000000
>> +#define              DENALI_PHY_250_DATA 0x00000000
>> +#define              DENALI_PHY_251_DATA 0x00000000
>> +#define              DENALI_PHY_252_DATA 0x00000000
>> +#define              DENALI_PHY_253_DATA 0x00000000
>> +#define              DENALI_PHY_254_DATA 0x00000000
>> +#define              DENALI_PHY_255_DATA 0x00000000
>> +#define              DENALI_PHY_256_DATA 0x46052371
>> +#define              DENALI_PHY_257_DATA 0x0004c008
>> +#define              DENALI_PHY_258_DATA 0x000000da
>> +#define              DENALI_PHY_259_DATA 0x00000000
>> +#define              DENALI_PHY_260_DATA 0x00000000
>> +#define              DENALI_PHY_261_DATA 0x00010000
>> +#define              DENALI_PHY_262_DATA 0x01DDDD90
>> +#define              DENALI_PHY_263_DATA 0x01DDDD90
>> +#define              DENALI_PHY_264_DATA 0x01030000
>> +#define              DENALI_PHY_265_DATA 0x01000000
>> +#define              DENALI_PHY_266_DATA 0x00c00000
>> +#define              DENALI_PHY_267_DATA 0x00000007
>> +#define              DENALI_PHY_268_DATA 0x00000000
>> +#define              DENALI_PHY_269_DATA 0x00000000
>> +#define              DENALI_PHY_270_DATA 0x04000408
>> +#define              DENALI_PHY_271_DATA 0x00000408
>> +#define              DENALI_PHY_272_DATA 0x00e4e400
>> +#define              DENALI_PHY_273_DATA 0x00000000
>> +#define              DENALI_PHY_274_DATA 0x00000000
>> +#define              DENALI_PHY_275_DATA 0x00000000
>> +#define              DENALI_PHY_276_DATA 0x00000000
>> +#define              DENALI_PHY_277_DATA 0x00000000
>> +#define              DENALI_PHY_278_DATA 0x00000000
>> +#define              DENALI_PHY_279_DATA 0x00000000
>> +#define              DENALI_PHY_280_DATA 0x00000000
>> +#define              DENALI_PHY_281_DATA 0x00000000
>> +#define              DENALI_PHY_282_DATA 0x00000000
>> +#define              DENALI_PHY_283_DATA 0x00000000
>> +#define              DENALI_PHY_284_DATA 0x00000000
>> +#define              DENALI_PHY_285_DATA 0x00000000
>> +#define              DENALI_PHY_286_DATA 0x00000000
>> +#define              DENALI_PHY_287_DATA 0x00000000
>> +#define              DENALI_PHY_288_DATA 0x00000000
>> +#define              DENALI_PHY_289_DATA 0x00200000
>> +#define              DENALI_PHY_290_DATA 0x00000000
>> +#define              DENALI_PHY_291_DATA 0x00000000
>> +#define              DENALI_PHY_292_DATA 0x00000000
>> +#define              DENALI_PHY_293_DATA 0x00000000
>> +#define              DENALI_PHY_294_DATA 0x00000000
>> +#define              DENALI_PHY_295_DATA 0x00000000
>> +#define              DENALI_PHY_296_DATA 0x02800280
>> +#define              DENALI_PHY_297_DATA 0x02800280
>> +#define              DENALI_PHY_298_DATA 0x02800280
>> +#define              DENALI_PHY_299_DATA 0x02800280
>> +#define              DENALI_PHY_300_DATA 0x00000280
>> +#define              DENALI_PHY_301_DATA 0x00000000
>> +#define              DENALI_PHY_302_DATA 0x00000000
>> +#define              DENALI_PHY_303_DATA 0x00000000
>> +#define              DENALI_PHY_304_DATA 0x00000000
>> +#define              DENALI_PHY_305_DATA 0x00000000
>> +#define              DENALI_PHY_306_DATA 0x00800080
>> +#define              DENALI_PHY_307_DATA 0x00800080
>> +#define              DENALI_PHY_308_DATA 0x00800080
>> +#define              DENALI_PHY_309_DATA 0x00800080
>> +#define              DENALI_PHY_310_DATA 0x00800080
>> +#define              DENALI_PHY_311_DATA 0x00800080
>> +#define              DENALI_PHY_312_DATA 0x00800080
>> +#define              DENALI_PHY_313_DATA 0x00800080
>> +#define              DENALI_PHY_314_DATA 0x00800080
>> +#define              DENALI_PHY_315_DATA 0x000100da
>> +#define              DENALI_PHY_316_DATA 0x00000200
>> +#define              DENALI_PHY_317_DATA 0x00000000
>> +#define              DENALI_PHY_318_DATA 0x00000000
>> +#define              DENALI_PHY_319_DATA 0x00000002
>> +#define              DENALI_PHY_320_DATA 0x51313152
>> +#define              DENALI_PHY_321_DATA 0x80013130
>> +#define              DENALI_PHY_322_DATA 0x02000080
>> +#define              DENALI_PHY_323_DATA 0x00100001
>> +#define              DENALI_PHY_324_DATA 0x0c064208
>> +#define              DENALI_PHY_325_DATA 0x000f0c0f
>> +#define              DENALI_PHY_326_DATA 0x01000140
>> +#define              DENALI_PHY_327_DATA 0x0000000c
>> +#define              DENALI_PHY_328_DATA 0x00000000
>> +#define              DENALI_PHY_329_DATA 0x00000000
>> +#define              DENALI_PHY_330_DATA 0x00000000
>> +#define              DENALI_PHY_331_DATA 0x00000000
>> +#define              DENALI_PHY_332_DATA 0x00000000
>> +#define              DENALI_PHY_333_DATA 0x00000000
>> +#define              DENALI_PHY_334_DATA 0x00000000
>> +#define              DENALI_PHY_335_DATA 0x00000000
>> +#define              DENALI_PHY_336_DATA 0x00000000
>> +#define              DENALI_PHY_337_DATA 0x00000000
>> +#define              DENALI_PHY_338_DATA 0x00000000
>> +#define              DENALI_PHY_339_DATA 0x00000000
>> +#define              DENALI_PHY_340_DATA 0x00000000
>> +#define              DENALI_PHY_341_DATA 0x00000000
>> +#define              DENALI_PHY_342_DATA 0x00000000
>> +#define              DENALI_PHY_343_DATA 0x00000000
>> +#define              DENALI_PHY_344_DATA 0x00000000
>> +#define              DENALI_PHY_345_DATA 0x00000000
>> +#define              DENALI_PHY_346_DATA 0x00000000
>> +#define              DENALI_PHY_347_DATA 0x00000000
>> +#define              DENALI_PHY_348_DATA 0x00000000
>> +#define              DENALI_PHY_349_DATA 0x00000000
>> +#define              DENALI_PHY_350_DATA 0x00000000
>> +#define              DENALI_PHY_351_DATA 0x00000000
>> +#define              DENALI_PHY_352_DATA 0x00000000
>> +#define              DENALI_PHY_353_DATA 0x00000000
>> +#define              DENALI_PHY_354_DATA 0x00000000
>> +#define              DENALI_PHY_355_DATA 0x00000000
>> +#define              DENALI_PHY_356_DATA 0x00000000
>> +#define              DENALI_PHY_357_DATA 0x00000000
>> +#define              DENALI_PHY_358_DATA 0x00000000
>> +#define              DENALI_PHY_359_DATA 0x00000000
>> +#define              DENALI_PHY_360_DATA 0x00000000
>> +#define              DENALI_PHY_361_DATA 0x00000000
>> +#define              DENALI_PHY_362_DATA 0x00000000
>> +#define              DENALI_PHY_363_DATA 0x00000000
>> +#define              DENALI_PHY_364_DATA 0x00000000
>> +#define              DENALI_PHY_365_DATA 0x00000000
>> +#define              DENALI_PHY_366_DATA 0x00000000
>> +#define              DENALI_PHY_367_DATA 0x00000000
>> +#define              DENALI_PHY_368_DATA 0x00000000
>> +#define              DENALI_PHY_369_DATA 0x00000000
>> +#define              DENALI_PHY_370_DATA 0x00000000
>> +#define              DENALI_PHY_371_DATA 0x00000000
>> +#define              DENALI_PHY_372_DATA 0x00000000
>> +#define              DENALI_PHY_373_DATA 0x00000000
>> +#define              DENALI_PHY_374_DATA 0x00000000
>> +#define              DENALI_PHY_375_DATA 0x00000000
>> +#define              DENALI_PHY_376_DATA 0x00000000
>> +#define              DENALI_PHY_377_DATA 0x00000000
>> +#define              DENALI_PHY_378_DATA 0x00000000
>> +#define              DENALI_PHY_379_DATA 0x00000000
>> +#define              DENALI_PHY_380_DATA 0x00000000
>> +#define              DENALI_PHY_381_DATA 0x00000000
>> +#define              DENALI_PHY_382_DATA 0x00000000
>> +#define              DENALI_PHY_383_DATA 0x00000000
>> +#define              DENALI_PHY_384_DATA 0x37654120
>> +#define              DENALI_PHY_385_DATA 0x0004c008
>> +#define              DENALI_PHY_386_DATA 0x000000da
>> +#define              DENALI_PHY_387_DATA 0x00000000
>> +#define              DENALI_PHY_388_DATA 0x00000000
>> +#define              DENALI_PHY_389_DATA 0x00010000
>> +#define              DENALI_PHY_390_DATA 0x01DDDD90
>> +#define              DENALI_PHY_391_DATA 0x01DDDD90
>> +#define              DENALI_PHY_392_DATA 0x01030000
>> +#define              DENALI_PHY_393_DATA 0x01000000
>> +#define              DENALI_PHY_394_DATA 0x00c00000
>> +#define              DENALI_PHY_395_DATA 0x00000007
>> +#define              DENALI_PHY_396_DATA 0x00000000
>> +#define              DENALI_PHY_397_DATA 0x00000000
>> +#define              DENALI_PHY_398_DATA 0x04000408
>> +#define              DENALI_PHY_399_DATA 0x00000408
>> +#define              DENALI_PHY_400_DATA 0x00e4e400
>> +#define              DENALI_PHY_401_DATA 0x00000000
>> +#define              DENALI_PHY_402_DATA 0x00000000
>> +#define              DENALI_PHY_403_DATA 0x00000000
>> +#define              DENALI_PHY_404_DATA 0x00000000
>> +#define              DENALI_PHY_405_DATA 0x00000000
>> +#define              DENALI_PHY_406_DATA 0x00000000
>> +#define              DENALI_PHY_407_DATA 0x00000000
>> +#define              DENALI_PHY_408_DATA 0x00000000
>> +#define              DENALI_PHY_409_DATA 0x00000000
>> +#define              DENALI_PHY_410_DATA 0x00000000
>> +#define              DENALI_PHY_411_DATA 0x00000000
>> +#define              DENALI_PHY_412_DATA 0x00000000
>> +#define              DENALI_PHY_413_DATA 0x00000000
>> +#define              DENALI_PHY_414_DATA 0x00000000
>> +#define              DENALI_PHY_415_DATA 0x00000000
>> +#define              DENALI_PHY_416_DATA 0x00000000
>> +#define              DENALI_PHY_417_DATA 0x00200000
>> +#define              DENALI_PHY_418_DATA 0x00000000
>> +#define              DENALI_PHY_419_DATA 0x00000000
>> +#define              DENALI_PHY_420_DATA 0x00000000
>> +#define              DENALI_PHY_421_DATA 0x00000000
>> +#define              DENALI_PHY_422_DATA 0x00000000
>> +#define              DENALI_PHY_423_DATA 0x00000000
>> +#define              DENALI_PHY_424_DATA 0x02800280
>> +#define              DENALI_PHY_425_DATA 0x02800280
>> +#define              DENALI_PHY_426_DATA 0x02800280
>> +#define              DENALI_PHY_427_DATA 0x02800280
>> +#define              DENALI_PHY_428_DATA 0x00000280
>> +#define              DENALI_PHY_429_DATA 0x00000000
>> +#define              DENALI_PHY_430_DATA 0x00000000
>> +#define              DENALI_PHY_431_DATA 0x00000000
>> +#define              DENALI_PHY_432_DATA 0x00000000
>> +#define              DENALI_PHY_433_DATA 0x00000000
>> +#define              DENALI_PHY_434_DATA 0x00800080
>> +#define              DENALI_PHY_435_DATA 0x00800080
>> +#define              DENALI_PHY_436_DATA 0x00800080
>> +#define              DENALI_PHY_437_DATA 0x00800080
>> +#define              DENALI_PHY_438_DATA 0x00800080
>> +#define              DENALI_PHY_439_DATA 0x00800080
>> +#define              DENALI_PHY_440_DATA 0x00800080
>> +#define              DENALI_PHY_441_DATA 0x00800080
>> +#define              DENALI_PHY_442_DATA 0x00800080
>> +#define              DENALI_PHY_443_DATA 0x000100da
>> +#define              DENALI_PHY_444_DATA 0x00000200
>> +#define              DENALI_PHY_445_DATA 0x00000000
>> +#define              DENALI_PHY_446_DATA 0x00000000
>> +#define              DENALI_PHY_447_DATA 0x00000002
>> +#define              DENALI_PHY_448_DATA 0x51313152
>> +#define              DENALI_PHY_449_DATA 0x80013130
>> +#define              DENALI_PHY_450_DATA 0x02000080
>> +#define              DENALI_PHY_451_DATA 0x00100001
>> +#define              DENALI_PHY_452_DATA 0x0c064208
>> +#define              DENALI_PHY_453_DATA 0x000f0c0f
>> +#define              DENALI_PHY_454_DATA 0x01000140
>> +#define              DENALI_PHY_455_DATA 0x0000000c
>> +#define              DENALI_PHY_456_DATA 0x00000000
>> +#define              DENALI_PHY_457_DATA 0x00000000
>> +#define              DENALI_PHY_458_DATA 0x00000000
>> +#define              DENALI_PHY_459_DATA 0x00000000
>> +#define              DENALI_PHY_460_DATA 0x00000000
>> +#define              DENALI_PHY_461_DATA 0x00000000
>> +#define              DENALI_PHY_462_DATA 0x00000000
>> +#define              DENALI_PHY_463_DATA 0x00000000
>> +#define              DENALI_PHY_464_DATA 0x00000000
>> +#define              DENALI_PHY_465_DATA 0x00000000
>> +#define              DENALI_PHY_466_DATA 0x00000000
>> +#define              DENALI_PHY_467_DATA 0x00000000
>> +#define              DENALI_PHY_468_DATA 0x00000000
>> +#define              DENALI_PHY_469_DATA 0x00000000
>> +#define              DENALI_PHY_470_DATA 0x00000000
>> +#define              DENALI_PHY_471_DATA 0x00000000
>> +#define              DENALI_PHY_472_DATA 0x00000000
>> +#define              DENALI_PHY_473_DATA 0x00000000
>> +#define              DENALI_PHY_474_DATA 0x00000000
>> +#define              DENALI_PHY_475_DATA 0x00000000
>> +#define              DENALI_PHY_476_DATA 0x00000000
>> +#define              DENALI_PHY_477_DATA 0x00000000
>> +#define              DENALI_PHY_478_DATA 0x00000000
>> +#define              DENALI_PHY_479_DATA 0x00000000
>> +#define              DENALI_PHY_480_DATA 0x00000000
>> +#define              DENALI_PHY_481_DATA 0x00000000
>> +#define              DENALI_PHY_482_DATA 0x00000000
>> +#define              DENALI_PHY_483_DATA 0x00000000
>> +#define              DENALI_PHY_484_DATA 0x00000000
>> +#define              DENALI_PHY_485_DATA 0x00000000
>> +#define              DENALI_PHY_486_DATA 0x00000000
>> +#define              DENALI_PHY_487_DATA 0x00000000
>> +#define              DENALI_PHY_488_DATA 0x00000000
>> +#define              DENALI_PHY_489_DATA 0x00000000
>> +#define              DENALI_PHY_490_DATA 0x00000000
>> +#define              DENALI_PHY_491_DATA 0x00000000
>> +#define              DENALI_PHY_492_DATA 0x00000000
>> +#define              DENALI_PHY_493_DATA 0x00000000
>> +#define              DENALI_PHY_494_DATA 0x00000000
>> +#define              DENALI_PHY_495_DATA 0x00000000
>> +#define              DENALI_PHY_496_DATA 0x00000000
>> +#define              DENALI_PHY_497_DATA 0x00000000
>> +#define              DENALI_PHY_498_DATA 0x00000000
>> +#define              DENALI_PHY_499_DATA 0x00000000
>> +#define              DENALI_PHY_500_DATA 0x00000000
>> +#define              DENALI_PHY_501_DATA 0x00000000
>> +#define              DENALI_PHY_502_DATA 0x00000000
>> +#define              DENALI_PHY_503_DATA 0x00000000
>> +#define              DENALI_PHY_504_DATA 0x00000000
>> +#define              DENALI_PHY_505_DATA 0x00000000
>> +#define              DENALI_PHY_506_DATA 0x00000000
>> +#define              DENALI_PHY_507_DATA 0x00000000
>> +#define              DENALI_PHY_508_DATA 0x00000000
>> +#define              DENALI_PHY_509_DATA 0x00000000
>> +#define              DENALI_PHY_510_DATA 0x00000000
>> +#define              DENALI_PHY_511_DATA 0x00000000
>> +#define              DENALI_PHY_512_DATA 0x24316750
>> +#define              DENALI_PHY_513_DATA 0x0004c008
>> +#define              DENALI_PHY_514_DATA 0x000000da
>> +#define              DENALI_PHY_515_DATA 0x00000000
>> +#define              DENALI_PHY_516_DATA 0x00000000
>> +#define              DENALI_PHY_517_DATA 0x00010000
>> +#define              DENALI_PHY_518_DATA 0x01DDDD90
>> +#define              DENALI_PHY_519_DATA 0x01DDDD90
>> +#define              DENALI_PHY_520_DATA 0x01030000
>> +#define              DENALI_PHY_521_DATA 0x01000000
>> +#define              DENALI_PHY_522_DATA 0x00c00000
>> +#define              DENALI_PHY_523_DATA 0x00000007
>> +#define              DENALI_PHY_524_DATA 0x00000000
>> +#define              DENALI_PHY_525_DATA 0x00000000
>> +#define              DENALI_PHY_526_DATA 0x04000408
>> +#define              DENALI_PHY_527_DATA 0x00000408
>> +#define              DENALI_PHY_528_DATA 0x00e4e400
>> +#define              DENALI_PHY_529_DATA 0x00000000
>> +#define              DENALI_PHY_530_DATA 0x00000000
>> +#define              DENALI_PHY_531_DATA 0x00000000
>> +#define              DENALI_PHY_532_DATA 0x00000000
>> +#define              DENALI_PHY_533_DATA 0x00000000
>> +#define              DENALI_PHY_534_DATA 0x00000000
>> +#define              DENALI_PHY_535_DATA 0x00000000
>> +#define              DENALI_PHY_536_DATA 0x00000000
>> +#define              DENALI_PHY_537_DATA 0x00000000
>> +#define              DENALI_PHY_538_DATA 0x00000000
>> +#define              DENALI_PHY_539_DATA 0x00000000
>> +#define              DENALI_PHY_540_DATA 0x00000000
>> +#define              DENALI_PHY_541_DATA 0x00000000
>> +#define              DENALI_PHY_542_DATA 0x00000000
>> +#define              DENALI_PHY_543_DATA 0x00000000
>> +#define              DENALI_PHY_544_DATA 0x00000000
>> +#define              DENALI_PHY_545_DATA 0x00200000
>> +#define              DENALI_PHY_546_DATA 0x00000000
>> +#define              DENALI_PHY_547_DATA 0x00000000
>> +#define              DENALI_PHY_548_DATA 0x00000000
>> +#define              DENALI_PHY_549_DATA 0x00000000
>> +#define              DENALI_PHY_550_DATA 0x00000000
>> +#define              DENALI_PHY_551_DATA 0x00000000
>> +#define              DENALI_PHY_552_DATA 0x02800280
>> +#define              DENALI_PHY_553_DATA 0x02800280
>> +#define              DENALI_PHY_554_DATA 0x02800280
>> +#define              DENALI_PHY_555_DATA 0x02800280
>> +#define              DENALI_PHY_556_DATA 0x00000280
>> +#define              DENALI_PHY_557_DATA 0x00000000
>> +#define              DENALI_PHY_558_DATA 0x00000000
>> +#define              DENALI_PHY_559_DATA 0x00000000
>> +#define              DENALI_PHY_560_DATA 0x00000000
>> +#define              DENALI_PHY_561_DATA 0x00000000
>> +#define              DENALI_PHY_562_DATA 0x00800080
>> +#define              DENALI_PHY_563_DATA 0x00800080
>> +#define              DENALI_PHY_564_DATA 0x00800080
>> +#define              DENALI_PHY_565_DATA 0x00800080
>> +#define              DENALI_PHY_566_DATA 0x00800080
>> +#define              DENALI_PHY_567_DATA 0x00800080
>> +#define              DENALI_PHY_568_DATA 0x00800080
>> +#define              DENALI_PHY_569_DATA 0x00800080
>> +#define              DENALI_PHY_570_DATA 0x00800080
>> +#define              DENALI_PHY_571_DATA 0x000100da
>> +#define              DENALI_PHY_572_DATA 0x00000200
>> +#define              DENALI_PHY_573_DATA 0x00000000
>> +#define              DENALI_PHY_574_DATA 0x00000000
>> +#define              DENALI_PHY_575_DATA 0x00000002
>> +#define              DENALI_PHY_576_DATA 0x51313152
>> +#define              DENALI_PHY_577_DATA 0x80013130
>> +#define              DENALI_PHY_578_DATA 0x02000080
>> +#define              DENALI_PHY_579_DATA 0x00100001
>> +#define              DENALI_PHY_580_DATA 0x0c064208
>> +#define              DENALI_PHY_581_DATA 0x000f0c0f
>> +#define              DENALI_PHY_582_DATA 0x01000140
>> +#define              DENALI_PHY_583_DATA 0x0000000c
>> +#define              DENALI_PHY_584_DATA 0x00000000
>> +#define              DENALI_PHY_585_DATA 0x00000000
>> +#define              DENALI_PHY_586_DATA 0x00000000
>> +#define              DENALI_PHY_587_DATA 0x00000000
>> +#define              DENALI_PHY_588_DATA 0x00000000
>> +#define              DENALI_PHY_589_DATA 0x00000000
>> +#define              DENALI_PHY_590_DATA 0x00000000
>> +#define              DENALI_PHY_591_DATA 0x00000000
>> +#define              DENALI_PHY_592_DATA 0x00000000
>> +#define              DENALI_PHY_593_DATA 0x00000000
>> +#define              DENALI_PHY_594_DATA 0x00000000
>> +#define              DENALI_PHY_595_DATA 0x00000000
>> +#define              DENALI_PHY_596_DATA 0x00000000
>> +#define              DENALI_PHY_597_DATA 0x00000000
>> +#define              DENALI_PHY_598_DATA 0x00000000
>> +#define              DENALI_PHY_599_DATA 0x00000000
>> +#define              DENALI_PHY_600_DATA 0x00000000
>> +#define              DENALI_PHY_601_DATA 0x00000000
>> +#define              DENALI_PHY_602_DATA 0x00000000
>> +#define              DENALI_PHY_603_DATA 0x00000000
>> +#define              DENALI_PHY_604_DATA 0x00000000
>> +#define              DENALI_PHY_605_DATA 0x00000000
>> +#define              DENALI_PHY_606_DATA 0x00000000
>> +#define              DENALI_PHY_607_DATA 0x00000000
>> +#define              DENALI_PHY_608_DATA 0x00000000
>> +#define              DENALI_PHY_609_DATA 0x00000000
>> +#define              DENALI_PHY_610_DATA 0x00000000
>> +#define              DENALI_PHY_611_DATA 0x00000000
>> +#define              DENALI_PHY_612_DATA 0x00000000
>> +#define              DENALI_PHY_613_DATA 0x00000000
>> +#define              DENALI_PHY_614_DATA 0x00000000
>> +#define              DENALI_PHY_615_DATA 0x00000000
>> +#define              DENALI_PHY_616_DATA 0x00000000
>> +#define              DENALI_PHY_617_DATA 0x00000000
>> +#define              DENALI_PHY_618_DATA 0x00000000
>> +#define              DENALI_PHY_619_DATA 0x00000000
>> +#define              DENALI_PHY_620_DATA 0x00000000
>> +#define              DENALI_PHY_621_DATA 0x00000000
>> +#define              DENALI_PHY_622_DATA 0x00000000
>> +#define              DENALI_PHY_623_DATA 0x00000000
>> +#define              DENALI_PHY_624_DATA 0x00000000
>> +#define              DENALI_PHY_625_DATA 0x00000000
>> +#define              DENALI_PHY_626_DATA 0x00000000
>> +#define              DENALI_PHY_627_DATA 0x00000000
>> +#define              DENALI_PHY_628_DATA 0x00000000
>> +#define              DENALI_PHY_629_DATA 0x00000000
>> +#define              DENALI_PHY_630_DATA 0x00000000
>> +#define              DENALI_PHY_631_DATA 0x00000000
>> +#define              DENALI_PHY_632_DATA 0x00000000
>> +#define              DENALI_PHY_633_DATA 0x00000000
>> +#define              DENALI_PHY_634_DATA 0x00000000
>> +#define              DENALI_PHY_635_DATA 0x00000000
>> +#define              DENALI_PHY_636_DATA 0x00000000
>> +#define              DENALI_PHY_637_DATA 0x00000000
>> +#define              DENALI_PHY_638_DATA 0x00000000
>> +#define              DENALI_PHY_639_DATA 0x00000000
>> +#define              DENALI_PHY_640_DATA 0x35174620
>> +#define              DENALI_PHY_641_DATA 0x0004c008
>> +#define              DENALI_PHY_642_DATA 0x000000da
>> +#define              DENALI_PHY_643_DATA 0x00000000
>> +#define              DENALI_PHY_644_DATA 0x00000000
>> +#define              DENALI_PHY_645_DATA 0x00010000
>> +#define              DENALI_PHY_646_DATA 0x01DDDD90
>> +#define              DENALI_PHY_647_DATA 0x01DDDD90
>> +#define              DENALI_PHY_648_DATA 0x01030000
>> +#define              DENALI_PHY_649_DATA 0x01000000
>> +#define              DENALI_PHY_650_DATA 0x00c00000
>> +#define              DENALI_PHY_651_DATA 0x00000007
>> +#define              DENALI_PHY_652_DATA 0x00000000
>> +#define              DENALI_PHY_653_DATA 0x00000000
>> +#define              DENALI_PHY_654_DATA 0x04000408
>> +#define              DENALI_PHY_655_DATA 0x00000408
>> +#define              DENALI_PHY_656_DATA 0x00e4e400
>> +#define              DENALI_PHY_657_DATA 0x00000000
>> +#define              DENALI_PHY_658_DATA 0x00000000
>> +#define              DENALI_PHY_659_DATA 0x00000000
>> +#define              DENALI_PHY_660_DATA 0x00000000
>> +#define              DENALI_PHY_661_DATA 0x00000000
>> +#define              DENALI_PHY_662_DATA 0x00000000
>> +#define              DENALI_PHY_663_DATA 0x00000000
>> +#define              DENALI_PHY_664_DATA 0x00000000
>> +#define              DENALI_PHY_665_DATA 0x00000000
>> +#define              DENALI_PHY_666_DATA 0x00000000
>> +#define              DENALI_PHY_667_DATA 0x00000000
>> +#define              DENALI_PHY_668_DATA 0x00000000
>> +#define              DENALI_PHY_669_DATA 0x00000000
>> +#define              DENALI_PHY_670_DATA 0x00000000
>> +#define              DENALI_PHY_671_DATA 0x00000000
>> +#define              DENALI_PHY_672_DATA 0x00000000
>> +#define              DENALI_PHY_673_DATA 0x00200000
>> +#define              DENALI_PHY_674_DATA 0x00000000
>> +#define              DENALI_PHY_675_DATA 0x00000000
>> +#define              DENALI_PHY_676_DATA 0x00000000
>> +#define              DENALI_PHY_677_DATA 0x00000000
>> +#define              DENALI_PHY_678_DATA 0x00000000
>> +#define              DENALI_PHY_679_DATA 0x00000000
>> +#define              DENALI_PHY_680_DATA 0x02800280
>> +#define              DENALI_PHY_681_DATA 0x02800280
>> +#define              DENALI_PHY_682_DATA 0x02800280
>> +#define              DENALI_PHY_683_DATA 0x02800280
>> +#define              DENALI_PHY_684_DATA 0x00000280
>> +#define              DENALI_PHY_685_DATA 0x00000000
>> +#define              DENALI_PHY_686_DATA 0x00000000
>> +#define              DENALI_PHY_687_DATA 0x00000000
>> +#define              DENALI_PHY_688_DATA 0x00000000
>> +#define              DENALI_PHY_689_DATA 0x00000000
>> +#define              DENALI_PHY_690_DATA 0x00800080
>> +#define              DENALI_PHY_691_DATA 0x00800080
>> +#define              DENALI_PHY_692_DATA 0x00800080
>> +#define              DENALI_PHY_693_DATA 0x00800080
>> +#define              DENALI_PHY_694_DATA 0x00800080
>> +#define              DENALI_PHY_695_DATA 0x00800080
>> +#define              DENALI_PHY_696_DATA 0x00800080
>> +#define              DENALI_PHY_697_DATA 0x00800080
>> +#define              DENALI_PHY_698_DATA 0x00800080
>> +#define              DENALI_PHY_699_DATA 0x000100da
>> +#define              DENALI_PHY_700_DATA 0x00000200
>> +#define              DENALI_PHY_701_DATA 0x00000000
>> +#define              DENALI_PHY_702_DATA 0x00000000
>> +#define              DENALI_PHY_703_DATA 0x00000002
>> +#define              DENALI_PHY_704_DATA 0x51313152
>> +#define              DENALI_PHY_705_DATA 0x80013130
>> +#define              DENALI_PHY_706_DATA 0x02000080
>> +#define              DENALI_PHY_707_DATA 0x00100001
>> +#define              DENALI_PHY_708_DATA 0x0c064208
>> +#define              DENALI_PHY_709_DATA 0x000f0c0f
>> +#define              DENALI_PHY_710_DATA 0x01000140
>> +#define              DENALI_PHY_711_DATA 0x0000000c
>> +#define              DENALI_PHY_712_DATA 0x00000000
>> +#define              DENALI_PHY_713_DATA 0x00000000
>> +#define              DENALI_PHY_714_DATA 0x00000000
>> +#define              DENALI_PHY_715_DATA 0x00000000
>> +#define              DENALI_PHY_716_DATA 0x00000000
>> +#define              DENALI_PHY_717_DATA 0x00000000
>> +#define              DENALI_PHY_718_DATA 0x00000000
>> +#define              DENALI_PHY_719_DATA 0x00000000
>> +#define              DENALI_PHY_720_DATA 0x00000000
>> +#define              DENALI_PHY_721_DATA 0x00000000
>> +#define              DENALI_PHY_722_DATA 0x00000000
>> +#define              DENALI_PHY_723_DATA 0x00000000
>> +#define              DENALI_PHY_724_DATA 0x00000000
>> +#define              DENALI_PHY_725_DATA 0x00000000
>> +#define              DENALI_PHY_726_DATA 0x00000000
>> +#define              DENALI_PHY_727_DATA 0x00000000
>> +#define              DENALI_PHY_728_DATA 0x00000000
>> +#define              DENALI_PHY_729_DATA 0x00000000
>> +#define              DENALI_PHY_730_DATA 0x00000000
>> +#define              DENALI_PHY_731_DATA 0x00000000
>> +#define              DENALI_PHY_732_DATA 0x00000000
>> +#define              DENALI_PHY_733_DATA 0x00000000
>> +#define              DENALI_PHY_734_DATA 0x00000000
>> +#define              DENALI_PHY_735_DATA 0x00000000
>> +#define              DENALI_PHY_736_DATA 0x00000000
>> +#define              DENALI_PHY_737_DATA 0x00000000
>> +#define              DENALI_PHY_738_DATA 0x00000000
>> +#define              DENALI_PHY_739_DATA 0x00000000
>> +#define              DENALI_PHY_740_DATA 0x00000000
>> +#define              DENALI_PHY_741_DATA 0x00000000
>> +#define              DENALI_PHY_742_DATA 0x00000000
>> +#define              DENALI_PHY_743_DATA 0x00000000
>> +#define              DENALI_PHY_744_DATA 0x00000000
>> +#define              DENALI_PHY_745_DATA 0x00000000
>> +#define              DENALI_PHY_746_DATA 0x00000000
>> +#define              DENALI_PHY_747_DATA 0x00000000
>> +#define              DENALI_PHY_748_DATA 0x00000000
>> +#define              DENALI_PHY_749_DATA 0x00000000
>> +#define              DENALI_PHY_750_DATA 0x00000000
>> +#define              DENALI_PHY_751_DATA 0x00000000
>> +#define              DENALI_PHY_752_DATA 0x00000000
>> +#define              DENALI_PHY_753_DATA 0x00000000
>> +#define              DENALI_PHY_754_DATA 0x00000000
>> +#define              DENALI_PHY_755_DATA 0x00000000
>> +#define              DENALI_PHY_756_DATA 0x00000000
>> +#define              DENALI_PHY_757_DATA 0x00000000
>> +#define              DENALI_PHY_758_DATA 0x00000000
>> +#define              DENALI_PHY_759_DATA 0x00000000
>> +#define              DENALI_PHY_760_DATA 0x00000000
>> +#define              DENALI_PHY_761_DATA 0x00000000
>> +#define              DENALI_PHY_762_DATA 0x00000000
>> +#define              DENALI_PHY_763_DATA 0x00000000
>> +#define              DENALI_PHY_764_DATA 0x00000000
>> +#define              DENALI_PHY_765_DATA 0x00000000
>> +#define              DENALI_PHY_766_DATA 0x00000000
>> +#define              DENALI_PHY_767_DATA 0x00000000
>> +#define              DENALI_PHY_768_DATA 0x15203476
>> +#define              DENALI_PHY_769_DATA 0x0004c008
>> +#define              DENALI_PHY_770_DATA 0x000000da
>> +#define              DENALI_PHY_771_DATA 0x00000000
>> +#define              DENALI_PHY_772_DATA 0x00000000
>> +#define              DENALI_PHY_773_DATA 0x00010000
>> +#define              DENALI_PHY_774_DATA 0x01DDDD90
>> +#define              DENALI_PHY_775_DATA 0x01DDDD90
>> +#define              DENALI_PHY_776_DATA 0x01030000
>> +#define              DENALI_PHY_777_DATA 0x01000000
>> +#define              DENALI_PHY_778_DATA 0x00c00000
>> +#define              DENALI_PHY_779_DATA 0x00000007
>> +#define              DENALI_PHY_780_DATA 0x00000000
>> +#define              DENALI_PHY_781_DATA 0x00000000
>> +#define              DENALI_PHY_782_DATA 0x04000408
>> +#define              DENALI_PHY_783_DATA 0x00000408
>> +#define              DENALI_PHY_784_DATA 0x00e4e400
>> +#define              DENALI_PHY_785_DATA 0x00000000
>> +#define              DENALI_PHY_786_DATA 0x00000000
>> +#define              DENALI_PHY_787_DATA 0x00000000
>> +#define              DENALI_PHY_788_DATA 0x00000000
>> +#define              DENALI_PHY_789_DATA 0x00000000
>> +#define              DENALI_PHY_790_DATA 0x00000000
>> +#define              DENALI_PHY_791_DATA 0x00000000
>> +#define              DENALI_PHY_792_DATA 0x00000000
>> +#define              DENALI_PHY_793_DATA 0x00000000
>> +#define              DENALI_PHY_794_DATA 0x00000000
>> +#define              DENALI_PHY_795_DATA 0x00000000
>> +#define              DENALI_PHY_796_DATA 0x00000000
>> +#define              DENALI_PHY_797_DATA 0x00000000
>> +#define              DENALI_PHY_798_DATA 0x00000000
>> +#define              DENALI_PHY_799_DATA 0x00000000
>> +#define              DENALI_PHY_800_DATA 0x00000000
>> +#define              DENALI_PHY_801_DATA 0x00200000
>> +#define              DENALI_PHY_802_DATA 0x00000000
>> +#define              DENALI_PHY_803_DATA 0x00000000
>> +#define              DENALI_PHY_804_DATA 0x00000000
>> +#define              DENALI_PHY_805_DATA 0x00000000
>> +#define              DENALI_PHY_806_DATA 0x00000000
>> +#define              DENALI_PHY_807_DATA 0x00000000
>> +#define              DENALI_PHY_808_DATA 0x02800280
>> +#define              DENALI_PHY_809_DATA 0x02800280
>> +#define              DENALI_PHY_810_DATA 0x02800280
>> +#define              DENALI_PHY_811_DATA 0x02800280
>> +#define              DENALI_PHY_812_DATA 0x00000280
>> +#define              DENALI_PHY_813_DATA 0x00000000
>> +#define              DENALI_PHY_814_DATA 0x00000000
>> +#define              DENALI_PHY_815_DATA 0x00000000
>> +#define              DENALI_PHY_816_DATA 0x00000000
>> +#define              DENALI_PHY_817_DATA 0x00000000
>> +#define              DENALI_PHY_818_DATA 0x00800080
>> +#define              DENALI_PHY_819_DATA 0x00800080
>> +#define              DENALI_PHY_820_DATA 0x00800080
>> +#define              DENALI_PHY_821_DATA 0x00800080
>> +#define              DENALI_PHY_822_DATA 0x00800080
>> +#define              DENALI_PHY_823_DATA 0x00800080
>> +#define              DENALI_PHY_824_DATA 0x00800080
>> +#define              DENALI_PHY_825_DATA 0x00800080
>> +#define              DENALI_PHY_826_DATA 0x00800080
>> +#define              DENALI_PHY_827_DATA 0x000100da
>> +#define              DENALI_PHY_828_DATA 0x00000200
>> +#define              DENALI_PHY_829_DATA 0x00000000
>> +#define              DENALI_PHY_830_DATA 0x00000000
>> +#define              DENALI_PHY_831_DATA 0x00000002
>> +#define              DENALI_PHY_832_DATA 0x51313152
>> +#define              DENALI_PHY_833_DATA 0x80013130
>> +#define              DENALI_PHY_834_DATA 0x02000080
>> +#define              DENALI_PHY_835_DATA 0x00100001
>> +#define              DENALI_PHY_836_DATA 0x0c064208
>> +#define              DENALI_PHY_837_DATA 0x000f0c0f
>> +#define              DENALI_PHY_838_DATA 0x01000140
>> +#define              DENALI_PHY_839_DATA 0x0000000c
>> +#define              DENALI_PHY_840_DATA 0x00000000
>> +#define              DENALI_PHY_841_DATA 0x00000000
>> +#define              DENALI_PHY_842_DATA 0x00000000
>> +#define              DENALI_PHY_843_DATA 0x00000000
>> +#define              DENALI_PHY_844_DATA 0x00000000
>> +#define              DENALI_PHY_845_DATA 0x00000000
>> +#define              DENALI_PHY_846_DATA 0x00000000
>> +#define              DENALI_PHY_847_DATA 0x00000000
>> +#define              DENALI_PHY_848_DATA 0x00000000
>> +#define              DENALI_PHY_849_DATA 0x00000000
>> +#define              DENALI_PHY_850_DATA 0x00000000
>> +#define              DENALI_PHY_851_DATA 0x00000000
>> +#define              DENALI_PHY_852_DATA 0x00000000
>> +#define              DENALI_PHY_853_DATA 0x00000000
>> +#define              DENALI_PHY_854_DATA 0x00000000
>> +#define              DENALI_PHY_855_DATA 0x00000000
>> +#define              DENALI_PHY_856_DATA 0x00000000
>> +#define              DENALI_PHY_857_DATA 0x00000000
>> +#define              DENALI_PHY_858_DATA 0x00000000
>> +#define              DENALI_PHY_859_DATA 0x00000000
>> +#define              DENALI_PHY_860_DATA 0x00000000
>> +#define              DENALI_PHY_861_DATA 0x00000000
>> +#define              DENALI_PHY_862_DATA 0x00000000
>> +#define              DENALI_PHY_863_DATA 0x00000000
>> +#define              DENALI_PHY_864_DATA 0x00000000
>> +#define              DENALI_PHY_865_DATA 0x00000000
>> +#define              DENALI_PHY_866_DATA 0x00000000
>> +#define              DENALI_PHY_867_DATA 0x00000000
>> +#define              DENALI_PHY_868_DATA 0x00000000
>> +#define              DENALI_PHY_869_DATA 0x00000000
>> +#define              DENALI_PHY_870_DATA 0x00000000
>> +#define              DENALI_PHY_871_DATA 0x00000000
>> +#define              DENALI_PHY_872_DATA 0x00000000
>> +#define              DENALI_PHY_873_DATA 0x00000000
>> +#define              DENALI_PHY_874_DATA 0x00000000
>> +#define              DENALI_PHY_875_DATA 0x00000000
>> +#define              DENALI_PHY_876_DATA 0x00000000
>> +#define              DENALI_PHY_877_DATA 0x00000000
>> +#define              DENALI_PHY_878_DATA 0x00000000
>> +#define              DENALI_PHY_879_DATA 0x00000000
>> +#define              DENALI_PHY_880_DATA 0x00000000
>> +#define              DENALI_PHY_881_DATA 0x00000000
>> +#define              DENALI_PHY_882_DATA 0x00000000
>> +#define              DENALI_PHY_883_DATA 0x00000000
>> +#define              DENALI_PHY_884_DATA 0x00000000
>> +#define              DENALI_PHY_885_DATA 0x00000000
>> +#define              DENALI_PHY_886_DATA 0x00000000
>> +#define              DENALI_PHY_887_DATA 0x00000000
>> +#define              DENALI_PHY_888_DATA 0x00000000
>> +#define              DENALI_PHY_889_DATA 0x00000000
>> +#define              DENALI_PHY_890_DATA 0x00000000
>> +#define              DENALI_PHY_891_DATA 0x00000000
>> +#define              DENALI_PHY_892_DATA 0x00000000
>> +#define              DENALI_PHY_893_DATA 0x00000000
>> +#define              DENALI_PHY_894_DATA 0x00000000
>> +#define              DENALI_PHY_895_DATA 0x00000000
>> +#define              DENALI_PHY_896_DATA 0x41753206
>> +#define              DENALI_PHY_897_DATA 0x0004c008
>> +#define              DENALI_PHY_898_DATA 0x000000da
>> +#define              DENALI_PHY_899_DATA 0x00000000
>> +#define              DENALI_PHY_900_DATA 0x00000000
>> +#define              DENALI_PHY_901_DATA 0x00010000
>> +#define              DENALI_PHY_902_DATA 0x01DDDD90
>> +#define              DENALI_PHY_903_DATA 0x01DDDD90
>> +#define              DENALI_PHY_904_DATA 0x01030000
>> +#define              DENALI_PHY_905_DATA 0x01000000
>> +#define              DENALI_PHY_906_DATA 0x00c00000
>> +#define              DENALI_PHY_907_DATA 0x00000007
>> +#define              DENALI_PHY_908_DATA 0x00000000
>> +#define              DENALI_PHY_909_DATA 0x00000000
>> +#define              DENALI_PHY_910_DATA 0x04000408
>> +#define              DENALI_PHY_911_DATA 0x00000408
>> +#define              DENALI_PHY_912_DATA 0x00e4e400
>> +#define              DENALI_PHY_913_DATA 0x00000000
>> +#define              DENALI_PHY_914_DATA 0x00000000
>> +#define              DENALI_PHY_915_DATA 0x00000000
>> +#define              DENALI_PHY_916_DATA 0x00000000
>> +#define              DENALI_PHY_917_DATA 0x00000000
>> +#define              DENALI_PHY_918_DATA 0x00000000
>> +#define              DENALI_PHY_919_DATA 0x00000000
>> +#define              DENALI_PHY_920_DATA 0x00000000
>> +#define              DENALI_PHY_921_DATA 0x00000000
>> +#define              DENALI_PHY_922_DATA 0x00000000
>> +#define              DENALI_PHY_923_DATA 0x00000000
>> +#define              DENALI_PHY_924_DATA 0x00000000
>> +#define              DENALI_PHY_925_DATA 0x00000000
>> +#define              DENALI_PHY_926_DATA 0x00000000
>> +#define              DENALI_PHY_927_DATA 0x00000000
>> +#define              DENALI_PHY_928_DATA 0x00000000
>> +#define              DENALI_PHY_929_DATA 0x00200000
>> +#define              DENALI_PHY_930_DATA 0x00000000
>> +#define              DENALI_PHY_931_DATA 0x00000000
>> +#define              DENALI_PHY_932_DATA 0x00000000
>> +#define              DENALI_PHY_933_DATA 0x00000000
>> +#define              DENALI_PHY_934_DATA 0x00000000
>> +#define              DENALI_PHY_935_DATA 0x00000000
>> +#define              DENALI_PHY_936_DATA 0x02800280
>> +#define              DENALI_PHY_937_DATA 0x02800280
>> +#define              DENALI_PHY_938_DATA 0x02800280
>> +#define              DENALI_PHY_939_DATA 0x02800280
>> +#define              DENALI_PHY_940_DATA 0x00000280
>> +#define              DENALI_PHY_941_DATA 0x00000000
>> +#define              DENALI_PHY_942_DATA 0x00000000
>> +#define              DENALI_PHY_943_DATA 0x00000000
>> +#define              DENALI_PHY_944_DATA 0x00000000
>> +#define              DENALI_PHY_945_DATA 0x00000000
>> +#define              DENALI_PHY_946_DATA 0x00800080
>> +#define              DENALI_PHY_947_DATA 0x00800080
>> +#define              DENALI_PHY_948_DATA 0x00800080
>> +#define              DENALI_PHY_949_DATA 0x00800080
>> +#define              DENALI_PHY_950_DATA 0x00800080
>> +#define              DENALI_PHY_951_DATA 0x00800080
>> +#define              DENALI_PHY_952_DATA 0x00800080
>> +#define              DENALI_PHY_953_DATA 0x00800080
>> +#define              DENALI_PHY_954_DATA 0x00800080
>> +#define              DENALI_PHY_955_DATA 0x000100da
>> +#define              DENALI_PHY_956_DATA 0x00000200
>> +#define              DENALI_PHY_957_DATA 0x00000000
>> +#define              DENALI_PHY_958_DATA 0x00000000
>> +#define              DENALI_PHY_959_DATA 0x00000002
>> +#define              DENALI_PHY_960_DATA 0x51313152
>> +#define              DENALI_PHY_961_DATA 0x80013130
>> +#define              DENALI_PHY_962_DATA 0x02000080
>> +#define              DENALI_PHY_963_DATA 0x00100001
>> +#define              DENALI_PHY_964_DATA 0x0c064208
>> +#define              DENALI_PHY_965_DATA 0x000f0c0f
>> +#define              DENALI_PHY_966_DATA 0x01000140
>> +#define              DENALI_PHY_967_DATA 0x0000000c
>> +#define              DENALI_PHY_968_DATA 0x00000000
>> +#define              DENALI_PHY_969_DATA 0x00000000
>> +#define              DENALI_PHY_970_DATA 0x00000000
>> +#define              DENALI_PHY_971_DATA 0x00000000
>> +#define              DENALI_PHY_972_DATA 0x00000000
>> +#define              DENALI_PHY_973_DATA 0x00000000
>> +#define              DENALI_PHY_974_DATA 0x00000000
>> +#define              DENALI_PHY_975_DATA 0x00000000
>> +#define              DENALI_PHY_976_DATA 0x00000000
>> +#define              DENALI_PHY_977_DATA 0x00000000
>> +#define              DENALI_PHY_978_DATA 0x00000000
>> +#define              DENALI_PHY_979_DATA 0x00000000
>> +#define              DENALI_PHY_980_DATA 0x00000000
>> +#define              DENALI_PHY_981_DATA 0x00000000
>> +#define              DENALI_PHY_982_DATA 0x00000000
>> +#define              DENALI_PHY_983_DATA 0x00000000
>> +#define              DENALI_PHY_984_DATA 0x00000000
>> +#define              DENALI_PHY_985_DATA 0x00000000
>> +#define              DENALI_PHY_986_DATA 0x00000000
>> +#define              DENALI_PHY_987_DATA 0x00000000
>> +#define              DENALI_PHY_988_DATA 0x00000000
>> +#define              DENALI_PHY_989_DATA 0x00000000
>> +#define              DENALI_PHY_990_DATA 0x00000000
>> +#define              DENALI_PHY_991_DATA 0x00000000
>> +#define              DENALI_PHY_992_DATA 0x00000000
>> +#define              DENALI_PHY_993_DATA 0x00000000
>> +#define              DENALI_PHY_994_DATA 0x00000000
>> +#define              DENALI_PHY_995_DATA 0x00000000
>> +#define              DENALI_PHY_996_DATA 0x00000000
>> +#define              DENALI_PHY_997_DATA 0x00000000
>> +#define              DENALI_PHY_998_DATA 0x00000000
>> +#define              DENALI_PHY_999_DATA 0x00000000
>> +#define             DENALI_PHY_1000_DATA 0x00000000
>> +#define             DENALI_PHY_1001_DATA 0x00000000
>> +#define             DENALI_PHY_1002_DATA 0x00000000
>> +#define             DENALI_PHY_1003_DATA 0x00000000
>> +#define             DENALI_PHY_1004_DATA 0x00000000
>> +#define             DENALI_PHY_1005_DATA 0x00000000
>> +#define             DENALI_PHY_1006_DATA 0x00000000
>> +#define             DENALI_PHY_1007_DATA 0x00000000
>> +#define             DENALI_PHY_1008_DATA 0x00000000
>> +#define             DENALI_PHY_1009_DATA 0x00000000
>> +#define             DENALI_PHY_1010_DATA 0x00000000
>> +#define             DENALI_PHY_1011_DATA 0x00000000
>> +#define             DENALI_PHY_1012_DATA 0x00000000
>> +#define             DENALI_PHY_1013_DATA 0x00000000
>> +#define             DENALI_PHY_1014_DATA 0x00000000
>> +#define             DENALI_PHY_1015_DATA 0x00000000
>> +#define             DENALI_PHY_1016_DATA 0x00000000
>> +#define             DENALI_PHY_1017_DATA 0x00000000
>> +#define             DENALI_PHY_1018_DATA 0x00000000
>> +#define             DENALI_PHY_1019_DATA 0x00000000
>> +#define             DENALI_PHY_1020_DATA 0x00000000
>> +#define             DENALI_PHY_1021_DATA 0x00000000
>> +#define             DENALI_PHY_1022_DATA 0x00000000
>> +#define             DENALI_PHY_1023_DATA 0x00000000
>> +#define             DENALI_PHY_1024_DATA 0x36025174
>> +#define             DENALI_PHY_1025_DATA 0x0004c008
>> +#define             DENALI_PHY_1026_DATA 0x000000da
>> +#define             DENALI_PHY_1027_DATA 0x00000000
>> +#define             DENALI_PHY_1028_DATA 0x00000000
>> +#define             DENALI_PHY_1029_DATA 0x00010000
>> +#define             DENALI_PHY_1030_DATA 0x01DDDD90
>> +#define             DENALI_PHY_1031_DATA 0x01DDDD90
>> +#define             DENALI_PHY_1032_DATA 0x01030000
>> +#define             DENALI_PHY_1033_DATA 0x01000000
>> +#define             DENALI_PHY_1034_DATA 0x00c00000
>> +#define             DENALI_PHY_1035_DATA 0x00000007
>> +#define             DENALI_PHY_1036_DATA 0x00000000
>> +#define             DENALI_PHY_1037_DATA 0x00000000
>> +#define             DENALI_PHY_1038_DATA 0x04000408
>> +#define             DENALI_PHY_1039_DATA 0x00000408
>> +#define             DENALI_PHY_1040_DATA 0x00e4e400
>> +#define             DENALI_PHY_1041_DATA 0x00000000
>> +#define             DENALI_PHY_1042_DATA 0x00000000
>> +#define             DENALI_PHY_1043_DATA 0x00000000
>> +#define             DENALI_PHY_1044_DATA 0x00000000
>> +#define             DENALI_PHY_1045_DATA 0x00000000
>> +#define             DENALI_PHY_1046_DATA 0x00000000
>> +#define             DENALI_PHY_1047_DATA 0x00000000
>> +#define             DENALI_PHY_1048_DATA 0x00000000
>> +#define             DENALI_PHY_1049_DATA 0x00000000
>> +#define             DENALI_PHY_1050_DATA 0x00000000
>> +#define             DENALI_PHY_1051_DATA 0x00000000
>> +#define             DENALI_PHY_1052_DATA 0x00000000
>> +#define             DENALI_PHY_1053_DATA 0x00000000
>> +#define             DENALI_PHY_1054_DATA 0x00000000
>> +#define             DENALI_PHY_1055_DATA 0x00000000
>> +#define             DENALI_PHY_1056_DATA 0x00000000
>> +#define             DENALI_PHY_1057_DATA 0x00200000
>> +#define             DENALI_PHY_1058_DATA 0x00000000
>> +#define             DENALI_PHY_1059_DATA 0x00000000
>> +#define             DENALI_PHY_1060_DATA 0x00000000
>> +#define             DENALI_PHY_1061_DATA 0x00000000
>> +#define             DENALI_PHY_1062_DATA 0x00000000
>> +#define             DENALI_PHY_1063_DATA 0x00000000
>> +#define             DENALI_PHY_1064_DATA 0x02800280
>> +#define             DENALI_PHY_1065_DATA 0x02800280
>> +#define             DENALI_PHY_1066_DATA 0x02800280
>> +#define             DENALI_PHY_1067_DATA 0x02800280
>> +#define             DENALI_PHY_1068_DATA 0x00000280
>> +#define             DENALI_PHY_1069_DATA 0x00000000
>> +#define             DENALI_PHY_1070_DATA 0x00000000
>> +#define             DENALI_PHY_1071_DATA 0x00000000
>> +#define             DENALI_PHY_1072_DATA 0x00000000
>> +#define             DENALI_PHY_1073_DATA 0x00000000
>> +#define             DENALI_PHY_1074_DATA 0x00800080
>> +#define             DENALI_PHY_1075_DATA 0x00800080
>> +#define             DENALI_PHY_1076_DATA 0x00800080
>> +#define             DENALI_PHY_1077_DATA 0x00800080
>> +#define             DENALI_PHY_1078_DATA 0x00800080
>> +#define             DENALI_PHY_1079_DATA 0x00800080
>> +#define             DENALI_PHY_1080_DATA 0x00800080
>> +#define             DENALI_PHY_1081_DATA 0x00800080
>> +#define             DENALI_PHY_1082_DATA 0x00800080
>> +#define             DENALI_PHY_1083_DATA 0x000100da
>> +#define             DENALI_PHY_1084_DATA 0x00000200
>> +#define             DENALI_PHY_1085_DATA 0x00000000
>> +#define             DENALI_PHY_1086_DATA 0x00000000
>> +#define             DENALI_PHY_1087_DATA 0x00000002
>> +#define             DENALI_PHY_1088_DATA 0x51313152
>> +#define             DENALI_PHY_1089_DATA 0x80013130
>> +#define             DENALI_PHY_1090_DATA 0x02000080
>> +#define             DENALI_PHY_1091_DATA 0x00100001
>> +#define             DENALI_PHY_1092_DATA 0x0c064208
>> +#define             DENALI_PHY_1093_DATA 0x000f0c0f
>> +#define             DENALI_PHY_1094_DATA 0x01000140
>> +#define             DENALI_PHY_1095_DATA 0x0000000c
>> +#define             DENALI_PHY_1096_DATA 0x00000000
>> +#define             DENALI_PHY_1097_DATA 0x00000000
>> +#define             DENALI_PHY_1098_DATA 0x00000000
>> +#define             DENALI_PHY_1099_DATA 0x00000000
>> +#define             DENALI_PHY_1100_DATA 0x00000000
>> +#define             DENALI_PHY_1101_DATA 0x00000000
>> +#define             DENALI_PHY_1102_DATA 0x00000000
>> +#define             DENALI_PHY_1103_DATA 0x00000000
>> +#define             DENALI_PHY_1104_DATA 0x00000000
>> +#define             DENALI_PHY_1105_DATA 0x00000000
>> +#define             DENALI_PHY_1106_DATA 0x00000000
>> +#define             DENALI_PHY_1107_DATA 0x00000000
>> +#define             DENALI_PHY_1108_DATA 0x00000000
>> +#define             DENALI_PHY_1109_DATA 0x00000000
>> +#define             DENALI_PHY_1110_DATA 0x00000000
>> +#define             DENALI_PHY_1111_DATA 0x00000000
>> +#define             DENALI_PHY_1112_DATA 0x00000000
>> +#define             DENALI_PHY_1113_DATA 0x00000000
>> +#define             DENALI_PHY_1114_DATA 0x00000000
>> +#define             DENALI_PHY_1115_DATA 0x00000000
>> +#define             DENALI_PHY_1116_DATA 0x00000000
>> +#define             DENALI_PHY_1117_DATA 0x00000000
>> +#define             DENALI_PHY_1118_DATA 0x00000000
>> +#define             DENALI_PHY_1119_DATA 0x00000000
>> +#define             DENALI_PHY_1120_DATA 0x00000000
>> +#define             DENALI_PHY_1121_DATA 0x00000000
>> +#define             DENALI_PHY_1122_DATA 0x00000000
>> +#define             DENALI_PHY_1123_DATA 0x00000000
>> +#define             DENALI_PHY_1124_DATA 0x00000000
>> +#define             DENALI_PHY_1125_DATA 0x00000000
>> +#define             DENALI_PHY_1126_DATA 0x00000000
>> +#define             DENALI_PHY_1127_DATA 0x00000000
>> +#define             DENALI_PHY_1128_DATA 0x00000000
>> +#define             DENALI_PHY_1129_DATA 0x00000000
>> +#define             DENALI_PHY_1130_DATA 0x00000000
>> +#define             DENALI_PHY_1131_DATA 0x00000000
>> +#define             DENALI_PHY_1132_DATA 0x00000000
>> +#define             DENALI_PHY_1133_DATA 0x00000000
>> +#define             DENALI_PHY_1134_DATA 0x00000000
>> +#define             DENALI_PHY_1135_DATA 0x00000000
>> +#define             DENALI_PHY_1136_DATA 0x00000000
>> +#define             DENALI_PHY_1137_DATA 0x00000000
>> +#define             DENALI_PHY_1138_DATA 0x00000000
>> +#define             DENALI_PHY_1139_DATA 0x00000000
>> +#define             DENALI_PHY_1140_DATA 0x00000000
>> +#define             DENALI_PHY_1141_DATA 0x00000000
>> +#define             DENALI_PHY_1142_DATA 0x00000000
>> +#define             DENALI_PHY_1143_DATA 0x00000000
>> +#define             DENALI_PHY_1144_DATA 0x00000000
>> +#define             DENALI_PHY_1145_DATA 0x00000000
>> +#define             DENALI_PHY_1146_DATA 0x00000000
>> +#define             DENALI_PHY_1147_DATA 0x00000000
>> +#define             DENALI_PHY_1148_DATA 0x00000000
>> +#define             DENALI_PHY_1149_DATA 0x00000000
>> +#define             DENALI_PHY_1150_DATA 0x00000000
>> +#define             DENALI_PHY_1151_DATA 0x00000000
>> +#define             DENALI_PHY_1152_DATA 0x00000000
>> +#define             DENALI_PHY_1153_DATA 0x00000000
>> +#define             DENALI_PHY_1154_DATA 0x00050000
>> +#define             DENALI_PHY_1155_DATA 0x00000000
>> +#define             DENALI_PHY_1156_DATA 0x00000000
>> +#define             DENALI_PHY_1157_DATA 0x00000000
>> +#define             DENALI_PHY_1158_DATA 0x00000100
>> +#define             DENALI_PHY_1159_DATA 0x00000000
>> +#define             DENALI_PHY_1160_DATA 0x00000000
>> +#define             DENALI_PHY_1161_DATA 0x00506401
>> +#define             DENALI_PHY_1162_DATA 0x01221102
>> +#define             DENALI_PHY_1163_DATA 0x00000122
>> +#define             DENALI_PHY_1164_DATA 0x00000000
>> +#define             DENALI_PHY_1165_DATA 0x000B1F00
>> +#define             DENALI_PHY_1166_DATA 0x0B1F0B1F
>> +#define             DENALI_PHY_1167_DATA 0x0B1F0B1B
>> +#define             DENALI_PHY_1168_DATA 0x0B1F0B1F
>> +#define             DENALI_PHY_1169_DATA 0x0B1F0B1F
>> +#define             DENALI_PHY_1170_DATA 0x00000B00
>> +#define             DENALI_PHY_1171_DATA 0x42080010
>> +#define             DENALI_PHY_1172_DATA 0x01000100
>> +#define             DENALI_PHY_1173_DATA 0x01000100
>> +#define             DENALI_PHY_1174_DATA 0x01000100
>> +#define             DENALI_PHY_1175_DATA 0x01000100
>> +#define             DENALI_PHY_1176_DATA 0x00000000
>> +#define             DENALI_PHY_1177_DATA 0x00000000
>> +#define             DENALI_PHY_1178_DATA 0x00000000
>> +#define             DENALI_PHY_1179_DATA 0x00000000
>> +#define             DENALI_PHY_1180_DATA 0x00000000
>> +#define             DENALI_PHY_1181_DATA 0x00000803
>> +#define             DENALI_PHY_1182_DATA 0x223FFF00
>> +#define             DENALI_PHY_1183_DATA 0x000008FF
>> +#define             DENALI_PHY_1184_DATA 0x0000057F
>> +#define             DENALI_PHY_1185_DATA 0x0000057F
>> +#define             DENALI_PHY_1186_DATA 0x00037FFF
>> +#define             DENALI_PHY_1187_DATA 0x00037FFF
>> +#define             DENALI_PHY_1188_DATA 0x00004410
>> +#define             DENALI_PHY_1189_DATA 0x00004410
>> +#define             DENALI_PHY_1190_DATA 0x00004410
>> +#define             DENALI_PHY_1191_DATA 0x00004410
>> +#define             DENALI_PHY_1192_DATA 0x00004410
>> +#define             DENALI_PHY_1193_DATA 0x00037FFF
>> +#define             DENALI_PHY_1194_DATA 0x00037FFF
>> +#define             DENALI_PHY_1195_DATA 0x00000000
>> +#define             DENALI_PHY_1196_DATA 0x00000000
>> +#define             DENALI_PHY_1197_DATA 0x00000000
>> +#define             DENALI_PHY_1198_DATA 0x04000000
>> +#define             DENALI_PHY_1199_DATA 0x00000000
>> +#define             DENALI_PHY_1200_DATA 0x00000000
>> +#define             DENALI_PHY_1201_DATA 0x00000108
>> +#define             DENALI_PHY_1202_DATA 0x00000000
>> +#define             DENALI_PHY_1203_DATA 0x00000000
>> +#define             DENALI_PHY_1204_DATA 0x00000000
>> +#define             DENALI_PHY_1205_DATA 0x00000001
>> +#define             DENALI_PHY_1206_DATA 0x00000000
>> +#define             DENALI_PHY_1207_DATA 0x00000000
>> +#define             DENALI_PHY_1208_DATA 0x00000000
>> +#define             DENALI_PHY_1209_DATA 0x00000000
>> +#define             DENALI_PHY_1210_DATA 0x00000000
>> +#define             DENALI_PHY_1211_DATA 0x00000000
>> +#define             DENALI_PHY_1212_DATA 0x00020100
>> +#define             DENALI_PHY_1213_DATA 0x00000000
>> +#define             DENALI_PHY_1214_DATA 0x00000000
>> diff --git a/board/sifive/fu540/ux00ddr.h b/board/sifive/fu540/ux00ddr.h
>> new file mode 100644
>> index 0000000000..2b96397852
>> --- /dev/null
>> +++ b/board/sifive/fu540/ux00ddr.h
>> @@ -0,0 +1,276 @@
>> +/* SPDX-License-Identifier: GPL-2.0+ */
>> +/*
>> + * Copyright (c) 2019 SiFive, Inc
>> + *
>> + * Authors:
>> + *   Pragnesh Patel <pragnesh.patel at sifive.com>
>> + *   Troy Benjegerdes <troy.benjegerdes at sifive.com>
>> + */
>> +
>> +#ifndef FU540_UX00DDR_H
>> +#define FU540_UX00DDR_H
>> +
>> +#ifndef __ASSEMBLER__
>> +
>> +#include <stdint.h>
>> +#include <stddef.h>
>> +#include <stdbool.h>
>> +
>> +extern u32 ddr_phy_settings[1215];
>> +extern u32 ddr_ctl_settings[265];
>> +
>> +#define _REG32(p, i) (*(volatile uint32_t *)((p) + (i)))
>> +
>> +#define DRAM_CLASS_OFFSET                      8
>> +#define DRAM_CLASS_DDR4                        0xA
>> +#define OPTIMAL_RMODW_EN_OFFSET                0
>> +#define DISABLE_RD_INTERLEAVE_OFFSET           16
>> +#define OUT_OF_RANGE_OFFSET                    1
>> +#define MULTIPLE_OUT_OF_RANGE_OFFSET           2
>> +#define PORT_COMMAND_CHANNEL_ERROR_OFFSET      7
>> +#define MC_INIT_COMPLETE_OFFSET                8
>> +#define LEVELING_OPERATION_COMPLETED_OFFSET    22
>> +#define DFI_PHY_WRLELV_MODE_OFFSET             24
>> +#define DFI_PHY_RDLVL_MODE_OFFSET              24
>> +#define DFI_PHY_RDLVL_GATE_MODE_OFFSET         0
>> +#define VREF_EN_OFFSET                         24
>> +#define PORT_ADDR_PROTECTION_EN_OFFSET         0
>> +#define AXI0_ADDRESS_RANGE_ENABLE              8
>> +#define AXI0_RANGE_PROT_BITS_0_OFFSET          24
>> +#define RDLVL_EN_OFFSET                        16
>> +#define RDLVL_GATE_EN_OFFSET                   24
>> +#define WRLVL_EN_OFFSET                        0
>> +
>> +#define PHY_RX_CAL_DQ0_0_OFFSET                0
>> +#define PHY_RX_CAL_DQ1_0_OFFSET                16
>> +
>> +static inline void phy_reset(volatile u32 *ddrphyreg, const
>> +               u32 *physettings)
>> +{
>> +       unsigned int i;
>> +
>> +       for (i = 1152; i <= 1214; i++) {
>> +               u32 physet = physettings[i];
>> +               /*if (physet!=0)*/ ddrphyreg[i] = physet;
>> +       }
>> +
>> +       for (i = 0; i <= 1151; i++) {
>> +               u32 physet = physettings[i];
>> +               /*if (physet!=0)*/ ddrphyreg[i] = physet;
>> +       }
>> +}
>> +
>> +static inline void ux00ddr_writeregmap(size_t ahbregaddr, const
>> +               u32 *ctlsettings, const u32 *physettings)
>> +{
>> +       volatile u32 *ddrctlreg = (volatile u32 *)ahbregaddr;
>> +       volatile u32 *ddrphyreg = ((volatile u32 *)ahbregaddr) +
>> +               (0x2000 / sizeof(u32));
>> +
>> +       unsigned int i;
>> +
>> +       for (i = 0; i <= 264; i++) {
>> +               u32 ctlset = ctlsettings[i];
>> +               /*if (ctlset!=0)*/ ddrctlreg[i] = ctlset;
>> +       }
>> +
>> +       phy_reset(ddrphyreg, physettings);
>> +}
>> +
>> +static inline void ux00ddr_start(size_t ahbregaddr, size_t filteraddr,
>> +                                size_t ddrend)
>> +{
>> +       // START register at ddrctl register base offset 0
>> +       u32 regdata = _REG32(0 << 2, ahbregaddr);
>> +
>> +       regdata |= 0x1;
>> +       _REG32(0 << 2, ahbregaddr) = regdata;
>> +
>> +       /*
>> +        * WAIT for initialization complete : bit 8 of INT_STATUS
>> +        * (DENALI_CTL_132) 0x210
>> +        */
>> +       while ((_REG32(132 << 2, ahbregaddr) & (1 <<
>> +                                       MC_INIT_COMPLETE_OFFSET)) == 0) {
>> +       }
>> +
>> +       // Disable the BusBlocker in front of the controller AXI slave ports
>> +       volatile u64 *filterreg = (volatile u64 *)filteraddr;
>> +
>> +       filterreg[0] = 0x0f00000000000000UL | (ddrend >> 2);
>> +}
>> +
>> +static inline void ux00ddr_mask_mc_init_complete_interrupt(size_t
>> +               ahbregaddr)
>> +{
>> +       /*
>> +        * Mask off Bit 8 of Interrupt Status
>> +        * Bit [8] The MC initialization has been completed
>> +        */
>> +
>> +       _REG32(136 << 2, ahbregaddr) |= (1 << MC_INIT_COMPLETE_OFFSET);
>> +}
>> +
>> +static inline void ux00ddr_mask_outofrange_interrupts(size_t ahbregaddr)
>> +{
>> +       /*
>> +        * Mask off Bit 8, Bit 2 and Bit 1 of Interrupt Status
>> +        * Bit [2] Multiple accesses outside the defined PHYSICAL memory
>> +        * space have occurred
>> +        * Bit [1] A memory access outside the defined PHYSICAL memory
>> +        * space has occurred
>> +        */
>> +
>> +       _REG32(136 << 2, ahbregaddr) |= ((1 << OUT_OF_RANGE_OFFSET) | (1
><<
>> +                               MULTIPLE_OUT_OF_RANGE_OFFSET));
>> +}
>> +
>> +static inline void ux00ddr_mask_port_command_error_interrupt(size_t
>> +               ahbregaddr)
>> +{
>> +       /*
>> +        * Mask off Bit 7 of Interrupt Status
>> +        * Bit [7] An error occurred on the port command channel
>> +        */
>> +
>> +       _REG32(136 << 2, ahbregaddr) |= (1 <<
>> +                       PORT_COMMAND_CHANNEL_ERROR_OFFSET);
>> +}
>> +
>> +static inline void ux00ddr_mask_leveling_completed_interrupt(size_t
>> +               ahbregaddr)
>> +{
>> +       /*
>> +        * Mask off Bit 22 of Interrupt Status
>> +        * Bit [22] The leveling operation has completed
>> +        */
>> +
>> +       _REG32(136 << 2, ahbregaddr) |= (1 <<
>> +                       LEVELING_OPERATION_COMPLETED_OFFSET);
>> +}
>> +
>> +static inline void ux00ddr_setuprangeprotection(size_t ahbregaddr, size_t
>> +               end_addr)
>> +{
>> +       _REG32(209 << 2, ahbregaddr) = 0x0;
>> +       size_t end_addr_16kblocks = ((end_addr >> 14) & 0x7FFFFF) - 1;
>> +
>> +       _REG32(210 << 2, ahbregaddr)  = ((u32)end_addr_16kblocks);
>> +       _REG32(212 << 2, ahbregaddr)  = 0x0;
>> +       _REG32(214 << 2, ahbregaddr)  = 0x0;
>> +       _REG32(216 << 2, ahbregaddr)  = 0x0;
>> +       _REG32(224 << 2, ahbregaddr) |= (0x3 <<
>AXI0_RANGE_PROT_BITS_0_OFFSET);
>> +       _REG32(225 << 2, ahbregaddr)  = 0xFFFFFFFF;
>> +       _REG32(208 << 2, ahbregaddr) |= (1 <<
>AXI0_ADDRESS_RANGE_ENABLE);
>> +       _REG32(208 << 2, ahbregaddr) |= (1 <<
>PORT_ADDR_PROTECTION_EN_OFFSET);
>> +}
>> +
>> +static inline void ux00ddr_disableaxireadinterleave(size_t ahbregaddr)
>> +{
>> +       _REG32(120 << 2, ahbregaddr) |= (1 <<
>DISABLE_RD_INTERLEAVE_OFFSET);
>> +}
>> +
>> +static inline void ux00ddr_disableoptimalrmodw(size_t ahbregaddr)
>> +{
>> +       _REG32(21 << 2, ahbregaddr) &= (~(1 <<
>OPTIMAL_RMODW_EN_OFFSET));
>> +}
>> +
>> +static inline void ux00ddr_enablewriteleveling(size_t ahbregaddr)
>> +{
>> +       _REG32(170 << 2, ahbregaddr) |= ((1 << WRLVL_EN_OFFSET) | (1 <<
>> +                               DFI_PHY_WRLELV_MODE_OFFSET));
>> +}
>> +
>> +static inline void ux00ddr_enablereadleveling(size_t ahbregaddr)
>> +{
>> +       _REG32(181 << 2, ahbregaddr) |= (1 <<
>DFI_PHY_RDLVL_MODE_OFFSET);
>> +       _REG32(260 << 2, ahbregaddr) |= (1 << RDLVL_EN_OFFSET);
>> +}
>> +
>> +static inline void ux00ddr_enablereadlevelinggate(size_t ahbregaddr)
>> +{
>> +       _REG32(260 << 2, ahbregaddr) |= (1 << RDLVL_GATE_EN_OFFSET);
>> +       _REG32(182 << 2, ahbregaddr) |= (1 <<
>DFI_PHY_RDLVL_GATE_MODE_OFFSET);
>> +}
>> +
>> +static inline void ux00ddr_enablevreftraining(size_t ahbregaddr)
>> +{
>> +       _REG32(184 << 2, ahbregaddr) |= (1 << VREF_EN_OFFSET);
>> +}
>> +
>> +static inline u32 ux00ddr_getdramclass(size_t ahbregaddr)
>> +{
>> +       return((_REG32(0, ahbregaddr) >> DRAM_CLASS_OFFSET) & 0xF);
>> +}
>> +
>> +static inline u64 ux00ddr_phy_fixup(size_t ahbregaddr)
>> +{
>> +       // return bitmask of failed lanes
>> +
>> +       size_t ddrphyreg = ahbregaddr + 0x2000;
>> +
>> +       u64 fails     = 0;
>> +       u32 slicebase = 0;
>> +       u32 dq        = 0;
>> +
>> +       // check errata condition
>> +       for (u32 slice = 0; slice < 8; slice++) {
>> +               u32 regbase = slicebase + 34;
>> +
>> +               for (u32 reg = 0; reg < 4; reg++) {
>> +                       u32 updownreg = _REG32((regbase + reg) << 2,
>> +                                               ddrphyreg);
>> +
>> +                       for (u32 bit = 0; bit < 2; bit++) {
>> +                               u32 phy_rx_cal_dqn_0_offset;
>> +
>> +                               if (bit == 0) {
>> +                                       phy_rx_cal_dqn_0_offset =
>> +                                               PHY_RX_CAL_DQ0_0_OFFSET;
>> +                               } else {
>> +                                       phy_rx_cal_dqn_0_offset =
>> +                                               PHY_RX_CAL_DQ1_0_OFFSET;
>> +                               }
>> +
>> +                               u32 down = (updownreg >>
>> +                                               phy_rx_cal_dqn_0_offset) & 0x3F;
>> +                               u32 up   = (updownreg >>
>> +                                               (phy_rx_cal_dqn_0_offset + 6)) & 0x3F;
>> +
>> +                               u8 failc0 = ((down == 0) && (up == 0x3F));
>> +                               u8 failc1 = ((up == 0) && (down == 0x3F));
>> +
>> +                               // print error message on failure
>> +                               if (failc0 || failc1) {
>> +                                       if (fails == 0)
>> +                                               printf("DDR error in fixing up\n");
>> +
>> +                                       fails |= (1 << dq);
>> +
>> +                                       char slicelsc = '0';
>> +                                       char slicemsc = '0';
>> +
>> +                                       slicelsc += (dq % 10);
>> +                                       slicemsc += (dq / 10);
>> +                                       printf("S ");
>> +                                       printf("%c", slicemsc);
>> +                                       printf("%c", slicelsc);
>> +
>> +                                       if (failc0)
>> +                                               printf("U");
>> +                                       else
>> +                                               printf("D");
>> +
>> +                                       printf("\n");
>> +                               }
>> +                               dq++;
>> +                       }
>> +               }
>> +               slicebase += 128;
>> +       }
>> +       return(0);
>> +}
>> +
>> +#endif /* __ASSEMBLER__ */
>> +
>> +#endif /* FU540_UX00DDR_H */
>> diff --git a/board/sifive/fu540/ux00prci.h b/board/sifive/fu540/ux00prci.h
>> new file mode 100644
>> index 0000000000..0393fc2804
>> --- /dev/null
>> +++ b/board/sifive/fu540/ux00prci.h
>> @@ -0,0 +1,69 @@
>> +/* SPDX-License-Identifier: GPL-2.0+ */
>> +/*
>> + * Copyright (c) 2019 SiFive, Inc
>> + *
>> + * Authors:
>> + *   Pragnesh Patel <pragnesh.patel at sifive.com>
>> + *   Troy Benjegerdes <troy.benjegerdes at sifive.com>
>> + */
>> +
>> +#ifndef _SIFIVE_UX00PRCI_H
>> +#define _SIFIVE_UX00PRCI_H
>> +
>> +/* Register offsets */
>> +#define UX00PRCI_HFROSCCFG          (0x0000)
>> +#define UX00PRCI_COREPLLCFG         (0x0004)
>> +#define UX00PRCI_COREPLLOUT         (0x0008)
>> +#define UX00PRCI_DDRPLLCFG          (0x000C)
>> +#define UX00PRCI_DDRPLLOUT          (0x0010)
>> +#define UX00PRCI_GEMGXLPLLCFG       (0x001C)
>> +#define UX00PRCI_GEMGXLPLLOUT       (0x0020)
>> +#define UX00PRCI_CORECLKSELREG      (0x0024)
>> +#define UX00PRCI_DEVICESRESETREG    (0x0028)
>> +#define UX00PRCI_CLKMUXSTATUSREG    (0x002C)
>> +#define UX00PRCI_PROCMONCFG         (0x00F0)
>> +
>> +/* Fields */
>> +#define XOSC_EN(x)            (((x) & 0x1) << 30)
>> +#define XOSC_RDY(x)           (((x) & 0x1) << 31)
>> +
>> +#define PLL_R(x)              (((x) & 0x3F) << 0)
>> +#define PLL_F(x)              (((x) & 0x1FF) << 6)
>> +#define PLL_Q(x)              (((x) & 0x7) << 15)
>> +#define PLL_RANGE(x)          (((x) & 0x7) << 18)
>> +#define PLL_BYPASS(x)         (((x) & 0x1) << 24)
>> +#define PLL_FSE(x)            (((x) & 0x1) << 25)
>> +#define PLL_LOCK(x)           (((x) & 0x1) << 31)
>> +
>> +#define PLLOUT_DIV(x)         (((x) & 0x7F) << 0)
>> +#define PLLOUT_DIV_BY_1(x)    (((x) & 0x1) << 8)
>> +#define PLLOUT_CLK_EN(x)      (((x) & 0x1) << 31)
>> +
>> +#define PLL_R_default              0x1
>> +#define PLL_F_default              0x1F
>> +#define PLL_Q_default              0x3
>> +#define PLL_RANGE_default          0x0
>> +#define PLL_BYPASS_default         0x1
>> +#define PLL_FSE_default            0x1
>> +
>> +#define PLLOUT_DIV_default         0x0
>> +#define PLLOUT_DIV_BY_1_default    0x0
>> +#define PLLOUT_CLK_EN_default      0x0
>> +
>> +#define PLL_CORECLKSEL_HFXIN       0x1
>> +#define PLL_CORECLKSEL_COREPLL     0x0
>> +
>> +#define DEVICESRESET_DDR_CTRL_RST_N(x)    (((x) & 0x1) << 0)
>> +#define DEVICESRESET_DDR_AXI_RST_N(x)     (((x) & 0x1) << 1)
>> +#define DEVICESRESET_DDR_AHB_RST_N(x)     (((x) & 0x1) << 2)
>> +#define DEVICESRESET_DDR_PHY_RST_N(x)     (((x) & 0x1) << 3)
>> +#define DEVICESRESET_GEMGXL_RST_N(x)      (((x) & 0x1) << 5)
>> +
>> +#define CLKMUX_STATUS_CORECLKPLLSEL    (0x1 << 0)
>> +#define CLKMUX_STATUS_TLCLKSEL         (0x1 << 1)
>> +#define CLKMUX_STATUS_RTCXSEL          (0x1 << 2)
>> +#define CLKMUX_STATUS_DDRCTRLCLKSEL    (0x1 << 3)
>> +#define CLKMUX_STATUS_DDRPHYCLKSEL     (0x1 << 4)
>> +#define CLKMUX_STATUS_GEMGXLCLKSEL     (0x1 << 6)
>> +
>> +#endif // _SIFIVE_UX00PRCI_H
>
>> --
>> 2.17.1
>>
>
>Regards,
>Anup
diff mbox series

Patch

diff --git a/board/sifive/fu540/ccache.h b/board/sifive/fu540/ccache.h
new file mode 100644
index 0000000000..0e5e40a1ef
--- /dev/null
+++ b/board/sifive/fu540/ccache.h
@@ -0,0 +1,43 @@ 
+/* SPDX-License-Identifier: GPL-2.0+ */
+/*
+ * Copyright (c) 2019 SiFive, Inc
+ *
+ * Authors:
+ *   Pragnesh Patel <pragnesh.patel at sifive.com>
+ *   Troy Benjegerdes <troy.benjegerdes at sifive.com>
+ */
+
+#ifndef FU540_CCACHE_H
+#define FU540_CCACHE_H
+
+#include <asm/arch/cache.h>
+
+#ifndef __ASSEMBLER__
+
+#include <stdint.h>
+#include <linux/types.h>
+
+/* Block memory access until operation completed */
+static inline void ccache_barrier_0(void)
+{
+	asm volatile("fence rw, io" : : : "memory");
+}
+
+static inline void ccache_barrier_1(void)
+{
+	asm volatile("fence io, rw" : : : "memory");
+}
+
+/* Enable ways; allow cache to use these ways */
+static inline void ccache_enable_ways(u64 base_addr, u8 value)
+{
+	volatile u32 *enable = (volatile u32 *)(base_addr +
+					  CCACHE_ENABLE);
+	ccache_barrier_0();
+	(*enable) = value;
+	ccache_barrier_1();
+}
+
+#endif
+
+#endif /* FU540_CCACHE_H */
diff --git a/board/sifive/fu540/fu540-memory-map.h b/board/sifive/fu540/fu540-memory-map.h
new file mode 100644
index 0000000000..c0df07d6fd
--- /dev/null
+++ b/board/sifive/fu540/fu540-memory-map.h
@@ -0,0 +1,59 @@ 
+/* SPDX-License-Identifier: GPL-2.0+ */
+/*
+ * Copyright (c) 2019 SiFive, Inc
+ *
+ * Authors:
+ *   Pragnesh Patel <pragnesh.patel at sifive.com>
+ *   Troy Benjegerdes <troy.benjegerdes at sifive.com>
+ */
+
+#ifndef FU540_MEMORY_MAP
+#define FU540_MEMORY_MAP
+
+#include <linux/const.h>
+#include <asm/arch/gpio.h>
+#include <asm/arch/uart.h>
+#include "ccache.h"
+#include "i2c.h"
+#include "spi.h"
+#include "ux00prci.h"
+
+/****************************************************************************
+ * Platform definitions
+ *****************************************************************************/
+
+/* Memory map */
+#define CCACHE_CTRL_ADDR               _AC(0x2010000, UL)
+#define CCACHE_CTRL_SIZE               _AC(0x1000, UL)
+
+#define GPIO_CTRL_ADDR                 _AC(0x10060000, UL)
+#define GPIO_CTRL_SIZE                 _AC(0x1000, UL)
+
+#define PHYSICAL_FILTER_CTRL_ADDR      _AC(0x100b8000, UL)
+#define PHYSICAL_FILTER_CTRL_SIZE      _AC(0x1000, UL)
+
+#define UART0_CTRL_ADDR                _AC(0x10010000, UL)
+#define UART0_CTRL_SIZE                _AC(0x1000, UL)
+#define UART1_CTRL_ADDR                _AC(0x10011000, UL)
+#define UART1_CTRL_SIZE                _AC(0x1000, UL)
+#ifndef UART_CTRL_ADDR
+#define UART_CTRL_ADDR                 UART0_CTRL_ADDR
+#endif
+#ifndef UART_CTRL_SIZE
+#define UART_CTRL_SIZE                 UART0_CTRL_SIZE
+#endif
+#define UX00DDR_CTRL_ADDR              _AC(0x100b0000, UL)
+#define UX00DDR_CTRL_SIZE              _AC(0x4000, UL)
+#define UX00PRCI_CTRL_ADDR             _AC(0x10000000, UL)
+#define UX00PRCI_CTRL_SIZE             _AC(0x1000, UL)
+
+/* Helper functions */
+#define _REG32(p, i)    (*(volatile uint32_t *)((p) + (i)))
+
+#define UX00PRCI_REG(offset)  \
+	_REG32(UX00PRCI_CTRL_ADDR, \
+			offset)
+#define GPIO_REG(offset)      _REG32(GPIO_CTRL_ADDR, offset)
+#define UART0_REG(offset)    _REG32(UART0_CTRL_ADDR, offset)
+
+#endif /* FU540_MEMORY_MAP */
diff --git a/board/sifive/fu540/regconfig-ctl.h b/board/sifive/fu540/regconfig-ctl.h
new file mode 100644
index 0000000000..19a52e7996
--- /dev/null
+++ b/board/sifive/fu540/regconfig-ctl.h
@@ -0,0 +1,274 @@ 
+/* SPDX-License-Identifier: GPL-2.0+ */
+/*
+ * Copyright (c) 2019 SiFive, Inc
+ *
+ * Authors:
+ *   Pragnesh Patel <pragnesh.patel at sifive.com>
+ *   Troy Benjegerdes <troy.benjegerdes at sifive.com>
+ */
+
+#define               DENALI_CTL_00_DATA 0x00000a00
+#define               DENALI_CTL_01_DATA 0x00000000
+#define               DENALI_CTL_02_DATA 0x00000000
+#define               DENALI_CTL_03_DATA 0x00000000
+#define               DENALI_CTL_04_DATA 0x00000000
+#define               DENALI_CTL_05_DATA 0x00000000
+#define               DENALI_CTL_06_DATA 0x0000000a
+#define               DENALI_CTL_07_DATA 0x0002d362
+#define               DENALI_CTL_08_DATA 0x00071073
+#define               DENALI_CTL_09_DATA 0x0a1c0255
+#define               DENALI_CTL_10_DATA 0x1c1c0400
+#define               DENALI_CTL_11_DATA 0x0404990b
+#define               DENALI_CTL_12_DATA 0x2b050405
+#define               DENALI_CTL_13_DATA 0x0e0c081e
+#define               DENALI_CTL_14_DATA 0x08090914
+#define               DENALI_CTL_15_DATA 0x00fde718
+#define               DENALI_CTL_16_DATA 0x00180a05
+#define               DENALI_CTL_17_DATA 0x008b130e
+#define               DENALI_CTL_18_DATA 0x01000118
+#define               DENALI_CTL_19_DATA 0x0e032101
+#define               DENALI_CTL_20_DATA 0x00000000
+#define               DENALI_CTL_21_DATA 0x00000101
+#define               DENALI_CTL_22_DATA 0x00000000
+#define               DENALI_CTL_23_DATA 0x0a000000
+#define               DENALI_CTL_24_DATA 0x00000000
+#define               DENALI_CTL_25_DATA 0x01450100
+#define               DENALI_CTL_26_DATA 0x00001c36
+#define               DENALI_CTL_27_DATA 0x00000005
+#define               DENALI_CTL_28_DATA 0x00170006
+#define               DENALI_CTL_29_DATA 0x014e0300
+#define               DENALI_CTL_30_DATA 0x03010000
+#define               DENALI_CTL_31_DATA 0x000a0e00
+#define               DENALI_CTL_32_DATA 0x04030200
+#define               DENALI_CTL_33_DATA 0x0000031f
+#define               DENALI_CTL_34_DATA 0x00070004
+#define               DENALI_CTL_35_DATA 0x00000000
+#define               DENALI_CTL_36_DATA 0x00000000
+#define               DENALI_CTL_37_DATA 0x00000000
+#define               DENALI_CTL_38_DATA 0x00000000
+#define               DENALI_CTL_39_DATA 0x00000000
+#define               DENALI_CTL_40_DATA 0x00000000
+#define               DENALI_CTL_41_DATA 0x00000000
+#define               DENALI_CTL_42_DATA 0x00000000
+#define               DENALI_CTL_43_DATA 0x00000000
+#define               DENALI_CTL_44_DATA 0x00000000
+#define               DENALI_CTL_45_DATA 0x00000000
+#define               DENALI_CTL_46_DATA 0x00000000
+#define               DENALI_CTL_47_DATA 0x00000000
+#define               DENALI_CTL_48_DATA 0x00000000
+#define               DENALI_CTL_49_DATA 0x00000000
+#define               DENALI_CTL_50_DATA 0x00000000
+#define               DENALI_CTL_51_DATA 0x00000000
+#define               DENALI_CTL_52_DATA 0x00000000
+#define               DENALI_CTL_53_DATA 0x00000000
+#define               DENALI_CTL_54_DATA 0x00000000
+#define               DENALI_CTL_55_DATA 0x00000000
+#define               DENALI_CTL_56_DATA 0x00000000
+#define               DENALI_CTL_57_DATA 0x00000000
+#define               DENALI_CTL_58_DATA 0x00000000
+#define               DENALI_CTL_59_DATA 0x00000000
+#define               DENALI_CTL_60_DATA 0x00000424
+#define               DENALI_CTL_61_DATA 0x00000201
+#define               DENALI_CTL_62_DATA 0x00001008
+#define               DENALI_CTL_63_DATA 0x00000000
+#define               DENALI_CTL_64_DATA 0x00000200
+#define               DENALI_CTL_65_DATA 0x00000000
+#define               DENALI_CTL_66_DATA 0x00000481
+#define               DENALI_CTL_67_DATA 0x00000400
+#define               DENALI_CTL_68_DATA 0x00000424
+#define               DENALI_CTL_69_DATA 0x00000201
+#define               DENALI_CTL_70_DATA 0x00001008
+#define               DENALI_CTL_71_DATA 0x00000000
+#define               DENALI_CTL_72_DATA 0x00000200
+#define               DENALI_CTL_73_DATA 0x00000000
+#define               DENALI_CTL_74_DATA 0x00000481
+#define               DENALI_CTL_75_DATA 0x00000400
+#define               DENALI_CTL_76_DATA 0x01010000
+#define               DENALI_CTL_77_DATA 0x00000000
+#define               DENALI_CTL_78_DATA 0x00000000
+#define               DENALI_CTL_79_DATA 0x00000000
+#define               DENALI_CTL_80_DATA 0x00000000
+#define               DENALI_CTL_81_DATA 0x00000000
+#define               DENALI_CTL_82_DATA 0x00000000
+#define               DENALI_CTL_83_DATA 0x00000000
+#define               DENALI_CTL_84_DATA 0x00000000
+#define               DENALI_CTL_85_DATA 0x00000000
+#define               DENALI_CTL_86_DATA 0x00000000
+#define               DENALI_CTL_87_DATA 0x00000000
+#define               DENALI_CTL_88_DATA 0x00000000
+#define               DENALI_CTL_89_DATA 0x00000000
+#define               DENALI_CTL_90_DATA 0x00000000
+#define               DENALI_CTL_91_DATA 0x00000000
+#define               DENALI_CTL_92_DATA 0x00000000
+#define               DENALI_CTL_93_DATA 0x00000000
+#define               DENALI_CTL_94_DATA 0x00000000
+#define               DENALI_CTL_95_DATA 0x00000000
+#define               DENALI_CTL_96_DATA 0x00000000
+#define               DENALI_CTL_97_DATA 0x00000000
+#define               DENALI_CTL_98_DATA 0x00000000
+#define               DENALI_CTL_99_DATA 0x00000000
+#define              DENALI_CTL_100_DATA 0x00000000
+#define              DENALI_CTL_101_DATA 0x00000000
+#define              DENALI_CTL_102_DATA 0x00000000
+#define              DENALI_CTL_103_DATA 0x00000000
+#define              DENALI_CTL_104_DATA 0x00000000
+#define              DENALI_CTL_105_DATA 0x00000003
+#define              DENALI_CTL_106_DATA 0x00000000
+#define              DENALI_CTL_107_DATA 0x00000000
+#define              DENALI_CTL_108_DATA 0x00000000
+#define              DENALI_CTL_109_DATA 0x00000000
+#define              DENALI_CTL_110_DATA 0x01000000
+#define              DENALI_CTL_111_DATA 0x00040000
+#define              DENALI_CTL_112_DATA 0x00800200
+#define              DENALI_CTL_113_DATA 0x00000200
+#define              DENALI_CTL_114_DATA 0x00000040
+#define              DENALI_CTL_115_DATA 0x01000100
+#define              DENALI_CTL_116_DATA 0x0a000002
+#define              DENALI_CTL_117_DATA 0x0101ffff
+#define              DENALI_CTL_118_DATA 0x01010101
+#define              DENALI_CTL_119_DATA 0x01010101
+#define              DENALI_CTL_120_DATA 0x0000010b
+#define              DENALI_CTL_121_DATA 0x00000c01
+#define              DENALI_CTL_122_DATA 0x00000000
+#define              DENALI_CTL_123_DATA 0x00000000
+#define              DENALI_CTL_124_DATA 0x00000000
+#define              DENALI_CTL_125_DATA 0x00000000
+#define              DENALI_CTL_126_DATA 0x00030300
+#define              DENALI_CTL_127_DATA 0x00000000
+#define              DENALI_CTL_128_DATA 0x00010001
+#define              DENALI_CTL_129_DATA 0x00000000
+#define              DENALI_CTL_130_DATA 0x00000000
+#define              DENALI_CTL_131_DATA 0x00000000
+#define              DENALI_CTL_132_DATA 0x00000000
+#define              DENALI_CTL_133_DATA 0x00000000
+#define              DENALI_CTL_134_DATA 0x00000000
+#define              DENALI_CTL_135_DATA 0x00000000
+#define              DENALI_CTL_136_DATA 0x00000000
+#define              DENALI_CTL_137_DATA 0x00000000
+#define              DENALI_CTL_138_DATA 0x00000000
+#define              DENALI_CTL_139_DATA 0x00000000
+#define              DENALI_CTL_140_DATA 0x00000000
+#define              DENALI_CTL_141_DATA 0x00000000
+#define              DENALI_CTL_142_DATA 0x00000000
+#define              DENALI_CTL_143_DATA 0x00000000
+#define              DENALI_CTL_144_DATA 0x00000000
+#define              DENALI_CTL_145_DATA 0x00000000
+#define              DENALI_CTL_146_DATA 0x00000000
+#define              DENALI_CTL_147_DATA 0x00000000
+#define              DENALI_CTL_148_DATA 0x00000000
+#define              DENALI_CTL_149_DATA 0x00000000
+#define              DENALI_CTL_150_DATA 0x00000000
+#define              DENALI_CTL_151_DATA 0x00000000
+#define              DENALI_CTL_152_DATA 0x00000000
+#define              DENALI_CTL_153_DATA 0x00000000
+#define              DENALI_CTL_154_DATA 0x00000000
+#define              DENALI_CTL_155_DATA 0x00000000
+#define              DENALI_CTL_156_DATA 0x00000000
+#define              DENALI_CTL_157_DATA 0x00000000
+#define              DENALI_CTL_158_DATA 0x00000000
+#define              DENALI_CTL_159_DATA 0x00000000
+#define              DENALI_CTL_160_DATA 0x00000000
+#define              DENALI_CTL_161_DATA 0x02010102
+#define              DENALI_CTL_162_DATA 0x0107070d
+#define              DENALI_CTL_163_DATA 0x04040400
+#define              DENALI_CTL_164_DATA 0x03000503
+#define              DENALI_CTL_165_DATA 0x00000000
+#define              DENALI_CTL_166_DATA 0x00000000
+#define              DENALI_CTL_167_DATA 0x00000000
+#define              DENALI_CTL_168_DATA 0x00000000
+#define              DENALI_CTL_169_DATA 0x280d0000
+#define              DENALI_CTL_170_DATA 0x01000000
+#define              DENALI_CTL_171_DATA 0x00000000
+#define              DENALI_CTL_172_DATA 0x00010001
+#define              DENALI_CTL_173_DATA 0x00000000
+#define              DENALI_CTL_174_DATA 0x00000000
+#define              DENALI_CTL_175_DATA 0x00000000
+#define              DENALI_CTL_176_DATA 0x00000000
+#define              DENALI_CTL_177_DATA 0x00000000
+#define              DENALI_CTL_178_DATA 0x00000000
+#define              DENALI_CTL_179_DATA 0x00000000
+#define              DENALI_CTL_180_DATA 0x00000000
+#define              DENALI_CTL_181_DATA 0x01000000
+#define              DENALI_CTL_182_DATA 0x00000001
+#define              DENALI_CTL_183_DATA 0x00000100
+#define              DENALI_CTL_184_DATA 0x00000101
+#define              DENALI_CTL_185_DATA 0x67676701
+#define              DENALI_CTL_186_DATA 0x67676767
+#define              DENALI_CTL_187_DATA 0x67676767
+#define              DENALI_CTL_188_DATA 0x67676767
+#define              DENALI_CTL_189_DATA 0x67676767
+#define              DENALI_CTL_190_DATA 0x67676767
+#define              DENALI_CTL_191_DATA 0x67676767
+#define              DENALI_CTL_192_DATA 0x67676767
+#define              DENALI_CTL_193_DATA 0x67676767
+#define              DENALI_CTL_194_DATA 0x01000067
+#define              DENALI_CTL_195_DATA 0x00000001
+#define              DENALI_CTL_196_DATA 0x00000101
+#define              DENALI_CTL_197_DATA 0x00000000
+#define              DENALI_CTL_198_DATA 0x00000000
+#define              DENALI_CTL_199_DATA 0x00000000
+#define              DENALI_CTL_200_DATA 0x00000000
+#define              DENALI_CTL_201_DATA 0x00000000
+#define              DENALI_CTL_202_DATA 0x00000000
+#define              DENALI_CTL_203_DATA 0x00000000
+#define              DENALI_CTL_204_DATA 0x00000000
+#define              DENALI_CTL_205_DATA 0x00000000
+#define              DENALI_CTL_206_DATA 0x00000000
+#define              DENALI_CTL_207_DATA 0x00000000
+#define              DENALI_CTL_208_DATA 0x00000001
+#define              DENALI_CTL_209_DATA 0x00000000
+#define              DENALI_CTL_210_DATA 0x007fffff
+#define              DENALI_CTL_211_DATA 0x00000000
+#define              DENALI_CTL_212_DATA 0x007fffff
+#define              DENALI_CTL_213_DATA 0x00000000
+#define              DENALI_CTL_214_DATA 0x007fffff
+#define              DENALI_CTL_215_DATA 0x00000000
+#define              DENALI_CTL_216_DATA 0x007fffff
+#define              DENALI_CTL_217_DATA 0x00000000
+#define              DENALI_CTL_218_DATA 0x007fffff
+#define              DENALI_CTL_219_DATA 0x00000000
+#define              DENALI_CTL_220_DATA 0x007fffff
+#define              DENALI_CTL_221_DATA 0x00000000
+#define              DENALI_CTL_222_DATA 0x007fffff
+#define              DENALI_CTL_223_DATA 0x00000000
+#define              DENALI_CTL_224_DATA 0x037fffff
+#define              DENALI_CTL_225_DATA 0xffffffff
+#define              DENALI_CTL_226_DATA 0x000f000f
+#define              DENALI_CTL_227_DATA 0x00ffff03
+#define              DENALI_CTL_228_DATA 0x000fffff
+#define              DENALI_CTL_229_DATA 0x0003000f
+#define              DENALI_CTL_230_DATA 0xffffffff
+#define              DENALI_CTL_231_DATA 0x000f000f
+#define              DENALI_CTL_232_DATA 0x00ffff03
+#define              DENALI_CTL_233_DATA 0x000fffff
+#define              DENALI_CTL_234_DATA 0x0003000f
+#define              DENALI_CTL_235_DATA 0xffffffff
+#define              DENALI_CTL_236_DATA 0x000f000f
+#define              DENALI_CTL_237_DATA 0x00ffff03
+#define              DENALI_CTL_238_DATA 0x000fffff
+#define              DENALI_CTL_239_DATA 0x0003000f
+#define              DENALI_CTL_240_DATA 0xffffffff
+#define              DENALI_CTL_241_DATA 0x000f000f
+#define              DENALI_CTL_242_DATA 0x00ffff03
+#define              DENALI_CTL_243_DATA 0x000fffff
+#define              DENALI_CTL_244_DATA 0x6407000f
+#define              DENALI_CTL_245_DATA 0x01640001
+#define              DENALI_CTL_246_DATA 0x00000000
+#define              DENALI_CTL_247_DATA 0x00000000
+#define              DENALI_CTL_248_DATA 0x00001700
+#define              DENALI_CTL_249_DATA 0x00386c05
+#define              DENALI_CTL_250_DATA 0x02000200
+#define              DENALI_CTL_251_DATA 0x02000200
+#define              DENALI_CTL_252_DATA 0x0000386c
+#define              DENALI_CTL_253_DATA 0x00023438
+#define              DENALI_CTL_254_DATA 0x02020d10
+#define              DENALI_CTL_255_DATA 0x00140303
+#define              DENALI_CTL_256_DATA 0x00000000
+#define              DENALI_CTL_257_DATA 0x00000000
+#define              DENALI_CTL_258_DATA 0x00001403
+#define              DENALI_CTL_259_DATA 0x00000000
+#define              DENALI_CTL_260_DATA 0x00000000
+#define              DENALI_CTL_261_DATA 0x00000000
+#define              DENALI_CTL_262_DATA 0x00000000
+#define              DENALI_CTL_263_DATA 0x0d010000
+#define              DENALI_CTL_264_DATA 0x00000008
diff --git a/board/sifive/fu540/regconfig-phy.h b/board/sifive/fu540/regconfig-phy.h
new file mode 100644
index 0000000000..3450aecdf1
--- /dev/null
+++ b/board/sifive/fu540/regconfig-phy.h
@@ -0,0 +1,1224 @@ 
+/* SPDX-License-Identifier: GPL-2.0+ */
+/*
+ * Copyright (c) 2019 SiFive, Inc
+ *
+ * Authors:
+ *   Pragnesh Patel <pragnesh.patel at sifive.com>
+ *   Troy Benjegerdes <troy.benjegerdes at sifive.com>
+ */
+
+#define               DENALI_PHY_00_DATA 0x31706542
+#define               DENALI_PHY_01_DATA 0x0004c008
+#define               DENALI_PHY_02_DATA 0x000000da
+#define               DENALI_PHY_03_DATA 0x00000000
+#define               DENALI_PHY_04_DATA 0x00000000
+#define               DENALI_PHY_05_DATA 0x00010000
+#define               DENALI_PHY_06_DATA 0x01DDDD90
+#define               DENALI_PHY_07_DATA 0x01DDDD90
+#define               DENALI_PHY_08_DATA 0x01030000
+#define               DENALI_PHY_09_DATA 0x01000000
+#define               DENALI_PHY_10_DATA 0x00c00000
+#define               DENALI_PHY_11_DATA 0x00000007
+#define               DENALI_PHY_12_DATA 0x00000000
+#define               DENALI_PHY_13_DATA 0x00000000
+#define               DENALI_PHY_14_DATA 0x04000408
+#define               DENALI_PHY_15_DATA 0x00000408
+#define               DENALI_PHY_16_DATA 0x00e4e400
+#define               DENALI_PHY_17_DATA 0x00000000
+#define               DENALI_PHY_18_DATA 0x00000000
+#define               DENALI_PHY_19_DATA 0x00000000
+#define               DENALI_PHY_20_DATA 0x00000000
+#define               DENALI_PHY_21_DATA 0x00000000
+#define               DENALI_PHY_22_DATA 0x00000000
+#define               DENALI_PHY_23_DATA 0x00000000
+#define               DENALI_PHY_24_DATA 0x00000000
+#define               DENALI_PHY_25_DATA 0x00000000
+#define               DENALI_PHY_26_DATA 0x00000000
+#define               DENALI_PHY_27_DATA 0x00000000
+#define               DENALI_PHY_28_DATA 0x00000000
+#define               DENALI_PHY_29_DATA 0x00000000
+#define               DENALI_PHY_30_DATA 0x00000000
+#define               DENALI_PHY_31_DATA 0x00000000
+#define               DENALI_PHY_32_DATA 0x00000000
+#define               DENALI_PHY_33_DATA 0x00200000
+#define               DENALI_PHY_34_DATA 0x00000000
+#define               DENALI_PHY_35_DATA 0x00000000
+#define               DENALI_PHY_36_DATA 0x00000000
+#define               DENALI_PHY_37_DATA 0x00000000
+#define               DENALI_PHY_38_DATA 0x00000000
+#define               DENALI_PHY_39_DATA 0x00000000
+#define               DENALI_PHY_40_DATA 0x02800280
+#define               DENALI_PHY_41_DATA 0x02800280
+#define               DENALI_PHY_42_DATA 0x02800280
+#define               DENALI_PHY_43_DATA 0x02800280
+#define               DENALI_PHY_44_DATA 0x00000280
+#define               DENALI_PHY_45_DATA 0x00000000
+#define               DENALI_PHY_46_DATA 0x00000000
+#define               DENALI_PHY_47_DATA 0x00000000
+#define               DENALI_PHY_48_DATA 0x00000000
+#define               DENALI_PHY_49_DATA 0x00000000
+#define               DENALI_PHY_50_DATA 0x00800080
+#define               DENALI_PHY_51_DATA 0x00800080
+#define               DENALI_PHY_52_DATA 0x00800080
+#define               DENALI_PHY_53_DATA 0x00800080
+#define               DENALI_PHY_54_DATA 0x00800080
+#define               DENALI_PHY_55_DATA 0x00800080
+#define               DENALI_PHY_56_DATA 0x00800080
+#define               DENALI_PHY_57_DATA 0x00800080
+#define               DENALI_PHY_58_DATA 0x00800080
+#define               DENALI_PHY_59_DATA 0x000100da
+#define               DENALI_PHY_60_DATA 0x01000200
+#define               DENALI_PHY_61_DATA 0x00000000
+#define               DENALI_PHY_62_DATA 0x00000000
+#define               DENALI_PHY_63_DATA 0x00000002
+#define               DENALI_PHY_64_DATA 0x51313152
+#define               DENALI_PHY_65_DATA 0x80013130
+#define               DENALI_PHY_66_DATA 0x02000080
+#define               DENALI_PHY_67_DATA 0x00100001
+#define               DENALI_PHY_68_DATA 0x0c064208
+#define               DENALI_PHY_69_DATA 0x000f0c0f
+#define               DENALI_PHY_70_DATA 0x01000140
+#define               DENALI_PHY_71_DATA 0x0000000c
+#define               DENALI_PHY_72_DATA 0x00000000
+#define               DENALI_PHY_73_DATA 0x00000000
+#define               DENALI_PHY_74_DATA 0x00000000
+#define               DENALI_PHY_75_DATA 0x00000000
+#define               DENALI_PHY_76_DATA 0x00000000
+#define               DENALI_PHY_77_DATA 0x00000000
+#define               DENALI_PHY_78_DATA 0x00000000
+#define               DENALI_PHY_79_DATA 0x00000000
+#define               DENALI_PHY_80_DATA 0x00000000
+#define               DENALI_PHY_81_DATA 0x00000000
+#define               DENALI_PHY_82_DATA 0x00000000
+#define               DENALI_PHY_83_DATA 0x00000000
+#define               DENALI_PHY_84_DATA 0x00000000
+#define               DENALI_PHY_85_DATA 0x00000000
+#define               DENALI_PHY_86_DATA 0x00000000
+#define               DENALI_PHY_87_DATA 0x00000000
+#define               DENALI_PHY_88_DATA 0x00000000
+#define               DENALI_PHY_89_DATA 0x00000000
+#define               DENALI_PHY_90_DATA 0x00000000
+#define               DENALI_PHY_91_DATA 0x00000000
+#define               DENALI_PHY_92_DATA 0x00000000
+#define               DENALI_PHY_93_DATA 0x00000000
+#define               DENALI_PHY_94_DATA 0x00000000
+#define               DENALI_PHY_95_DATA 0x00000000
+#define               DENALI_PHY_96_DATA 0x00000000
+#define               DENALI_PHY_97_DATA 0x00000000
+#define               DENALI_PHY_98_DATA 0x00000000
+#define               DENALI_PHY_99_DATA 0x00000000
+#define              DENALI_PHY_100_DATA 0x00000000
+#define              DENALI_PHY_101_DATA 0x00000000
+#define              DENALI_PHY_102_DATA 0x00000000
+#define              DENALI_PHY_103_DATA 0x00000000
+#define              DENALI_PHY_104_DATA 0x00000000
+#define              DENALI_PHY_105_DATA 0x00000000
+#define              DENALI_PHY_106_DATA 0x00000000
+#define              DENALI_PHY_107_DATA 0x00000000
+#define              DENALI_PHY_108_DATA 0x00000000
+#define              DENALI_PHY_109_DATA 0x00000000
+#define              DENALI_PHY_110_DATA 0x00000000
+#define              DENALI_PHY_111_DATA 0x00000000
+#define              DENALI_PHY_112_DATA 0x00000000
+#define              DENALI_PHY_113_DATA 0x00000000
+#define              DENALI_PHY_114_DATA 0x00000000
+#define              DENALI_PHY_115_DATA 0x00000000
+#define              DENALI_PHY_116_DATA 0x00000000
+#define              DENALI_PHY_117_DATA 0x00000000
+#define              DENALI_PHY_118_DATA 0x00000000
+#define              DENALI_PHY_119_DATA 0x00000000
+#define              DENALI_PHY_120_DATA 0x00000000
+#define              DENALI_PHY_121_DATA 0x00000000
+#define              DENALI_PHY_122_DATA 0x00000000
+#define              DENALI_PHY_123_DATA 0x00000000
+#define              DENALI_PHY_124_DATA 0x00000000
+#define              DENALI_PHY_125_DATA 0x00000000
+#define              DENALI_PHY_126_DATA 0x00000000
+#define              DENALI_PHY_127_DATA 0x00000000
+#define              DENALI_PHY_128_DATA 0x40263571
+#define              DENALI_PHY_129_DATA 0x0004c008
+#define              DENALI_PHY_130_DATA 0x000000da
+#define              DENALI_PHY_131_DATA 0x00000000
+#define              DENALI_PHY_132_DATA 0x00000000
+#define              DENALI_PHY_133_DATA 0x00010000
+#define              DENALI_PHY_134_DATA 0x01DDDD90
+#define              DENALI_PHY_135_DATA 0x01DDDD90
+#define              DENALI_PHY_136_DATA 0x01030000
+#define              DENALI_PHY_137_DATA 0x01000000
+#define              DENALI_PHY_138_DATA 0x00c00000
+#define              DENALI_PHY_139_DATA 0x00000007
+#define              DENALI_PHY_140_DATA 0x00000000
+#define              DENALI_PHY_141_DATA 0x00000000
+#define              DENALI_PHY_142_DATA 0x04000408
+#define              DENALI_PHY_143_DATA 0x00000408
+#define              DENALI_PHY_144_DATA 0x00e4e400
+#define              DENALI_PHY_145_DATA 0x00000000
+#define              DENALI_PHY_146_DATA 0x00000000
+#define              DENALI_PHY_147_DATA 0x00000000
+#define              DENALI_PHY_148_DATA 0x00000000
+#define              DENALI_PHY_149_DATA 0x00000000
+#define              DENALI_PHY_150_DATA 0x00000000
+#define              DENALI_PHY_151_DATA 0x00000000
+#define              DENALI_PHY_152_DATA 0x00000000
+#define              DENALI_PHY_153_DATA 0x00000000
+#define              DENALI_PHY_154_DATA 0x00000000
+#define              DENALI_PHY_155_DATA 0x00000000
+#define              DENALI_PHY_156_DATA 0x00000000
+#define              DENALI_PHY_157_DATA 0x00000000
+#define              DENALI_PHY_158_DATA 0x00000000
+#define              DENALI_PHY_159_DATA 0x00000000
+#define              DENALI_PHY_160_DATA 0x00000000
+#define              DENALI_PHY_161_DATA 0x00200000
+#define              DENALI_PHY_162_DATA 0x00000000
+#define              DENALI_PHY_163_DATA 0x00000000
+#define              DENALI_PHY_164_DATA 0x00000000
+#define              DENALI_PHY_165_DATA 0x00000000
+#define              DENALI_PHY_166_DATA 0x00000000
+#define              DENALI_PHY_167_DATA 0x00000000
+#define              DENALI_PHY_168_DATA 0x02800280
+#define              DENALI_PHY_169_DATA 0x02800280
+#define              DENALI_PHY_170_DATA 0x02800280
+#define              DENALI_PHY_171_DATA 0x02800280
+#define              DENALI_PHY_172_DATA 0x00000280
+#define              DENALI_PHY_173_DATA 0x00000000
+#define              DENALI_PHY_174_DATA 0x00000000
+#define              DENALI_PHY_175_DATA 0x00000000
+#define              DENALI_PHY_176_DATA 0x00000000
+#define              DENALI_PHY_177_DATA 0x00000000
+#define              DENALI_PHY_178_DATA 0x00800080
+#define              DENALI_PHY_179_DATA 0x00800080
+#define              DENALI_PHY_180_DATA 0x00800080
+#define              DENALI_PHY_181_DATA 0x00800080
+#define              DENALI_PHY_182_DATA 0x00800080
+#define              DENALI_PHY_183_DATA 0x00800080
+#define              DENALI_PHY_184_DATA 0x00800080
+#define              DENALI_PHY_185_DATA 0x00800080
+#define              DENALI_PHY_186_DATA 0x00800080
+#define              DENALI_PHY_187_DATA 0x000100da
+#define              DENALI_PHY_188_DATA 0x01000200
+#define              DENALI_PHY_189_DATA 0x00000000
+#define              DENALI_PHY_190_DATA 0x00000000
+#define              DENALI_PHY_191_DATA 0x00000002
+#define              DENALI_PHY_192_DATA 0x51313152
+#define              DENALI_PHY_193_DATA 0x80013130
+#define              DENALI_PHY_194_DATA 0x02000080
+#define              DENALI_PHY_195_DATA 0x00100001
+#define              DENALI_PHY_196_DATA 0x0c064208
+#define              DENALI_PHY_197_DATA 0x000f0c0f
+#define              DENALI_PHY_198_DATA 0x01000140
+#define              DENALI_PHY_199_DATA 0x0000000c
+#define              DENALI_PHY_200_DATA 0x00000000
+#define              DENALI_PHY_201_DATA 0x00000000
+#define              DENALI_PHY_202_DATA 0x00000000
+#define              DENALI_PHY_203_DATA 0x00000000
+#define              DENALI_PHY_204_DATA 0x00000000
+#define              DENALI_PHY_205_DATA 0x00000000
+#define              DENALI_PHY_206_DATA 0x00000000
+#define              DENALI_PHY_207_DATA 0x00000000
+#define              DENALI_PHY_208_DATA 0x00000000
+#define              DENALI_PHY_209_DATA 0x00000000
+#define              DENALI_PHY_210_DATA 0x00000000
+#define              DENALI_PHY_211_DATA 0x00000000
+#define              DENALI_PHY_212_DATA 0x00000000
+#define              DENALI_PHY_213_DATA 0x00000000
+#define              DENALI_PHY_214_DATA 0x00000000
+#define              DENALI_PHY_215_DATA 0x00000000
+#define              DENALI_PHY_216_DATA 0x00000000
+#define              DENALI_PHY_217_DATA 0x00000000
+#define              DENALI_PHY_218_DATA 0x00000000
+#define              DENALI_PHY_219_DATA 0x00000000
+#define              DENALI_PHY_220_DATA 0x00000000
+#define              DENALI_PHY_221_DATA 0x00000000
+#define              DENALI_PHY_222_DATA 0x00000000
+#define              DENALI_PHY_223_DATA 0x00000000
+#define              DENALI_PHY_224_DATA 0x00000000
+#define              DENALI_PHY_225_DATA 0x00000000
+#define              DENALI_PHY_226_DATA 0x00000000
+#define              DENALI_PHY_227_DATA 0x00000000
+#define              DENALI_PHY_228_DATA 0x00000000
+#define              DENALI_PHY_229_DATA 0x00000000
+#define              DENALI_PHY_230_DATA 0x00000000
+#define              DENALI_PHY_231_DATA 0x00000000
+#define              DENALI_PHY_232_DATA 0x00000000
+#define              DENALI_PHY_233_DATA 0x00000000
+#define              DENALI_PHY_234_DATA 0x00000000
+#define              DENALI_PHY_235_DATA 0x00000000
+#define              DENALI_PHY_236_DATA 0x00000000
+#define              DENALI_PHY_237_DATA 0x00000000
+#define              DENALI_PHY_238_DATA 0x00000000
+#define              DENALI_PHY_239_DATA 0x00000000
+#define              DENALI_PHY_240_DATA 0x00000000
+#define              DENALI_PHY_241_DATA 0x00000000
+#define              DENALI_PHY_242_DATA 0x00000000
+#define              DENALI_PHY_243_DATA 0x00000000
+#define              DENALI_PHY_244_DATA 0x00000000
+#define              DENALI_PHY_245_DATA 0x00000000
+#define              DENALI_PHY_246_DATA 0x00000000
+#define              DENALI_PHY_247_DATA 0x00000000
+#define              DENALI_PHY_248_DATA 0x00000000
+#define              DENALI_PHY_249_DATA 0x00000000
+#define              DENALI_PHY_250_DATA 0x00000000
+#define              DENALI_PHY_251_DATA 0x00000000
+#define              DENALI_PHY_252_DATA 0x00000000
+#define              DENALI_PHY_253_DATA 0x00000000
+#define              DENALI_PHY_254_DATA 0x00000000
+#define              DENALI_PHY_255_DATA 0x00000000
+#define              DENALI_PHY_256_DATA 0x46052371
+#define              DENALI_PHY_257_DATA 0x0004c008
+#define              DENALI_PHY_258_DATA 0x000000da
+#define              DENALI_PHY_259_DATA 0x00000000
+#define              DENALI_PHY_260_DATA 0x00000000
+#define              DENALI_PHY_261_DATA 0x00010000
+#define              DENALI_PHY_262_DATA 0x01DDDD90
+#define              DENALI_PHY_263_DATA 0x01DDDD90
+#define              DENALI_PHY_264_DATA 0x01030000
+#define              DENALI_PHY_265_DATA 0x01000000
+#define              DENALI_PHY_266_DATA 0x00c00000
+#define              DENALI_PHY_267_DATA 0x00000007
+#define              DENALI_PHY_268_DATA 0x00000000
+#define              DENALI_PHY_269_DATA 0x00000000
+#define              DENALI_PHY_270_DATA 0x04000408
+#define              DENALI_PHY_271_DATA 0x00000408
+#define              DENALI_PHY_272_DATA 0x00e4e400
+#define              DENALI_PHY_273_DATA 0x00000000
+#define              DENALI_PHY_274_DATA 0x00000000
+#define              DENALI_PHY_275_DATA 0x00000000
+#define              DENALI_PHY_276_DATA 0x00000000
+#define              DENALI_PHY_277_DATA 0x00000000
+#define              DENALI_PHY_278_DATA 0x00000000
+#define              DENALI_PHY_279_DATA 0x00000000
+#define              DENALI_PHY_280_DATA 0x00000000
+#define              DENALI_PHY_281_DATA 0x00000000
+#define              DENALI_PHY_282_DATA 0x00000000
+#define              DENALI_PHY_283_DATA 0x00000000
+#define              DENALI_PHY_284_DATA 0x00000000
+#define              DENALI_PHY_285_DATA 0x00000000
+#define              DENALI_PHY_286_DATA 0x00000000
+#define              DENALI_PHY_287_DATA 0x00000000
+#define              DENALI_PHY_288_DATA 0x00000000
+#define              DENALI_PHY_289_DATA 0x00200000
+#define              DENALI_PHY_290_DATA 0x00000000
+#define              DENALI_PHY_291_DATA 0x00000000
+#define              DENALI_PHY_292_DATA 0x00000000
+#define              DENALI_PHY_293_DATA 0x00000000
+#define              DENALI_PHY_294_DATA 0x00000000
+#define              DENALI_PHY_295_DATA 0x00000000
+#define              DENALI_PHY_296_DATA 0x02800280
+#define              DENALI_PHY_297_DATA 0x02800280
+#define              DENALI_PHY_298_DATA 0x02800280
+#define              DENALI_PHY_299_DATA 0x02800280
+#define              DENALI_PHY_300_DATA 0x00000280
+#define              DENALI_PHY_301_DATA 0x00000000
+#define              DENALI_PHY_302_DATA 0x00000000
+#define              DENALI_PHY_303_DATA 0x00000000
+#define              DENALI_PHY_304_DATA 0x00000000
+#define              DENALI_PHY_305_DATA 0x00000000
+#define              DENALI_PHY_306_DATA 0x00800080
+#define              DENALI_PHY_307_DATA 0x00800080
+#define              DENALI_PHY_308_DATA 0x00800080
+#define              DENALI_PHY_309_DATA 0x00800080
+#define              DENALI_PHY_310_DATA 0x00800080
+#define              DENALI_PHY_311_DATA 0x00800080
+#define              DENALI_PHY_312_DATA 0x00800080
+#define              DENALI_PHY_313_DATA 0x00800080
+#define              DENALI_PHY_314_DATA 0x00800080
+#define              DENALI_PHY_315_DATA 0x000100da
+#define              DENALI_PHY_316_DATA 0x00000200
+#define              DENALI_PHY_317_DATA 0x00000000
+#define              DENALI_PHY_318_DATA 0x00000000
+#define              DENALI_PHY_319_DATA 0x00000002
+#define              DENALI_PHY_320_DATA 0x51313152
+#define              DENALI_PHY_321_DATA 0x80013130
+#define              DENALI_PHY_322_DATA 0x02000080
+#define              DENALI_PHY_323_DATA 0x00100001
+#define              DENALI_PHY_324_DATA 0x0c064208
+#define              DENALI_PHY_325_DATA 0x000f0c0f
+#define              DENALI_PHY_326_DATA 0x01000140
+#define              DENALI_PHY_327_DATA 0x0000000c
+#define              DENALI_PHY_328_DATA 0x00000000
+#define              DENALI_PHY_329_DATA 0x00000000
+#define              DENALI_PHY_330_DATA 0x00000000
+#define              DENALI_PHY_331_DATA 0x00000000
+#define              DENALI_PHY_332_DATA 0x00000000
+#define              DENALI_PHY_333_DATA 0x00000000
+#define              DENALI_PHY_334_DATA 0x00000000
+#define              DENALI_PHY_335_DATA 0x00000000
+#define              DENALI_PHY_336_DATA 0x00000000
+#define              DENALI_PHY_337_DATA 0x00000000
+#define              DENALI_PHY_338_DATA 0x00000000
+#define              DENALI_PHY_339_DATA 0x00000000
+#define              DENALI_PHY_340_DATA 0x00000000
+#define              DENALI_PHY_341_DATA 0x00000000
+#define              DENALI_PHY_342_DATA 0x00000000
+#define              DENALI_PHY_343_DATA 0x00000000
+#define              DENALI_PHY_344_DATA 0x00000000
+#define              DENALI_PHY_345_DATA 0x00000000
+#define              DENALI_PHY_346_DATA 0x00000000
+#define              DENALI_PHY_347_DATA 0x00000000
+#define              DENALI_PHY_348_DATA 0x00000000
+#define              DENALI_PHY_349_DATA 0x00000000
+#define              DENALI_PHY_350_DATA 0x00000000
+#define              DENALI_PHY_351_DATA 0x00000000
+#define              DENALI_PHY_352_DATA 0x00000000
+#define              DENALI_PHY_353_DATA 0x00000000
+#define              DENALI_PHY_354_DATA 0x00000000
+#define              DENALI_PHY_355_DATA 0x00000000
+#define              DENALI_PHY_356_DATA 0x00000000
+#define              DENALI_PHY_357_DATA 0x00000000
+#define              DENALI_PHY_358_DATA 0x00000000
+#define              DENALI_PHY_359_DATA 0x00000000
+#define              DENALI_PHY_360_DATA 0x00000000
+#define              DENALI_PHY_361_DATA 0x00000000
+#define              DENALI_PHY_362_DATA 0x00000000
+#define              DENALI_PHY_363_DATA 0x00000000
+#define              DENALI_PHY_364_DATA 0x00000000
+#define              DENALI_PHY_365_DATA 0x00000000
+#define              DENALI_PHY_366_DATA 0x00000000
+#define              DENALI_PHY_367_DATA 0x00000000
+#define              DENALI_PHY_368_DATA 0x00000000
+#define              DENALI_PHY_369_DATA 0x00000000
+#define              DENALI_PHY_370_DATA 0x00000000
+#define              DENALI_PHY_371_DATA 0x00000000
+#define              DENALI_PHY_372_DATA 0x00000000
+#define              DENALI_PHY_373_DATA 0x00000000
+#define              DENALI_PHY_374_DATA 0x00000000
+#define              DENALI_PHY_375_DATA 0x00000000
+#define              DENALI_PHY_376_DATA 0x00000000
+#define              DENALI_PHY_377_DATA 0x00000000
+#define              DENALI_PHY_378_DATA 0x00000000
+#define              DENALI_PHY_379_DATA 0x00000000
+#define              DENALI_PHY_380_DATA 0x00000000
+#define              DENALI_PHY_381_DATA 0x00000000
+#define              DENALI_PHY_382_DATA 0x00000000
+#define              DENALI_PHY_383_DATA 0x00000000
+#define              DENALI_PHY_384_DATA 0x37654120
+#define              DENALI_PHY_385_DATA 0x0004c008
+#define              DENALI_PHY_386_DATA 0x000000da
+#define              DENALI_PHY_387_DATA 0x00000000
+#define              DENALI_PHY_388_DATA 0x00000000
+#define              DENALI_PHY_389_DATA 0x00010000
+#define              DENALI_PHY_390_DATA 0x01DDDD90
+#define              DENALI_PHY_391_DATA 0x01DDDD90
+#define              DENALI_PHY_392_DATA 0x01030000
+#define              DENALI_PHY_393_DATA 0x01000000
+#define              DENALI_PHY_394_DATA 0x00c00000
+#define              DENALI_PHY_395_DATA 0x00000007
+#define              DENALI_PHY_396_DATA 0x00000000
+#define              DENALI_PHY_397_DATA 0x00000000
+#define              DENALI_PHY_398_DATA 0x04000408
+#define              DENALI_PHY_399_DATA 0x00000408
+#define              DENALI_PHY_400_DATA 0x00e4e400
+#define              DENALI_PHY_401_DATA 0x00000000
+#define              DENALI_PHY_402_DATA 0x00000000
+#define              DENALI_PHY_403_DATA 0x00000000
+#define              DENALI_PHY_404_DATA 0x00000000
+#define              DENALI_PHY_405_DATA 0x00000000
+#define              DENALI_PHY_406_DATA 0x00000000
+#define              DENALI_PHY_407_DATA 0x00000000
+#define              DENALI_PHY_408_DATA 0x00000000
+#define              DENALI_PHY_409_DATA 0x00000000
+#define              DENALI_PHY_410_DATA 0x00000000
+#define              DENALI_PHY_411_DATA 0x00000000
+#define              DENALI_PHY_412_DATA 0x00000000
+#define              DENALI_PHY_413_DATA 0x00000000
+#define              DENALI_PHY_414_DATA 0x00000000
+#define              DENALI_PHY_415_DATA 0x00000000
+#define              DENALI_PHY_416_DATA 0x00000000
+#define              DENALI_PHY_417_DATA 0x00200000
+#define              DENALI_PHY_418_DATA 0x00000000
+#define              DENALI_PHY_419_DATA 0x00000000
+#define              DENALI_PHY_420_DATA 0x00000000
+#define              DENALI_PHY_421_DATA 0x00000000
+#define              DENALI_PHY_422_DATA 0x00000000
+#define              DENALI_PHY_423_DATA 0x00000000
+#define              DENALI_PHY_424_DATA 0x02800280
+#define              DENALI_PHY_425_DATA 0x02800280
+#define              DENALI_PHY_426_DATA 0x02800280
+#define              DENALI_PHY_427_DATA 0x02800280
+#define              DENALI_PHY_428_DATA 0x00000280
+#define              DENALI_PHY_429_DATA 0x00000000
+#define              DENALI_PHY_430_DATA 0x00000000
+#define              DENALI_PHY_431_DATA 0x00000000
+#define              DENALI_PHY_432_DATA 0x00000000
+#define              DENALI_PHY_433_DATA 0x00000000
+#define              DENALI_PHY_434_DATA 0x00800080
+#define              DENALI_PHY_435_DATA 0x00800080
+#define              DENALI_PHY_436_DATA 0x00800080
+#define              DENALI_PHY_437_DATA 0x00800080
+#define              DENALI_PHY_438_DATA 0x00800080
+#define              DENALI_PHY_439_DATA 0x00800080
+#define              DENALI_PHY_440_DATA 0x00800080
+#define              DENALI_PHY_441_DATA 0x00800080
+#define              DENALI_PHY_442_DATA 0x00800080
+#define              DENALI_PHY_443_DATA 0x000100da
+#define              DENALI_PHY_444_DATA 0x00000200
+#define              DENALI_PHY_445_DATA 0x00000000
+#define              DENALI_PHY_446_DATA 0x00000000
+#define              DENALI_PHY_447_DATA 0x00000002
+#define              DENALI_PHY_448_DATA 0x51313152
+#define              DENALI_PHY_449_DATA 0x80013130
+#define              DENALI_PHY_450_DATA 0x02000080
+#define              DENALI_PHY_451_DATA 0x00100001
+#define              DENALI_PHY_452_DATA 0x0c064208
+#define              DENALI_PHY_453_DATA 0x000f0c0f
+#define              DENALI_PHY_454_DATA 0x01000140
+#define              DENALI_PHY_455_DATA 0x0000000c
+#define              DENALI_PHY_456_DATA 0x00000000
+#define              DENALI_PHY_457_DATA 0x00000000
+#define              DENALI_PHY_458_DATA 0x00000000
+#define              DENALI_PHY_459_DATA 0x00000000
+#define              DENALI_PHY_460_DATA 0x00000000
+#define              DENALI_PHY_461_DATA 0x00000000
+#define              DENALI_PHY_462_DATA 0x00000000
+#define              DENALI_PHY_463_DATA 0x00000000
+#define              DENALI_PHY_464_DATA 0x00000000
+#define              DENALI_PHY_465_DATA 0x00000000
+#define              DENALI_PHY_466_DATA 0x00000000
+#define              DENALI_PHY_467_DATA 0x00000000
+#define              DENALI_PHY_468_DATA 0x00000000
+#define              DENALI_PHY_469_DATA 0x00000000
+#define              DENALI_PHY_470_DATA 0x00000000
+#define              DENALI_PHY_471_DATA 0x00000000
+#define              DENALI_PHY_472_DATA 0x00000000
+#define              DENALI_PHY_473_DATA 0x00000000
+#define              DENALI_PHY_474_DATA 0x00000000
+#define              DENALI_PHY_475_DATA 0x00000000
+#define              DENALI_PHY_476_DATA 0x00000000
+#define              DENALI_PHY_477_DATA 0x00000000
+#define              DENALI_PHY_478_DATA 0x00000000
+#define              DENALI_PHY_479_DATA 0x00000000
+#define              DENALI_PHY_480_DATA 0x00000000
+#define              DENALI_PHY_481_DATA 0x00000000
+#define              DENALI_PHY_482_DATA 0x00000000
+#define              DENALI_PHY_483_DATA 0x00000000
+#define              DENALI_PHY_484_DATA 0x00000000
+#define              DENALI_PHY_485_DATA 0x00000000
+#define              DENALI_PHY_486_DATA 0x00000000
+#define              DENALI_PHY_487_DATA 0x00000000
+#define              DENALI_PHY_488_DATA 0x00000000
+#define              DENALI_PHY_489_DATA 0x00000000
+#define              DENALI_PHY_490_DATA 0x00000000
+#define              DENALI_PHY_491_DATA 0x00000000
+#define              DENALI_PHY_492_DATA 0x00000000
+#define              DENALI_PHY_493_DATA 0x00000000
+#define              DENALI_PHY_494_DATA 0x00000000
+#define              DENALI_PHY_495_DATA 0x00000000
+#define              DENALI_PHY_496_DATA 0x00000000
+#define              DENALI_PHY_497_DATA 0x00000000
+#define              DENALI_PHY_498_DATA 0x00000000
+#define              DENALI_PHY_499_DATA 0x00000000
+#define              DENALI_PHY_500_DATA 0x00000000
+#define              DENALI_PHY_501_DATA 0x00000000
+#define              DENALI_PHY_502_DATA 0x00000000
+#define              DENALI_PHY_503_DATA 0x00000000
+#define              DENALI_PHY_504_DATA 0x00000000
+#define              DENALI_PHY_505_DATA 0x00000000
+#define              DENALI_PHY_506_DATA 0x00000000
+#define              DENALI_PHY_507_DATA 0x00000000
+#define              DENALI_PHY_508_DATA 0x00000000
+#define              DENALI_PHY_509_DATA 0x00000000
+#define              DENALI_PHY_510_DATA 0x00000000
+#define              DENALI_PHY_511_DATA 0x00000000
+#define              DENALI_PHY_512_DATA 0x24316750
+#define              DENALI_PHY_513_DATA 0x0004c008
+#define              DENALI_PHY_514_DATA 0x000000da
+#define              DENALI_PHY_515_DATA 0x00000000
+#define              DENALI_PHY_516_DATA 0x00000000
+#define              DENALI_PHY_517_DATA 0x00010000
+#define              DENALI_PHY_518_DATA 0x01DDDD90
+#define              DENALI_PHY_519_DATA 0x01DDDD90
+#define              DENALI_PHY_520_DATA 0x01030000
+#define              DENALI_PHY_521_DATA 0x01000000
+#define              DENALI_PHY_522_DATA 0x00c00000
+#define              DENALI_PHY_523_DATA 0x00000007
+#define              DENALI_PHY_524_DATA 0x00000000
+#define              DENALI_PHY_525_DATA 0x00000000
+#define              DENALI_PHY_526_DATA 0x04000408
+#define              DENALI_PHY_527_DATA 0x00000408
+#define              DENALI_PHY_528_DATA 0x00e4e400
+#define              DENALI_PHY_529_DATA 0x00000000
+#define              DENALI_PHY_530_DATA 0x00000000
+#define              DENALI_PHY_531_DATA 0x00000000
+#define              DENALI_PHY_532_DATA 0x00000000
+#define              DENALI_PHY_533_DATA 0x00000000
+#define              DENALI_PHY_534_DATA 0x00000000
+#define              DENALI_PHY_535_DATA 0x00000000
+#define              DENALI_PHY_536_DATA 0x00000000
+#define              DENALI_PHY_537_DATA 0x00000000
+#define              DENALI_PHY_538_DATA 0x00000000
+#define              DENALI_PHY_539_DATA 0x00000000
+#define              DENALI_PHY_540_DATA 0x00000000
+#define              DENALI_PHY_541_DATA 0x00000000
+#define              DENALI_PHY_542_DATA 0x00000000
+#define              DENALI_PHY_543_DATA 0x00000000
+#define              DENALI_PHY_544_DATA 0x00000000
+#define              DENALI_PHY_545_DATA 0x00200000
+#define              DENALI_PHY_546_DATA 0x00000000
+#define              DENALI_PHY_547_DATA 0x00000000
+#define              DENALI_PHY_548_DATA 0x00000000
+#define              DENALI_PHY_549_DATA 0x00000000
+#define              DENALI_PHY_550_DATA 0x00000000
+#define              DENALI_PHY_551_DATA 0x00000000
+#define              DENALI_PHY_552_DATA 0x02800280
+#define              DENALI_PHY_553_DATA 0x02800280
+#define              DENALI_PHY_554_DATA 0x02800280
+#define              DENALI_PHY_555_DATA 0x02800280
+#define              DENALI_PHY_556_DATA 0x00000280
+#define              DENALI_PHY_557_DATA 0x00000000
+#define              DENALI_PHY_558_DATA 0x00000000
+#define              DENALI_PHY_559_DATA 0x00000000
+#define              DENALI_PHY_560_DATA 0x00000000
+#define              DENALI_PHY_561_DATA 0x00000000
+#define              DENALI_PHY_562_DATA 0x00800080
+#define              DENALI_PHY_563_DATA 0x00800080
+#define              DENALI_PHY_564_DATA 0x00800080
+#define              DENALI_PHY_565_DATA 0x00800080
+#define              DENALI_PHY_566_DATA 0x00800080
+#define              DENALI_PHY_567_DATA 0x00800080
+#define              DENALI_PHY_568_DATA 0x00800080
+#define              DENALI_PHY_569_DATA 0x00800080
+#define              DENALI_PHY_570_DATA 0x00800080
+#define              DENALI_PHY_571_DATA 0x000100da
+#define              DENALI_PHY_572_DATA 0x00000200
+#define              DENALI_PHY_573_DATA 0x00000000
+#define              DENALI_PHY_574_DATA 0x00000000
+#define              DENALI_PHY_575_DATA 0x00000002
+#define              DENALI_PHY_576_DATA 0x51313152
+#define              DENALI_PHY_577_DATA 0x80013130
+#define              DENALI_PHY_578_DATA 0x02000080
+#define              DENALI_PHY_579_DATA 0x00100001
+#define              DENALI_PHY_580_DATA 0x0c064208
+#define              DENALI_PHY_581_DATA 0x000f0c0f
+#define              DENALI_PHY_582_DATA 0x01000140
+#define              DENALI_PHY_583_DATA 0x0000000c
+#define              DENALI_PHY_584_DATA 0x00000000
+#define              DENALI_PHY_585_DATA 0x00000000
+#define              DENALI_PHY_586_DATA 0x00000000
+#define              DENALI_PHY_587_DATA 0x00000000
+#define              DENALI_PHY_588_DATA 0x00000000
+#define              DENALI_PHY_589_DATA 0x00000000
+#define              DENALI_PHY_590_DATA 0x00000000
+#define              DENALI_PHY_591_DATA 0x00000000
+#define              DENALI_PHY_592_DATA 0x00000000
+#define              DENALI_PHY_593_DATA 0x00000000
+#define              DENALI_PHY_594_DATA 0x00000000
+#define              DENALI_PHY_595_DATA 0x00000000
+#define              DENALI_PHY_596_DATA 0x00000000
+#define              DENALI_PHY_597_DATA 0x00000000
+#define              DENALI_PHY_598_DATA 0x00000000
+#define              DENALI_PHY_599_DATA 0x00000000
+#define              DENALI_PHY_600_DATA 0x00000000
+#define              DENALI_PHY_601_DATA 0x00000000
+#define              DENALI_PHY_602_DATA 0x00000000
+#define              DENALI_PHY_603_DATA 0x00000000
+#define              DENALI_PHY_604_DATA 0x00000000
+#define              DENALI_PHY_605_DATA 0x00000000
+#define              DENALI_PHY_606_DATA 0x00000000
+#define              DENALI_PHY_607_DATA 0x00000000
+#define              DENALI_PHY_608_DATA 0x00000000
+#define              DENALI_PHY_609_DATA 0x00000000
+#define              DENALI_PHY_610_DATA 0x00000000
+#define              DENALI_PHY_611_DATA 0x00000000
+#define              DENALI_PHY_612_DATA 0x00000000
+#define              DENALI_PHY_613_DATA 0x00000000
+#define              DENALI_PHY_614_DATA 0x00000000
+#define              DENALI_PHY_615_DATA 0x00000000
+#define              DENALI_PHY_616_DATA 0x00000000
+#define              DENALI_PHY_617_DATA 0x00000000
+#define              DENALI_PHY_618_DATA 0x00000000
+#define              DENALI_PHY_619_DATA 0x00000000
+#define              DENALI_PHY_620_DATA 0x00000000
+#define              DENALI_PHY_621_DATA 0x00000000
+#define              DENALI_PHY_622_DATA 0x00000000
+#define              DENALI_PHY_623_DATA 0x00000000
+#define              DENALI_PHY_624_DATA 0x00000000
+#define              DENALI_PHY_625_DATA 0x00000000
+#define              DENALI_PHY_626_DATA 0x00000000
+#define              DENALI_PHY_627_DATA 0x00000000
+#define              DENALI_PHY_628_DATA 0x00000000
+#define              DENALI_PHY_629_DATA 0x00000000
+#define              DENALI_PHY_630_DATA 0x00000000
+#define              DENALI_PHY_631_DATA 0x00000000
+#define              DENALI_PHY_632_DATA 0x00000000
+#define              DENALI_PHY_633_DATA 0x00000000
+#define              DENALI_PHY_634_DATA 0x00000000
+#define              DENALI_PHY_635_DATA 0x00000000
+#define              DENALI_PHY_636_DATA 0x00000000
+#define              DENALI_PHY_637_DATA 0x00000000
+#define              DENALI_PHY_638_DATA 0x00000000
+#define              DENALI_PHY_639_DATA 0x00000000
+#define              DENALI_PHY_640_DATA 0x35174620
+#define              DENALI_PHY_641_DATA 0x0004c008
+#define              DENALI_PHY_642_DATA 0x000000da
+#define              DENALI_PHY_643_DATA 0x00000000
+#define              DENALI_PHY_644_DATA 0x00000000
+#define              DENALI_PHY_645_DATA 0x00010000
+#define              DENALI_PHY_646_DATA 0x01DDDD90
+#define              DENALI_PHY_647_DATA 0x01DDDD90
+#define              DENALI_PHY_648_DATA 0x01030000
+#define              DENALI_PHY_649_DATA 0x01000000
+#define              DENALI_PHY_650_DATA 0x00c00000
+#define              DENALI_PHY_651_DATA 0x00000007
+#define              DENALI_PHY_652_DATA 0x00000000
+#define              DENALI_PHY_653_DATA 0x00000000
+#define              DENALI_PHY_654_DATA 0x04000408
+#define              DENALI_PHY_655_DATA 0x00000408
+#define              DENALI_PHY_656_DATA 0x00e4e400
+#define              DENALI_PHY_657_DATA 0x00000000
+#define              DENALI_PHY_658_DATA 0x00000000
+#define              DENALI_PHY_659_DATA 0x00000000
+#define              DENALI_PHY_660_DATA 0x00000000
+#define              DENALI_PHY_661_DATA 0x00000000
+#define              DENALI_PHY_662_DATA 0x00000000
+#define              DENALI_PHY_663_DATA 0x00000000
+#define              DENALI_PHY_664_DATA 0x00000000
+#define              DENALI_PHY_665_DATA 0x00000000
+#define              DENALI_PHY_666_DATA 0x00000000
+#define              DENALI_PHY_667_DATA 0x00000000
+#define              DENALI_PHY_668_DATA 0x00000000
+#define              DENALI_PHY_669_DATA 0x00000000
+#define              DENALI_PHY_670_DATA 0x00000000
+#define              DENALI_PHY_671_DATA 0x00000000
+#define              DENALI_PHY_672_DATA 0x00000000
+#define              DENALI_PHY_673_DATA 0x00200000
+#define              DENALI_PHY_674_DATA 0x00000000
+#define              DENALI_PHY_675_DATA 0x00000000
+#define              DENALI_PHY_676_DATA 0x00000000
+#define              DENALI_PHY_677_DATA 0x00000000
+#define              DENALI_PHY_678_DATA 0x00000000
+#define              DENALI_PHY_679_DATA 0x00000000
+#define              DENALI_PHY_680_DATA 0x02800280
+#define              DENALI_PHY_681_DATA 0x02800280
+#define              DENALI_PHY_682_DATA 0x02800280
+#define              DENALI_PHY_683_DATA 0x02800280
+#define              DENALI_PHY_684_DATA 0x00000280
+#define              DENALI_PHY_685_DATA 0x00000000
+#define              DENALI_PHY_686_DATA 0x00000000
+#define              DENALI_PHY_687_DATA 0x00000000
+#define              DENALI_PHY_688_DATA 0x00000000
+#define              DENALI_PHY_689_DATA 0x00000000
+#define              DENALI_PHY_690_DATA 0x00800080
+#define              DENALI_PHY_691_DATA 0x00800080
+#define              DENALI_PHY_692_DATA 0x00800080
+#define              DENALI_PHY_693_DATA 0x00800080
+#define              DENALI_PHY_694_DATA 0x00800080
+#define              DENALI_PHY_695_DATA 0x00800080
+#define              DENALI_PHY_696_DATA 0x00800080
+#define              DENALI_PHY_697_DATA 0x00800080
+#define              DENALI_PHY_698_DATA 0x00800080
+#define              DENALI_PHY_699_DATA 0x000100da
+#define              DENALI_PHY_700_DATA 0x00000200
+#define              DENALI_PHY_701_DATA 0x00000000
+#define              DENALI_PHY_702_DATA 0x00000000
+#define              DENALI_PHY_703_DATA 0x00000002
+#define              DENALI_PHY_704_DATA 0x51313152
+#define              DENALI_PHY_705_DATA 0x80013130
+#define              DENALI_PHY_706_DATA 0x02000080
+#define              DENALI_PHY_707_DATA 0x00100001
+#define              DENALI_PHY_708_DATA 0x0c064208
+#define              DENALI_PHY_709_DATA 0x000f0c0f
+#define              DENALI_PHY_710_DATA 0x01000140
+#define              DENALI_PHY_711_DATA 0x0000000c
+#define              DENALI_PHY_712_DATA 0x00000000
+#define              DENALI_PHY_713_DATA 0x00000000
+#define              DENALI_PHY_714_DATA 0x00000000
+#define              DENALI_PHY_715_DATA 0x00000000
+#define              DENALI_PHY_716_DATA 0x00000000
+#define              DENALI_PHY_717_DATA 0x00000000
+#define              DENALI_PHY_718_DATA 0x00000000
+#define              DENALI_PHY_719_DATA 0x00000000
+#define              DENALI_PHY_720_DATA 0x00000000
+#define              DENALI_PHY_721_DATA 0x00000000
+#define              DENALI_PHY_722_DATA 0x00000000
+#define              DENALI_PHY_723_DATA 0x00000000
+#define              DENALI_PHY_724_DATA 0x00000000
+#define              DENALI_PHY_725_DATA 0x00000000
+#define              DENALI_PHY_726_DATA 0x00000000
+#define              DENALI_PHY_727_DATA 0x00000000
+#define              DENALI_PHY_728_DATA 0x00000000
+#define              DENALI_PHY_729_DATA 0x00000000
+#define              DENALI_PHY_730_DATA 0x00000000
+#define              DENALI_PHY_731_DATA 0x00000000
+#define              DENALI_PHY_732_DATA 0x00000000
+#define              DENALI_PHY_733_DATA 0x00000000
+#define              DENALI_PHY_734_DATA 0x00000000
+#define              DENALI_PHY_735_DATA 0x00000000
+#define              DENALI_PHY_736_DATA 0x00000000
+#define              DENALI_PHY_737_DATA 0x00000000
+#define              DENALI_PHY_738_DATA 0x00000000
+#define              DENALI_PHY_739_DATA 0x00000000
+#define              DENALI_PHY_740_DATA 0x00000000
+#define              DENALI_PHY_741_DATA 0x00000000
+#define              DENALI_PHY_742_DATA 0x00000000
+#define              DENALI_PHY_743_DATA 0x00000000
+#define              DENALI_PHY_744_DATA 0x00000000
+#define              DENALI_PHY_745_DATA 0x00000000
+#define              DENALI_PHY_746_DATA 0x00000000
+#define              DENALI_PHY_747_DATA 0x00000000
+#define              DENALI_PHY_748_DATA 0x00000000
+#define              DENALI_PHY_749_DATA 0x00000000
+#define              DENALI_PHY_750_DATA 0x00000000
+#define              DENALI_PHY_751_DATA 0x00000000
+#define              DENALI_PHY_752_DATA 0x00000000
+#define              DENALI_PHY_753_DATA 0x00000000
+#define              DENALI_PHY_754_DATA 0x00000000
+#define              DENALI_PHY_755_DATA 0x00000000
+#define              DENALI_PHY_756_DATA 0x00000000
+#define              DENALI_PHY_757_DATA 0x00000000
+#define              DENALI_PHY_758_DATA 0x00000000
+#define              DENALI_PHY_759_DATA 0x00000000
+#define              DENALI_PHY_760_DATA 0x00000000
+#define              DENALI_PHY_761_DATA 0x00000000
+#define              DENALI_PHY_762_DATA 0x00000000
+#define              DENALI_PHY_763_DATA 0x00000000
+#define              DENALI_PHY_764_DATA 0x00000000
+#define              DENALI_PHY_765_DATA 0x00000000
+#define              DENALI_PHY_766_DATA 0x00000000
+#define              DENALI_PHY_767_DATA 0x00000000
+#define              DENALI_PHY_768_DATA 0x15203476
+#define              DENALI_PHY_769_DATA 0x0004c008
+#define              DENALI_PHY_770_DATA 0x000000da
+#define              DENALI_PHY_771_DATA 0x00000000
+#define              DENALI_PHY_772_DATA 0x00000000
+#define              DENALI_PHY_773_DATA 0x00010000
+#define              DENALI_PHY_774_DATA 0x01DDDD90
+#define              DENALI_PHY_775_DATA 0x01DDDD90
+#define              DENALI_PHY_776_DATA 0x01030000
+#define              DENALI_PHY_777_DATA 0x01000000
+#define              DENALI_PHY_778_DATA 0x00c00000
+#define              DENALI_PHY_779_DATA 0x00000007
+#define              DENALI_PHY_780_DATA 0x00000000
+#define              DENALI_PHY_781_DATA 0x00000000
+#define              DENALI_PHY_782_DATA 0x04000408
+#define              DENALI_PHY_783_DATA 0x00000408
+#define              DENALI_PHY_784_DATA 0x00e4e400
+#define              DENALI_PHY_785_DATA 0x00000000
+#define              DENALI_PHY_786_DATA 0x00000000
+#define              DENALI_PHY_787_DATA 0x00000000
+#define              DENALI_PHY_788_DATA 0x00000000
+#define              DENALI_PHY_789_DATA 0x00000000
+#define              DENALI_PHY_790_DATA 0x00000000
+#define              DENALI_PHY_791_DATA 0x00000000
+#define              DENALI_PHY_792_DATA 0x00000000
+#define              DENALI_PHY_793_DATA 0x00000000
+#define              DENALI_PHY_794_DATA 0x00000000
+#define              DENALI_PHY_795_DATA 0x00000000
+#define              DENALI_PHY_796_DATA 0x00000000
+#define              DENALI_PHY_797_DATA 0x00000000
+#define              DENALI_PHY_798_DATA 0x00000000
+#define              DENALI_PHY_799_DATA 0x00000000
+#define              DENALI_PHY_800_DATA 0x00000000
+#define              DENALI_PHY_801_DATA 0x00200000
+#define              DENALI_PHY_802_DATA 0x00000000
+#define              DENALI_PHY_803_DATA 0x00000000
+#define              DENALI_PHY_804_DATA 0x00000000
+#define              DENALI_PHY_805_DATA 0x00000000
+#define              DENALI_PHY_806_DATA 0x00000000
+#define              DENALI_PHY_807_DATA 0x00000000
+#define              DENALI_PHY_808_DATA 0x02800280
+#define              DENALI_PHY_809_DATA 0x02800280
+#define              DENALI_PHY_810_DATA 0x02800280
+#define              DENALI_PHY_811_DATA 0x02800280
+#define              DENALI_PHY_812_DATA 0x00000280
+#define              DENALI_PHY_813_DATA 0x00000000
+#define              DENALI_PHY_814_DATA 0x00000000
+#define              DENALI_PHY_815_DATA 0x00000000
+#define              DENALI_PHY_816_DATA 0x00000000
+#define              DENALI_PHY_817_DATA 0x00000000
+#define              DENALI_PHY_818_DATA 0x00800080
+#define              DENALI_PHY_819_DATA 0x00800080
+#define              DENALI_PHY_820_DATA 0x00800080
+#define              DENALI_PHY_821_DATA 0x00800080
+#define              DENALI_PHY_822_DATA 0x00800080
+#define              DENALI_PHY_823_DATA 0x00800080
+#define              DENALI_PHY_824_DATA 0x00800080
+#define              DENALI_PHY_825_DATA 0x00800080
+#define              DENALI_PHY_826_DATA 0x00800080
+#define              DENALI_PHY_827_DATA 0x000100da
+#define              DENALI_PHY_828_DATA 0x00000200
+#define              DENALI_PHY_829_DATA 0x00000000
+#define              DENALI_PHY_830_DATA 0x00000000
+#define              DENALI_PHY_831_DATA 0x00000002
+#define              DENALI_PHY_832_DATA 0x51313152
+#define              DENALI_PHY_833_DATA 0x80013130
+#define              DENALI_PHY_834_DATA 0x02000080
+#define              DENALI_PHY_835_DATA 0x00100001
+#define              DENALI_PHY_836_DATA 0x0c064208
+#define              DENALI_PHY_837_DATA 0x000f0c0f
+#define              DENALI_PHY_838_DATA 0x01000140
+#define              DENALI_PHY_839_DATA 0x0000000c
+#define              DENALI_PHY_840_DATA 0x00000000
+#define              DENALI_PHY_841_DATA 0x00000000
+#define              DENALI_PHY_842_DATA 0x00000000
+#define              DENALI_PHY_843_DATA 0x00000000
+#define              DENALI_PHY_844_DATA 0x00000000
+#define              DENALI_PHY_845_DATA 0x00000000
+#define              DENALI_PHY_846_DATA 0x00000000
+#define              DENALI_PHY_847_DATA 0x00000000
+#define              DENALI_PHY_848_DATA 0x00000000
+#define              DENALI_PHY_849_DATA 0x00000000
+#define              DENALI_PHY_850_DATA 0x00000000
+#define              DENALI_PHY_851_DATA 0x00000000
+#define              DENALI_PHY_852_DATA 0x00000000
+#define              DENALI_PHY_853_DATA 0x00000000
+#define              DENALI_PHY_854_DATA 0x00000000
+#define              DENALI_PHY_855_DATA 0x00000000
+#define              DENALI_PHY_856_DATA 0x00000000
+#define              DENALI_PHY_857_DATA 0x00000000
+#define              DENALI_PHY_858_DATA 0x00000000
+#define              DENALI_PHY_859_DATA 0x00000000
+#define              DENALI_PHY_860_DATA 0x00000000
+#define              DENALI_PHY_861_DATA 0x00000000
+#define              DENALI_PHY_862_DATA 0x00000000
+#define              DENALI_PHY_863_DATA 0x00000000
+#define              DENALI_PHY_864_DATA 0x00000000
+#define              DENALI_PHY_865_DATA 0x00000000
+#define              DENALI_PHY_866_DATA 0x00000000
+#define              DENALI_PHY_867_DATA 0x00000000
+#define              DENALI_PHY_868_DATA 0x00000000
+#define              DENALI_PHY_869_DATA 0x00000000
+#define              DENALI_PHY_870_DATA 0x00000000
+#define              DENALI_PHY_871_DATA 0x00000000
+#define              DENALI_PHY_872_DATA 0x00000000
+#define              DENALI_PHY_873_DATA 0x00000000
+#define              DENALI_PHY_874_DATA 0x00000000
+#define              DENALI_PHY_875_DATA 0x00000000
+#define              DENALI_PHY_876_DATA 0x00000000
+#define              DENALI_PHY_877_DATA 0x00000000
+#define              DENALI_PHY_878_DATA 0x00000000
+#define              DENALI_PHY_879_DATA 0x00000000
+#define              DENALI_PHY_880_DATA 0x00000000
+#define              DENALI_PHY_881_DATA 0x00000000
+#define              DENALI_PHY_882_DATA 0x00000000
+#define              DENALI_PHY_883_DATA 0x00000000
+#define              DENALI_PHY_884_DATA 0x00000000
+#define              DENALI_PHY_885_DATA 0x00000000
+#define              DENALI_PHY_886_DATA 0x00000000
+#define              DENALI_PHY_887_DATA 0x00000000
+#define              DENALI_PHY_888_DATA 0x00000000
+#define              DENALI_PHY_889_DATA 0x00000000
+#define              DENALI_PHY_890_DATA 0x00000000
+#define              DENALI_PHY_891_DATA 0x00000000
+#define              DENALI_PHY_892_DATA 0x00000000
+#define              DENALI_PHY_893_DATA 0x00000000
+#define              DENALI_PHY_894_DATA 0x00000000
+#define              DENALI_PHY_895_DATA 0x00000000
+#define              DENALI_PHY_896_DATA 0x41753206
+#define              DENALI_PHY_897_DATA 0x0004c008
+#define              DENALI_PHY_898_DATA 0x000000da
+#define              DENALI_PHY_899_DATA 0x00000000
+#define              DENALI_PHY_900_DATA 0x00000000
+#define              DENALI_PHY_901_DATA 0x00010000
+#define              DENALI_PHY_902_DATA 0x01DDDD90
+#define              DENALI_PHY_903_DATA 0x01DDDD90
+#define              DENALI_PHY_904_DATA 0x01030000
+#define              DENALI_PHY_905_DATA 0x01000000
+#define              DENALI_PHY_906_DATA 0x00c00000
+#define              DENALI_PHY_907_DATA 0x00000007
+#define              DENALI_PHY_908_DATA 0x00000000
+#define              DENALI_PHY_909_DATA 0x00000000
+#define              DENALI_PHY_910_DATA 0x04000408
+#define              DENALI_PHY_911_DATA 0x00000408
+#define              DENALI_PHY_912_DATA 0x00e4e400
+#define              DENALI_PHY_913_DATA 0x00000000
+#define              DENALI_PHY_914_DATA 0x00000000
+#define              DENALI_PHY_915_DATA 0x00000000
+#define              DENALI_PHY_916_DATA 0x00000000
+#define              DENALI_PHY_917_DATA 0x00000000
+#define              DENALI_PHY_918_DATA 0x00000000
+#define              DENALI_PHY_919_DATA 0x00000000
+#define              DENALI_PHY_920_DATA 0x00000000
+#define              DENALI_PHY_921_DATA 0x00000000
+#define              DENALI_PHY_922_DATA 0x00000000
+#define              DENALI_PHY_923_DATA 0x00000000
+#define              DENALI_PHY_924_DATA 0x00000000
+#define              DENALI_PHY_925_DATA 0x00000000
+#define              DENALI_PHY_926_DATA 0x00000000
+#define              DENALI_PHY_927_DATA 0x00000000
+#define              DENALI_PHY_928_DATA 0x00000000
+#define              DENALI_PHY_929_DATA 0x00200000
+#define              DENALI_PHY_930_DATA 0x00000000
+#define              DENALI_PHY_931_DATA 0x00000000
+#define              DENALI_PHY_932_DATA 0x00000000
+#define              DENALI_PHY_933_DATA 0x00000000
+#define              DENALI_PHY_934_DATA 0x00000000
+#define              DENALI_PHY_935_DATA 0x00000000
+#define              DENALI_PHY_936_DATA 0x02800280
+#define              DENALI_PHY_937_DATA 0x02800280
+#define              DENALI_PHY_938_DATA 0x02800280
+#define              DENALI_PHY_939_DATA 0x02800280
+#define              DENALI_PHY_940_DATA 0x00000280
+#define              DENALI_PHY_941_DATA 0x00000000
+#define              DENALI_PHY_942_DATA 0x00000000
+#define              DENALI_PHY_943_DATA 0x00000000
+#define              DENALI_PHY_944_DATA 0x00000000
+#define              DENALI_PHY_945_DATA 0x00000000
+#define              DENALI_PHY_946_DATA 0x00800080
+#define              DENALI_PHY_947_DATA 0x00800080
+#define              DENALI_PHY_948_DATA 0x00800080
+#define              DENALI_PHY_949_DATA 0x00800080
+#define              DENALI_PHY_950_DATA 0x00800080
+#define              DENALI_PHY_951_DATA 0x00800080
+#define              DENALI_PHY_952_DATA 0x00800080
+#define              DENALI_PHY_953_DATA 0x00800080
+#define              DENALI_PHY_954_DATA 0x00800080
+#define              DENALI_PHY_955_DATA 0x000100da
+#define              DENALI_PHY_956_DATA 0x00000200
+#define              DENALI_PHY_957_DATA 0x00000000
+#define              DENALI_PHY_958_DATA 0x00000000
+#define              DENALI_PHY_959_DATA 0x00000002
+#define              DENALI_PHY_960_DATA 0x51313152
+#define              DENALI_PHY_961_DATA 0x80013130
+#define              DENALI_PHY_962_DATA 0x02000080
+#define              DENALI_PHY_963_DATA 0x00100001
+#define              DENALI_PHY_964_DATA 0x0c064208
+#define              DENALI_PHY_965_DATA 0x000f0c0f
+#define              DENALI_PHY_966_DATA 0x01000140
+#define              DENALI_PHY_967_DATA 0x0000000c
+#define              DENALI_PHY_968_DATA 0x00000000
+#define              DENALI_PHY_969_DATA 0x00000000
+#define              DENALI_PHY_970_DATA 0x00000000
+#define              DENALI_PHY_971_DATA 0x00000000
+#define              DENALI_PHY_972_DATA 0x00000000
+#define              DENALI_PHY_973_DATA 0x00000000
+#define              DENALI_PHY_974_DATA 0x00000000
+#define              DENALI_PHY_975_DATA 0x00000000
+#define              DENALI_PHY_976_DATA 0x00000000
+#define              DENALI_PHY_977_DATA 0x00000000
+#define              DENALI_PHY_978_DATA 0x00000000
+#define              DENALI_PHY_979_DATA 0x00000000
+#define              DENALI_PHY_980_DATA 0x00000000
+#define              DENALI_PHY_981_DATA 0x00000000
+#define              DENALI_PHY_982_DATA 0x00000000
+#define              DENALI_PHY_983_DATA 0x00000000
+#define              DENALI_PHY_984_DATA 0x00000000
+#define              DENALI_PHY_985_DATA 0x00000000
+#define              DENALI_PHY_986_DATA 0x00000000
+#define              DENALI_PHY_987_DATA 0x00000000
+#define              DENALI_PHY_988_DATA 0x00000000
+#define              DENALI_PHY_989_DATA 0x00000000
+#define              DENALI_PHY_990_DATA 0x00000000
+#define              DENALI_PHY_991_DATA 0x00000000
+#define              DENALI_PHY_992_DATA 0x00000000
+#define              DENALI_PHY_993_DATA 0x00000000
+#define              DENALI_PHY_994_DATA 0x00000000
+#define              DENALI_PHY_995_DATA 0x00000000
+#define              DENALI_PHY_996_DATA 0x00000000
+#define              DENALI_PHY_997_DATA 0x00000000
+#define              DENALI_PHY_998_DATA 0x00000000
+#define              DENALI_PHY_999_DATA 0x00000000
+#define             DENALI_PHY_1000_DATA 0x00000000
+#define             DENALI_PHY_1001_DATA 0x00000000
+#define             DENALI_PHY_1002_DATA 0x00000000
+#define             DENALI_PHY_1003_DATA 0x00000000
+#define             DENALI_PHY_1004_DATA 0x00000000
+#define             DENALI_PHY_1005_DATA 0x00000000
+#define             DENALI_PHY_1006_DATA 0x00000000
+#define             DENALI_PHY_1007_DATA 0x00000000
+#define             DENALI_PHY_1008_DATA 0x00000000
+#define             DENALI_PHY_1009_DATA 0x00000000
+#define             DENALI_PHY_1010_DATA 0x00000000
+#define             DENALI_PHY_1011_DATA 0x00000000
+#define             DENALI_PHY_1012_DATA 0x00000000
+#define             DENALI_PHY_1013_DATA 0x00000000
+#define             DENALI_PHY_1014_DATA 0x00000000
+#define             DENALI_PHY_1015_DATA 0x00000000
+#define             DENALI_PHY_1016_DATA 0x00000000
+#define             DENALI_PHY_1017_DATA 0x00000000
+#define             DENALI_PHY_1018_DATA 0x00000000
+#define             DENALI_PHY_1019_DATA 0x00000000
+#define             DENALI_PHY_1020_DATA 0x00000000
+#define             DENALI_PHY_1021_DATA 0x00000000
+#define             DENALI_PHY_1022_DATA 0x00000000
+#define             DENALI_PHY_1023_DATA 0x00000000
+#define             DENALI_PHY_1024_DATA 0x36025174
+#define             DENALI_PHY_1025_DATA 0x0004c008
+#define             DENALI_PHY_1026_DATA 0x000000da
+#define             DENALI_PHY_1027_DATA 0x00000000
+#define             DENALI_PHY_1028_DATA 0x00000000
+#define             DENALI_PHY_1029_DATA 0x00010000
+#define             DENALI_PHY_1030_DATA 0x01DDDD90
+#define             DENALI_PHY_1031_DATA 0x01DDDD90
+#define             DENALI_PHY_1032_DATA 0x01030000
+#define             DENALI_PHY_1033_DATA 0x01000000
+#define             DENALI_PHY_1034_DATA 0x00c00000
+#define             DENALI_PHY_1035_DATA 0x00000007
+#define             DENALI_PHY_1036_DATA 0x00000000
+#define             DENALI_PHY_1037_DATA 0x00000000
+#define             DENALI_PHY_1038_DATA 0x04000408
+#define             DENALI_PHY_1039_DATA 0x00000408
+#define             DENALI_PHY_1040_DATA 0x00e4e400
+#define             DENALI_PHY_1041_DATA 0x00000000
+#define             DENALI_PHY_1042_DATA 0x00000000
+#define             DENALI_PHY_1043_DATA 0x00000000
+#define             DENALI_PHY_1044_DATA 0x00000000
+#define             DENALI_PHY_1045_DATA 0x00000000
+#define             DENALI_PHY_1046_DATA 0x00000000
+#define             DENALI_PHY_1047_DATA 0x00000000
+#define             DENALI_PHY_1048_DATA 0x00000000
+#define             DENALI_PHY_1049_DATA 0x00000000
+#define             DENALI_PHY_1050_DATA 0x00000000
+#define             DENALI_PHY_1051_DATA 0x00000000
+#define             DENALI_PHY_1052_DATA 0x00000000
+#define             DENALI_PHY_1053_DATA 0x00000000
+#define             DENALI_PHY_1054_DATA 0x00000000
+#define             DENALI_PHY_1055_DATA 0x00000000
+#define             DENALI_PHY_1056_DATA 0x00000000
+#define             DENALI_PHY_1057_DATA 0x00200000
+#define             DENALI_PHY_1058_DATA 0x00000000
+#define             DENALI_PHY_1059_DATA 0x00000000
+#define             DENALI_PHY_1060_DATA 0x00000000
+#define             DENALI_PHY_1061_DATA 0x00000000
+#define             DENALI_PHY_1062_DATA 0x00000000
+#define             DENALI_PHY_1063_DATA 0x00000000
+#define             DENALI_PHY_1064_DATA 0x02800280
+#define             DENALI_PHY_1065_DATA 0x02800280
+#define             DENALI_PHY_1066_DATA 0x02800280
+#define             DENALI_PHY_1067_DATA 0x02800280
+#define             DENALI_PHY_1068_DATA 0x00000280
+#define             DENALI_PHY_1069_DATA 0x00000000
+#define             DENALI_PHY_1070_DATA 0x00000000
+#define             DENALI_PHY_1071_DATA 0x00000000
+#define             DENALI_PHY_1072_DATA 0x00000000
+#define             DENALI_PHY_1073_DATA 0x00000000
+#define             DENALI_PHY_1074_DATA 0x00800080
+#define             DENALI_PHY_1075_DATA 0x00800080
+#define             DENALI_PHY_1076_DATA 0x00800080
+#define             DENALI_PHY_1077_DATA 0x00800080
+#define             DENALI_PHY_1078_DATA 0x00800080
+#define             DENALI_PHY_1079_DATA 0x00800080
+#define             DENALI_PHY_1080_DATA 0x00800080
+#define             DENALI_PHY_1081_DATA 0x00800080
+#define             DENALI_PHY_1082_DATA 0x00800080
+#define             DENALI_PHY_1083_DATA 0x000100da
+#define             DENALI_PHY_1084_DATA 0x00000200
+#define             DENALI_PHY_1085_DATA 0x00000000
+#define             DENALI_PHY_1086_DATA 0x00000000
+#define             DENALI_PHY_1087_DATA 0x00000002
+#define             DENALI_PHY_1088_DATA 0x51313152
+#define             DENALI_PHY_1089_DATA 0x80013130
+#define             DENALI_PHY_1090_DATA 0x02000080
+#define             DENALI_PHY_1091_DATA 0x00100001
+#define             DENALI_PHY_1092_DATA 0x0c064208
+#define             DENALI_PHY_1093_DATA 0x000f0c0f
+#define             DENALI_PHY_1094_DATA 0x01000140
+#define             DENALI_PHY_1095_DATA 0x0000000c
+#define             DENALI_PHY_1096_DATA 0x00000000
+#define             DENALI_PHY_1097_DATA 0x00000000
+#define             DENALI_PHY_1098_DATA 0x00000000
+#define             DENALI_PHY_1099_DATA 0x00000000
+#define             DENALI_PHY_1100_DATA 0x00000000
+#define             DENALI_PHY_1101_DATA 0x00000000
+#define             DENALI_PHY_1102_DATA 0x00000000
+#define             DENALI_PHY_1103_DATA 0x00000000
+#define             DENALI_PHY_1104_DATA 0x00000000
+#define             DENALI_PHY_1105_DATA 0x00000000
+#define             DENALI_PHY_1106_DATA 0x00000000
+#define             DENALI_PHY_1107_DATA 0x00000000
+#define             DENALI_PHY_1108_DATA 0x00000000
+#define             DENALI_PHY_1109_DATA 0x00000000
+#define             DENALI_PHY_1110_DATA 0x00000000
+#define             DENALI_PHY_1111_DATA 0x00000000
+#define             DENALI_PHY_1112_DATA 0x00000000
+#define             DENALI_PHY_1113_DATA 0x00000000
+#define             DENALI_PHY_1114_DATA 0x00000000
+#define             DENALI_PHY_1115_DATA 0x00000000
+#define             DENALI_PHY_1116_DATA 0x00000000
+#define             DENALI_PHY_1117_DATA 0x00000000
+#define             DENALI_PHY_1118_DATA 0x00000000
+#define             DENALI_PHY_1119_DATA 0x00000000
+#define             DENALI_PHY_1120_DATA 0x00000000
+#define             DENALI_PHY_1121_DATA 0x00000000
+#define             DENALI_PHY_1122_DATA 0x00000000
+#define             DENALI_PHY_1123_DATA 0x00000000
+#define             DENALI_PHY_1124_DATA 0x00000000
+#define             DENALI_PHY_1125_DATA 0x00000000
+#define             DENALI_PHY_1126_DATA 0x00000000
+#define             DENALI_PHY_1127_DATA 0x00000000
+#define             DENALI_PHY_1128_DATA 0x00000000
+#define             DENALI_PHY_1129_DATA 0x00000000
+#define             DENALI_PHY_1130_DATA 0x00000000
+#define             DENALI_PHY_1131_DATA 0x00000000
+#define             DENALI_PHY_1132_DATA 0x00000000
+#define             DENALI_PHY_1133_DATA 0x00000000
+#define             DENALI_PHY_1134_DATA 0x00000000
+#define             DENALI_PHY_1135_DATA 0x00000000
+#define             DENALI_PHY_1136_DATA 0x00000000
+#define             DENALI_PHY_1137_DATA 0x00000000
+#define             DENALI_PHY_1138_DATA 0x00000000
+#define             DENALI_PHY_1139_DATA 0x00000000
+#define             DENALI_PHY_1140_DATA 0x00000000
+#define             DENALI_PHY_1141_DATA 0x00000000
+#define             DENALI_PHY_1142_DATA 0x00000000
+#define             DENALI_PHY_1143_DATA 0x00000000
+#define             DENALI_PHY_1144_DATA 0x00000000
+#define             DENALI_PHY_1145_DATA 0x00000000
+#define             DENALI_PHY_1146_DATA 0x00000000
+#define             DENALI_PHY_1147_DATA 0x00000000
+#define             DENALI_PHY_1148_DATA 0x00000000
+#define             DENALI_PHY_1149_DATA 0x00000000
+#define             DENALI_PHY_1150_DATA 0x00000000
+#define             DENALI_PHY_1151_DATA 0x00000000
+#define             DENALI_PHY_1152_DATA 0x00000000
+#define             DENALI_PHY_1153_DATA 0x00000000
+#define             DENALI_PHY_1154_DATA 0x00050000
+#define             DENALI_PHY_1155_DATA 0x00000000
+#define             DENALI_PHY_1156_DATA 0x00000000
+#define             DENALI_PHY_1157_DATA 0x00000000
+#define             DENALI_PHY_1158_DATA 0x00000100
+#define             DENALI_PHY_1159_DATA 0x00000000
+#define             DENALI_PHY_1160_DATA 0x00000000
+#define             DENALI_PHY_1161_DATA 0x00506401
+#define             DENALI_PHY_1162_DATA 0x01221102
+#define             DENALI_PHY_1163_DATA 0x00000122
+#define             DENALI_PHY_1164_DATA 0x00000000
+#define             DENALI_PHY_1165_DATA 0x000B1F00
+#define             DENALI_PHY_1166_DATA 0x0B1F0B1F
+#define             DENALI_PHY_1167_DATA 0x0B1F0B1B
+#define             DENALI_PHY_1168_DATA 0x0B1F0B1F
+#define             DENALI_PHY_1169_DATA 0x0B1F0B1F
+#define             DENALI_PHY_1170_DATA 0x00000B00
+#define             DENALI_PHY_1171_DATA 0x42080010
+#define             DENALI_PHY_1172_DATA 0x01000100
+#define             DENALI_PHY_1173_DATA 0x01000100
+#define             DENALI_PHY_1174_DATA 0x01000100
+#define             DENALI_PHY_1175_DATA 0x01000100
+#define             DENALI_PHY_1176_DATA 0x00000000
+#define             DENALI_PHY_1177_DATA 0x00000000
+#define             DENALI_PHY_1178_DATA 0x00000000
+#define             DENALI_PHY_1179_DATA 0x00000000
+#define             DENALI_PHY_1180_DATA 0x00000000
+#define             DENALI_PHY_1181_DATA 0x00000803
+#define             DENALI_PHY_1182_DATA 0x223FFF00
+#define             DENALI_PHY_1183_DATA 0x000008FF
+#define             DENALI_PHY_1184_DATA 0x0000057F
+#define             DENALI_PHY_1185_DATA 0x0000057F
+#define             DENALI_PHY_1186_DATA 0x00037FFF
+#define             DENALI_PHY_1187_DATA 0x00037FFF
+#define             DENALI_PHY_1188_DATA 0x00004410
+#define             DENALI_PHY_1189_DATA 0x00004410
+#define             DENALI_PHY_1190_DATA 0x00004410
+#define             DENALI_PHY_1191_DATA 0x00004410
+#define             DENALI_PHY_1192_DATA 0x00004410
+#define             DENALI_PHY_1193_DATA 0x00037FFF
+#define             DENALI_PHY_1194_DATA 0x00037FFF
+#define             DENALI_PHY_1195_DATA 0x00000000
+#define             DENALI_PHY_1196_DATA 0x00000000
+#define             DENALI_PHY_1197_DATA 0x00000000
+#define             DENALI_PHY_1198_DATA 0x04000000
+#define             DENALI_PHY_1199_DATA 0x00000000
+#define             DENALI_PHY_1200_DATA 0x00000000
+#define             DENALI_PHY_1201_DATA 0x00000108
+#define             DENALI_PHY_1202_DATA 0x00000000
+#define             DENALI_PHY_1203_DATA 0x00000000
+#define             DENALI_PHY_1204_DATA 0x00000000
+#define             DENALI_PHY_1205_DATA 0x00000001
+#define             DENALI_PHY_1206_DATA 0x00000000
+#define             DENALI_PHY_1207_DATA 0x00000000
+#define             DENALI_PHY_1208_DATA 0x00000000
+#define             DENALI_PHY_1209_DATA 0x00000000
+#define             DENALI_PHY_1210_DATA 0x00000000
+#define             DENALI_PHY_1211_DATA 0x00000000
+#define             DENALI_PHY_1212_DATA 0x00020100
+#define             DENALI_PHY_1213_DATA 0x00000000
+#define             DENALI_PHY_1214_DATA 0x00000000
diff --git a/board/sifive/fu540/ux00ddr.h b/board/sifive/fu540/ux00ddr.h
new file mode 100644
index 0000000000..2b96397852
--- /dev/null
+++ b/board/sifive/fu540/ux00ddr.h
@@ -0,0 +1,276 @@ 
+/* SPDX-License-Identifier: GPL-2.0+ */
+/*
+ * Copyright (c) 2019 SiFive, Inc
+ *
+ * Authors:
+ *   Pragnesh Patel <pragnesh.patel at sifive.com>
+ *   Troy Benjegerdes <troy.benjegerdes at sifive.com>
+ */
+
+#ifndef FU540_UX00DDR_H
+#define FU540_UX00DDR_H
+
+#ifndef __ASSEMBLER__
+
+#include <stdint.h>
+#include <stddef.h>
+#include <stdbool.h>
+
+extern u32 ddr_phy_settings[1215];
+extern u32 ddr_ctl_settings[265];
+
+#define _REG32(p, i) (*(volatile uint32_t *)((p) + (i)))
+
+#define DRAM_CLASS_OFFSET                      8
+#define DRAM_CLASS_DDR4                        0xA
+#define OPTIMAL_RMODW_EN_OFFSET                0
+#define DISABLE_RD_INTERLEAVE_OFFSET           16
+#define OUT_OF_RANGE_OFFSET                    1
+#define MULTIPLE_OUT_OF_RANGE_OFFSET           2
+#define PORT_COMMAND_CHANNEL_ERROR_OFFSET      7
+#define MC_INIT_COMPLETE_OFFSET                8
+#define LEVELING_OPERATION_COMPLETED_OFFSET    22
+#define DFI_PHY_WRLELV_MODE_OFFSET             24
+#define DFI_PHY_RDLVL_MODE_OFFSET              24
+#define DFI_PHY_RDLVL_GATE_MODE_OFFSET         0
+#define VREF_EN_OFFSET                         24
+#define PORT_ADDR_PROTECTION_EN_OFFSET         0
+#define AXI0_ADDRESS_RANGE_ENABLE              8
+#define AXI0_RANGE_PROT_BITS_0_OFFSET          24
+#define RDLVL_EN_OFFSET                        16
+#define RDLVL_GATE_EN_OFFSET                   24
+#define WRLVL_EN_OFFSET                        0
+
+#define PHY_RX_CAL_DQ0_0_OFFSET                0
+#define PHY_RX_CAL_DQ1_0_OFFSET                16
+
+static inline void phy_reset(volatile u32 *ddrphyreg, const
+		u32 *physettings)
+{
+	unsigned int i;
+
+	for (i = 1152; i <= 1214; i++) {
+		u32 physet = physettings[i];
+		/*if (physet!=0)*/ ddrphyreg[i] = physet;
+	}
+
+	for (i = 0; i <= 1151; i++) {
+		u32 physet = physettings[i];
+		/*if (physet!=0)*/ ddrphyreg[i] = physet;
+	}
+}
+
+static inline void ux00ddr_writeregmap(size_t ahbregaddr, const
+		u32 *ctlsettings, const u32 *physettings)
+{
+	volatile u32 *ddrctlreg = (volatile u32 *)ahbregaddr;
+	volatile u32 *ddrphyreg = ((volatile u32 *)ahbregaddr) +
+		(0x2000 / sizeof(u32));
+
+	unsigned int i;
+
+	for (i = 0; i <= 264; i++) {
+		u32 ctlset = ctlsettings[i];
+		/*if (ctlset!=0)*/ ddrctlreg[i] = ctlset;
+	}
+
+	phy_reset(ddrphyreg, physettings);
+}
+
+static inline void ux00ddr_start(size_t ahbregaddr, size_t filteraddr,
+				 size_t ddrend)
+{
+	// START register at ddrctl register base offset 0
+	u32 regdata = _REG32(0 << 2, ahbregaddr);
+
+	regdata |= 0x1;
+	_REG32(0 << 2, ahbregaddr) = regdata;
+
+	/*
+	 * WAIT for initialization complete : bit 8 of INT_STATUS
+	 * (DENALI_CTL_132) 0x210
+	 */
+	while ((_REG32(132 << 2, ahbregaddr) & (1 <<
+					MC_INIT_COMPLETE_OFFSET)) == 0) {
+	}
+
+	// Disable the BusBlocker in front of the controller AXI slave ports
+	volatile u64 *filterreg = (volatile u64 *)filteraddr;
+
+	filterreg[0] = 0x0f00000000000000UL | (ddrend >> 2);
+}
+
+static inline void ux00ddr_mask_mc_init_complete_interrupt(size_t
+		ahbregaddr)
+{
+	/*
+	 * Mask off Bit 8 of Interrupt Status
+	 * Bit [8] The MC initialization has been completed
+	 */
+
+	_REG32(136 << 2, ahbregaddr) |= (1 << MC_INIT_COMPLETE_OFFSET);
+}
+
+static inline void ux00ddr_mask_outofrange_interrupts(size_t ahbregaddr)
+{
+	/*
+	 * Mask off Bit 8, Bit 2 and Bit 1 of Interrupt Status
+	 * Bit [2] Multiple accesses outside the defined PHYSICAL memory
+	 * space have occurred
+	 * Bit [1] A memory access outside the defined PHYSICAL memory
+	 * space has occurred
+	 */
+
+	_REG32(136 << 2, ahbregaddr) |= ((1 << OUT_OF_RANGE_OFFSET) | (1 <<
+				MULTIPLE_OUT_OF_RANGE_OFFSET));
+}
+
+static inline void ux00ddr_mask_port_command_error_interrupt(size_t
+		ahbregaddr)
+{
+	/*
+	 * Mask off Bit 7 of Interrupt Status
+	 * Bit [7] An error occurred on the port command channel
+	 */
+
+	_REG32(136 << 2, ahbregaddr) |= (1 <<
+			PORT_COMMAND_CHANNEL_ERROR_OFFSET);
+}
+
+static inline void ux00ddr_mask_leveling_completed_interrupt(size_t
+		ahbregaddr)
+{
+	/*
+	 * Mask off Bit 22 of Interrupt Status
+	 * Bit [22] The leveling operation has completed
+	 */
+
+	_REG32(136 << 2, ahbregaddr) |= (1 <<
+			LEVELING_OPERATION_COMPLETED_OFFSET);
+}
+
+static inline void ux00ddr_setuprangeprotection(size_t ahbregaddr, size_t
+		end_addr)
+{
+	_REG32(209 << 2, ahbregaddr) = 0x0;
+	size_t end_addr_16kblocks = ((end_addr >> 14) & 0x7FFFFF) - 1;
+
+	_REG32(210 << 2, ahbregaddr)  = ((u32)end_addr_16kblocks);
+	_REG32(212 << 2, ahbregaddr)  = 0x0;
+	_REG32(214 << 2, ahbregaddr)  = 0x0;
+	_REG32(216 << 2, ahbregaddr)  = 0x0;
+	_REG32(224 << 2, ahbregaddr) |= (0x3 << AXI0_RANGE_PROT_BITS_0_OFFSET);
+	_REG32(225 << 2, ahbregaddr)  = 0xFFFFFFFF;
+	_REG32(208 << 2, ahbregaddr) |= (1 << AXI0_ADDRESS_RANGE_ENABLE);
+	_REG32(208 << 2, ahbregaddr) |= (1 << PORT_ADDR_PROTECTION_EN_OFFSET);
+}
+
+static inline void ux00ddr_disableaxireadinterleave(size_t ahbregaddr)
+{
+	_REG32(120 << 2, ahbregaddr) |= (1 << DISABLE_RD_INTERLEAVE_OFFSET);
+}
+
+static inline void ux00ddr_disableoptimalrmodw(size_t ahbregaddr)
+{
+	_REG32(21 << 2, ahbregaddr) &= (~(1 << OPTIMAL_RMODW_EN_OFFSET));
+}
+
+static inline void ux00ddr_enablewriteleveling(size_t ahbregaddr)
+{
+	_REG32(170 << 2, ahbregaddr) |= ((1 << WRLVL_EN_OFFSET) | (1 <<
+				DFI_PHY_WRLELV_MODE_OFFSET));
+}
+
+static inline void ux00ddr_enablereadleveling(size_t ahbregaddr)
+{
+	_REG32(181 << 2, ahbregaddr) |= (1 << DFI_PHY_RDLVL_MODE_OFFSET);
+	_REG32(260 << 2, ahbregaddr) |= (1 << RDLVL_EN_OFFSET);
+}
+
+static inline void ux00ddr_enablereadlevelinggate(size_t ahbregaddr)
+{
+	_REG32(260 << 2, ahbregaddr) |= (1 << RDLVL_GATE_EN_OFFSET);
+	_REG32(182 << 2, ahbregaddr) |= (1 << DFI_PHY_RDLVL_GATE_MODE_OFFSET);
+}
+
+static inline void ux00ddr_enablevreftraining(size_t ahbregaddr)
+{
+	_REG32(184 << 2, ahbregaddr) |= (1 << VREF_EN_OFFSET);
+}
+
+static inline u32 ux00ddr_getdramclass(size_t ahbregaddr)
+{
+	return((_REG32(0, ahbregaddr) >> DRAM_CLASS_OFFSET) & 0xF);
+}
+
+static inline u64 ux00ddr_phy_fixup(size_t ahbregaddr)
+{
+	// return bitmask of failed lanes
+
+	size_t ddrphyreg = ahbregaddr + 0x2000;
+
+	u64 fails     = 0;
+	u32 slicebase = 0;
+	u32 dq        = 0;
+
+	// check errata condition
+	for (u32 slice = 0; slice < 8; slice++) {
+		u32 regbase = slicebase + 34;
+
+		for (u32 reg = 0; reg < 4; reg++) {
+			u32 updownreg = _REG32((regbase + reg) << 2,
+						ddrphyreg);
+
+			for (u32 bit = 0; bit < 2; bit++) {
+				u32 phy_rx_cal_dqn_0_offset;
+
+				if (bit == 0) {
+					phy_rx_cal_dqn_0_offset =
+						PHY_RX_CAL_DQ0_0_OFFSET;
+				} else {
+					phy_rx_cal_dqn_0_offset =
+						PHY_RX_CAL_DQ1_0_OFFSET;
+				}
+
+				u32 down = (updownreg >>
+						phy_rx_cal_dqn_0_offset) & 0x3F;
+				u32 up   = (updownreg >>
+						(phy_rx_cal_dqn_0_offset + 6)) & 0x3F;
+
+				u8 failc0 = ((down == 0) && (up == 0x3F));
+				u8 failc1 = ((up == 0) && (down == 0x3F));
+
+				// print error message on failure
+				if (failc0 || failc1) {
+					if (fails == 0)
+						printf("DDR error in fixing up\n");
+
+					fails |= (1 << dq);
+
+					char slicelsc = '0';
+					char slicemsc = '0';
+
+					slicelsc += (dq % 10);
+					slicemsc += (dq / 10);
+					printf("S ");
+					printf("%c", slicemsc);
+					printf("%c", slicelsc);
+
+					if (failc0)
+						printf("U");
+					else
+						printf("D");
+
+					printf("\n");
+				}
+				dq++;
+			}
+		}
+		slicebase += 128;
+	}
+	return(0);
+}
+
+#endif /* __ASSEMBLER__ */
+
+#endif /* FU540_UX00DDR_H */
diff --git a/board/sifive/fu540/ux00prci.h b/board/sifive/fu540/ux00prci.h
new file mode 100644
index 0000000000..0393fc2804
--- /dev/null
+++ b/board/sifive/fu540/ux00prci.h
@@ -0,0 +1,69 @@ 
+/* SPDX-License-Identifier: GPL-2.0+ */
+/*
+ * Copyright (c) 2019 SiFive, Inc
+ *
+ * Authors:
+ *   Pragnesh Patel <pragnesh.patel at sifive.com>
+ *   Troy Benjegerdes <troy.benjegerdes at sifive.com>
+ */
+
+#ifndef _SIFIVE_UX00PRCI_H
+#define _SIFIVE_UX00PRCI_H
+
+/* Register offsets */
+#define UX00PRCI_HFROSCCFG          (0x0000)
+#define UX00PRCI_COREPLLCFG         (0x0004)
+#define UX00PRCI_COREPLLOUT         (0x0008)
+#define UX00PRCI_DDRPLLCFG          (0x000C)
+#define UX00PRCI_DDRPLLOUT          (0x0010)
+#define UX00PRCI_GEMGXLPLLCFG       (0x001C)
+#define UX00PRCI_GEMGXLPLLOUT       (0x0020)
+#define UX00PRCI_CORECLKSELREG      (0x0024)
+#define UX00PRCI_DEVICESRESETREG    (0x0028)
+#define UX00PRCI_CLKMUXSTATUSREG    (0x002C)
+#define UX00PRCI_PROCMONCFG         (0x00F0)
+
+/* Fields */
+#define XOSC_EN(x)            (((x) & 0x1) << 30)
+#define XOSC_RDY(x)           (((x) & 0x1) << 31)
+
+#define PLL_R(x)              (((x) & 0x3F) << 0)
+#define PLL_F(x)              (((x) & 0x1FF) << 6)
+#define PLL_Q(x)              (((x) & 0x7) << 15)
+#define PLL_RANGE(x)          (((x) & 0x7) << 18)
+#define PLL_BYPASS(x)         (((x) & 0x1) << 24)
+#define PLL_FSE(x)            (((x) & 0x1) << 25)
+#define PLL_LOCK(x)           (((x) & 0x1) << 31)
+
+#define PLLOUT_DIV(x)         (((x) & 0x7F) << 0)
+#define PLLOUT_DIV_BY_1(x)    (((x) & 0x1) << 8)
+#define PLLOUT_CLK_EN(x)      (((x) & 0x1) << 31)
+
+#define PLL_R_default              0x1
+#define PLL_F_default              0x1F
+#define PLL_Q_default              0x3
+#define PLL_RANGE_default          0x0
+#define PLL_BYPASS_default         0x1
+#define PLL_FSE_default            0x1
+
+#define PLLOUT_DIV_default         0x0
+#define PLLOUT_DIV_BY_1_default    0x0
+#define PLLOUT_CLK_EN_default      0x0
+
+#define PLL_CORECLKSEL_HFXIN       0x1
+#define PLL_CORECLKSEL_COREPLL     0x0
+
+#define DEVICESRESET_DDR_CTRL_RST_N(x)    (((x) & 0x1) << 0)
+#define DEVICESRESET_DDR_AXI_RST_N(x)     (((x) & 0x1) << 1)
+#define DEVICESRESET_DDR_AHB_RST_N(x)     (((x) & 0x1) << 2)
+#define DEVICESRESET_DDR_PHY_RST_N(x)     (((x) & 0x1) << 3)
+#define DEVICESRESET_GEMGXL_RST_N(x)      (((x) & 0x1) << 5)
+
+#define CLKMUX_STATUS_CORECLKPLLSEL    (0x1 << 0)
+#define CLKMUX_STATUS_TLCLKSEL         (0x1 << 1)
+#define CLKMUX_STATUS_RTCXSEL          (0x1 << 2)
+#define CLKMUX_STATUS_DDRCTRLCLKSEL    (0x1 << 3)
+#define CLKMUX_STATUS_DDRPHYCLKSEL     (0x1 << 4)
+#define CLKMUX_STATUS_GEMGXLCLKSEL     (0x1 << 6)
+
+#endif // _SIFIVE_UX00PRCI_H