]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
arm: add mach-nexell (header files)
authorStefan Bosch <stefan_b@posteo.net>
Fri, 10 Jul 2020 17:07:25 +0000 (19:07 +0200)
committerTom Rini <trini@konsulko.com>
Wed, 29 Jul 2020 12:43:40 +0000 (08:43 -0400)
Changes in relation to FriendlyARM's U-Boot nanopi2-v2016.01:
- DM_VIDEO support (display_dev.h).
- boot0.h added, handles NSIH --> tools/nexell obsolete.
- gpio.h: Include-path to errno.h changed.

Signed-off-by: Stefan Bosch <stefan_b@posteo.net>
12 files changed:
arch/arm/mach-nexell/include/mach/boot0.h [new file with mode: 0644]
arch/arm/mach-nexell/include/mach/clk.h [new file with mode: 0644]
arch/arm/mach-nexell/include/mach/display.h [new file with mode: 0644]
arch/arm/mach-nexell/include/mach/display_dev.h [new file with mode: 0644]
arch/arm/mach-nexell/include/mach/ehci.h [new file with mode: 0644]
arch/arm/mach-nexell/include/mach/gpio.h [new file with mode: 0644]
arch/arm/mach-nexell/include/mach/mipi_display.h [new file with mode: 0644]
arch/arm/mach-nexell/include/mach/nexell.h [new file with mode: 0644]
arch/arm/mach-nexell/include/mach/nx_gpio.h [new file with mode: 0644]
arch/arm/mach-nexell/include/mach/reset.h [new file with mode: 0644]
arch/arm/mach-nexell/include/mach/sec_reg.h [new file with mode: 0644]
arch/arm/mach-nexell/include/mach/tieoff.h [new file with mode: 0644]

diff --git a/arch/arm/mach-nexell/include/mach/boot0.h b/arch/arm/mach-nexell/include/mach/boot0.h
new file mode 100644 (file)
index 0000000..e05c07e
--- /dev/null
@@ -0,0 +1,40 @@
+/* SPDX-License-Identifier: GPL-2.0+
+ *
+ * NSIH (Nexell System Information Header) for FriendlyArm nanopi2 board
+ *
+ * The NSIH (first 512 Bytes of u-boot.bin) is necessary for the
+ * 2nd-Bootloader to get information like load address of U-Boot.
+ *
+ * 0x400 must be added to CONFIG_SYS_TEXT_BASE to have the actual load and
+ * start address because 2nd-Bootloader loads with an offset of 0x400
+ * (NSIH + 0x200 bytes are not loaded into RAM).
+ *
+ * It has been tested / is working with the following 2nd-Bootloader:
+ * "BL1 by Nexell V1.0.0-gd551e13 [Built on 2018-01-25 16:58:29]"
+ *
+ * (C) Copyright 2020 Stefan Bosch <stefan_b@posteo.net>
+ */
+
+#ifndef __BOOT0_H
+#define __BOOT0_H
+
+       ARM_VECTORS
+       .space  0x30
+       .word   (_end - _start) + 20 * 1024     /* 0x50: load size
+                                                *       (bin + 20k for DTB) */
+       .space  0x4
+       .word   CONFIG_SYS_TEXT_BASE + 0x400    /* 0x58: load address */
+       .word   0x00000000
+       .word   CONFIG_SYS_TEXT_BASE + 0x400    /* 0x60: start address */
+       .space  0x198
+       .byte   'N'                             /* 0x1FC: "NSIH" signature */
+       .byte   'S'
+       .byte   'I'
+       .byte   'H'
+
+       /* The NSIH + 0x200 bytes are omitted by the 2nd-Bootloader */
+       .space  0x200
+_start:
+       ARM_VECTORS
+
+#endif /* __BOOT0_H */
diff --git a/arch/arm/mach-nexell/include/mach/clk.h b/arch/arm/mach-nexell/include/mach/clk.h
new file mode 100644 (file)
index 0000000..cc5589a
--- /dev/null
@@ -0,0 +1,24 @@
+/* SPDX-License-Identifier: GPL-2.0+
+ *
+ * (C) Copyright 2016 Nexell
+ * Hyunseok, Jung <hsjung@nexell.co.kr>
+ */
+
+#ifndef __ASM_ARM_ARCH_CLK_H_
+#define __ASM_ARM_ARCH_CLK_H_
+
+struct clk {
+       unsigned long rate;
+};
+
+void clk_init(void);
+
+struct clk *clk_get(const char *id);
+void clk_put(struct clk *clk);
+unsigned long clk_get_rate(struct clk *clk);
+long clk_round_rate(struct clk *clk, unsigned long rate);
+int clk_set_rate(struct clk *clk, unsigned long rate);
+int clk_enable(struct clk *clk);
+void clk_disable(struct clk *clk);
+
+#endif
diff --git a/arch/arm/mach-nexell/include/mach/display.h b/arch/arm/mach-nexell/include/mach/display.h
new file mode 100644 (file)
index 0000000..b167e63
--- /dev/null
@@ -0,0 +1,273 @@
+/* SPDX-License-Identifier: GPL-2.0+
+ *
+ * Copyright (C) 2016  Nexell Co., Ltd.
+ *
+ * Author: junghyun, kim <jhkim@nexell.co.kr>
+ */
+
+#ifndef _NX__DISPLAY_H_
+#define _NX__DISPLAY_H_
+
+#define        DP_PLANS_NUM    3
+
+/* the display output format. */
+#define        DPC_FORMAT_RGB555               0  /* RGB555 Format */
+#define        DPC_FORMAT_RGB565               1  /* RGB565 Format */
+#define        DPC_FORMAT_RGB666               2  /* RGB666 Format */
+#define        DPC_FORMAT_RGB888               3  /* RGB888 Format */
+#define        DPC_FORMAT_MRGB555A             4  /* MRGB555A Format */
+#define        DPC_FORMAT_MRGB555B             5  /* MRGB555B Format */
+#define        DPC_FORMAT_MRGB565              6  /* MRGB565 Format */
+#define        DPC_FORMAT_MRGB666              7  /* MRGB666 Format */
+#define        DPC_FORMAT_MRGB888A             8  /* MRGB888A Format */
+#define        DPC_FORMAT_MRGB888B             9  /* MRGB888B Format */
+#define        DPC_FORMAT_CCIR656              10 /* ITU-R BT.656 / 601(8-bit) */
+#define        DPC_FORMAT_CCIR601A             12 /* ITU-R BT.601A */
+#define        DPC_FORMAT_CCIR601B             13 /* ITU-R BT.601B */
+#define        DPC_FORMAT_4096COLOR    1  /* 4096 Color Format */
+#define        DPC_FORMAT_16GRAY               3  /* 16 Level Gray Format */
+
+/* layer pixel format. */
+#define        MLC_RGBFMT_R5G6B5               0x44320000      /* {R5,G6,B5 }. */
+#define        MLC_RGBFMT_B5G6R5               0xC4320000  /* {B5,G6,R5 }. */
+#define        MLC_RGBFMT_X1R5G5B5             0x43420000  /* {X1,R5,G5,B5}. */
+#define        MLC_RGBFMT_X1B5G5R5             0xC3420000  /* {X1,B5,G5,R5}. */
+#define        MLC_RGBFMT_X4R4G4B4             0x42110000  /* {X4,R4,G4,B4}. */
+#define        MLC_RGBFMT_X4B4G4R4             0xC2110000      /* {X4,B4,G4,R4}. */
+#define        MLC_RGBFMT_X8R3G3B2             0x41200000      /* {X8,R3,G3,B2}. */
+#define        MLC_RGBFMT_X8B3G3R2             0xC1200000      /* {X8,B3,G3,R2}. */
+#define        MLC_RGBFMT_A1R5G5B5             0x33420000      /* {A1,R5,G5,B5}. */
+#define        MLC_RGBFMT_A1B5G5R5             0xB3420000      /* {A1,B5,G5,R5}. */
+#define        MLC_RGBFMT_A4R4G4B4             0x22110000      /* {A4,R4,G4,B4}. */
+#define        MLC_RGBFMT_A4B4G4R4             0xA2110000      /* {A4,B4,G4,R4}. */
+#define        MLC_RGBFMT_A8R3G3B2             0x11200000      /* {A8,R3,G3,B2}. */
+#define        MLC_RGBFMT_A8B3G3R2             0x91200000      /* {A8,B3,G3,R2}. */
+#define        MLC_RGBFMT_R8G8B8               0x46530000      /* {R8,G8,B8 }. */
+#define        MLC_RGBFMT_B8G8R8               0xC6530000      /* {B8,G8,R8 }. */
+#define        MLC_RGBFMT_X8R8G8B8             0x46530000      /* {X8,R8,G8,B8}. */
+#define        MLC_RGBFMT_X8B8G8R8             0xC6530000      /* {X8,B8,G8,R8}. */
+#define        MLC_RGBFMT_A8R8G8B8             0x06530000      /* {A8,R8,G8,B8}. */
+#define        MLC_RGBFMT_A8B8G8R8             0x86530000      /* {A8,B8,G8,R8}.  */
+
+/* the data output order in case of ITU-R BT.656 / 601. */
+#define        DPC_YCORDER_CBYCRY              0
+#define        DPC_YCORDER_CRYCBY              1
+#define        DPC_YCORDER_YCBYCR              2
+#define        DPC_YCORDER_YCRYCB              3
+
+/* the PAD output clock. */
+#define        DPC_PADCLKSEL_VCLK              0       /* VCLK */
+#define        DPC_PADCLKSEL_VCLK2             1       /* VCLK2 */
+
+/* display sync info for DPC */
+struct dp_sync_info {
+       int interlace;
+       int h_active_len;
+       int h_sync_width;
+       int h_back_porch;
+       int h_front_porch;
+       int h_sync_invert;      /* default active low */
+       int v_active_len;
+       int v_sync_width;
+       int v_back_porch;
+       int v_front_porch;
+       int v_sync_invert;      /* default active low */
+       int pixel_clock_hz;     /* HZ */
+};
+
+/* syncgen control (DPC) */
+#define        DP_SYNC_DELAY_RGB_PVD           (1 << 0)
+#define        DP_SYNC_DELAY_HSYNC_CP1         (1 << 1)
+#define        DP_SYNC_DELAY_VSYNC_FRAM        (1 << 2)
+#define        DP_SYNC_DELAY_DE_CP                     (1 << 3)
+
+struct dp_ctrl_info {
+       /* clock gen */
+       int clk_src_lv0;
+       int clk_div_lv0;
+       int clk_src_lv1;
+       int clk_div_lv1;
+       /* scan format */
+       int interlace;
+       /* syncgen format */
+       unsigned int out_format;
+       int invert_field;       /* 0:normal(Low odd), 1:invert (low even) */
+       int swap_RB;
+       unsigned int yc_order;  /* for CCIR output */
+       /* extern sync delay */
+       int delay_mask;         /* if 0, set defalut delays */
+       int d_rgb_pvd;          /* delay for RGB/PVD, 0~16, default  0 */
+       int d_hsync_cp1;        /* delay for HSYNC/CP1, 0~63, default 12 */
+       int d_vsync_fram;       /* delay for VSYNC/FRAM, 0~63, default 12 */
+       int d_de_cp2;           /* delay for DE/CP2, 0~63, default 12 */
+       /* sync offset */
+       int vs_start_offset;    /* start vsync offset, defatult 0 */
+       int vs_end_offset;      /* end vsync offset, default 0 */
+       int ev_start_offset;    /* start even vsync offset, default 0 */
+       int ev_end_offset;      /* end even vsync offset , default 0 */
+       /* pad clock seletor */
+       int vck_select;         /* 0=vclk0, 1=vclk2 */
+       int clk_inv_lv0;        /* OUTCLKINVn */
+       int clk_delay_lv0;      /* OUTCLKDELAYn */
+       int clk_inv_lv1;        /* OUTCLKINVn */
+       int clk_delay_lv1;      /* OUTCLKDELAYn */
+       int clk_sel_div1;       /* 0=clk1_inv, 1=clk1_div_2_ns */
+};
+
+/* multi layer control (MLC) */
+struct dp_plane_top {
+       int screen_width;
+       int screen_height;
+       int video_prior;        /* 0: video>RGBn, 1: RGB0>video>RGB1,
+                                *                2: RGB0 > RGB1 > video .. */
+       int interlace;
+       int plane_num;
+       unsigned int back_color;
+};
+
+struct dp_plane_info {
+       int layer;
+       unsigned int fb_base;
+       int left;
+       int top;
+       int width;
+       int height;
+       int pixel_byte;
+       unsigned int format;
+       int alpha_on;
+       int alpha_depth;
+       int tp_on;                      /* transparency color enable */
+       unsigned int tp_color;
+       unsigned int mem_lock_size;     /* memory burst access (4,8,16) */
+       int video_layer;
+       int enable;
+};
+
+/*
+ * LCD device dependency struct
+ * RGB, LVDS, MiPi, HDMI
+ */
+enum {
+       DP_DEVICE_RESCONV = 0,
+       DP_DEVICE_RGBLCD = 1,
+       DP_DEVICE_HDMI = 2,
+       DP_DEVICE_MIPI = 3,
+       DP_DEVICE_LVDS = 4,
+       DP_DEVICE_CVBS = 5,
+       DP_DEVICE_DP0 = 6,
+       DP_DEVICE_DP1 = 7,
+       DP_DEVICE_END,
+};
+
+enum {
+       DP_CLOCK_RESCONV = 0,
+       DP_CLOCK_LCDIF = 1,
+       DP_CLOCK_MIPI = 2,
+       DP_CLOCK_LVDS = 3,
+       DP_CLOCK_HDMI = 4,
+       DP_CLOCK_END,
+};
+
+enum dp_lvds_format {
+       DP_LVDS_FORMAT_VESA = 0,
+       DP_LVDS_FORMAT_JEIDA = 1,
+       DP_LVDS_FORMAT_LOC = 2,
+};
+
+#define        DEF_VOLTAGE_LEVEL       (0x20)
+
+struct dp_lvds_dev {
+       enum dp_lvds_format lvds_format; /* 0:VESA, 1:JEIDA, 2: Location */
+       int pol_inv_hs;         /* hsync polarity invert for VESA, JEIDA */
+       int pol_inv_vs;         /* bsync polarity invert for VESA, JEIDA */
+       int pol_inv_de;         /* de polarity invert for VESA, JEIDA */
+       int pol_inv_ck;         /* input clock(pixel clock) polarity invert */
+       int voltage_level;
+       /* Location setting */
+       unsigned int loc_map[9];        /* Location Setting */
+       unsigned int loc_mask[2];       /* Location Setting, 0 ~ 34 */
+       unsigned int loc_pol[2];        /* Location Setting, 0 ~ 34 */
+};
+
+#include "mipi_display.h"
+
+struct dp_mipi_dev {
+       int lp_bitrate; /* to lcd setup, low power bitrate (150, 100, 80 Mhz) */
+       int hs_bitrate; /* to lcd data, high speed bitrate (1000, ... Mhz) */
+       int lpm_trans;
+       int command_mode;
+       unsigned int hs_pllpms;
+       unsigned int hs_bandctl;
+       unsigned int lp_pllpms;
+       unsigned int lp_bandctl;
+       struct mipi_dsi_device dsi;
+};
+
+struct dp_rgb_dev {
+       int lcd_mpu_type;
+};
+
+struct dp_hdmi_dev {
+       int preset;
+};
+
+/* platform data for the driver model */
+struct nx_display_platdata {
+       int module;
+       struct dp_sync_info sync;
+       struct dp_ctrl_info ctrl;
+       struct dp_plane_top top;
+       struct dp_plane_info plane[DP_PLANS_NUM];
+       int dev_type;
+       void *device;
+};
+
+/* Lcd api */
+void nx_lvds_display(int module,
+                    struct dp_sync_info *sync, struct dp_ctrl_info *ctrl,
+                    struct dp_plane_top *top,
+                    struct dp_plane_info *planes,
+                    struct dp_lvds_dev *dev);
+
+void nx_rgb_display(int module,
+                   struct dp_sync_info *sync, struct dp_ctrl_info *ctrl,
+                   struct dp_plane_top *top, struct dp_plane_info *planes,
+                   struct dp_rgb_dev *dev);
+
+void nx_hdmi_display(int module,
+                    struct dp_sync_info *sync, struct dp_ctrl_info *ctrl,
+                    struct dp_plane_top *top,
+                    struct dp_plane_info *planes,
+                    struct dp_hdmi_dev *dev);
+
+void nx_mipi_display(int module,
+                    struct dp_sync_info *sync, struct dp_ctrl_info *ctrl,
+                    struct dp_plane_top *top,
+                    struct dp_plane_info *planes,
+                    struct dp_mipi_dev *dev);
+
+int nx_mipi_dsi_lcd_bind(struct mipi_dsi_device *dsi);
+
+/* disaply api */
+void dp_control_init(int module);
+int  dp_control_setup(int module, struct dp_sync_info *sync,
+                     struct dp_ctrl_info *ctrl);
+void dp_control_enable(int module, int on);
+
+void dp_plane_init(int module);
+int  dp_plane_screen_setup(int module, struct dp_plane_top *top);
+void dp_plane_screen_enable(int module, int on);
+
+int  dp_plane_layer_setup(int module, struct dp_plane_info *plane);
+void dp_plane_layer_enable(int module, struct dp_plane_info *plane, int on);
+
+int dp_plane_set_enable(int module, int layer, int on);
+int dp_plane_set_address(int module, int layer, unsigned int address);
+int dp_plane_wait_vsync(int module, int layer, int fps);
+
+#if defined CONFIG_SPL_BUILD ||        \
+       (!defined(CONFIG_DM) && !defined(CONFIG_OF_CONTROL))
+int nx_display_probe(struct nx_display_platdata *plat);
+#endif
+
+#endif
diff --git a/arch/arm/mach-nexell/include/mach/display_dev.h b/arch/arm/mach-nexell/include/mach/display_dev.h
new file mode 100644 (file)
index 0000000..77eb614
--- /dev/null
@@ -0,0 +1,37 @@
+/* SPDX-License-Identifier: GPL-2.0+
+ *
+ * Copyright (C) 2016  Nexell Co., Ltd.
+ *
+ * Author: junghyun, kim <jhkim@nexell.co.kr>
+ */
+
+#ifndef _NX__DISPLAY_DEV_H_
+#define _NX__DISPLAY_DEV_H_
+
+#if defined CONFIG_VIDEO || defined CONFIG_DM_VIDEO
+#include <video_fb.h>
+#elif defined CONFIG_LCD
+#include <lcd.h>
+#endif
+
+struct nx_display_dev {
+#if defined CONFIG_VIDEO || defined CONFIG_DM_VIDEO
+       GraphicDevice graphic_device;
+#elif defined CONFIG_LCD
+       vidinfo_t *panel_info;
+#endif
+       unsigned long base;
+       int module;
+       struct dp_sync_info sync;
+       struct dp_ctrl_info ctrl;
+       struct dp_plane_top top;
+       struct dp_plane_info planes[DP_PLANS_NUM];
+       int dev_type;
+       void *device;
+       struct dp_plane_info *fb_plane;
+       unsigned int depth;     /* byte per pixel */
+       unsigned int fb_addr;
+       unsigned int fb_size;
+};
+
+#endif
diff --git a/arch/arm/mach-nexell/include/mach/ehci.h b/arch/arm/mach-nexell/include/mach/ehci.h
new file mode 100644 (file)
index 0000000..545153b
--- /dev/null
@@ -0,0 +1,106 @@
+/* SPDX-License-Identifier: GPL-2.0+
+ *
+ * NEXELL USB HOST EHCI Controller
+ *
+ * (C) Copyright 2016 Nexell
+ * Hyunseok, Jung <hsjung@nexell.co.kr>
+ */
+
+#ifndef __ASM_ARM_ARCH_EHCI_H__
+#define __ASM_ARM_ARCH_EHCI_H__
+
+/* Nexell USBHOST PHY registers */
+
+/* USBHOST Configuration 0 Register */
+#define NX_HOST_CON0                           0x14
+#define NX_HOST_CON0_SS_WORD_IF                        BIT(26)
+#define NX_HOST_CON0_SS_WORD_IF_ENB            BIT(25)
+#define NX_HOST_CON0_SS_WORD_IF_16 ( \
+       NX_HOST_CON0_SS_WORD_IF | \
+       NX_HOST_CON0_SS_WORD_IF_ENB)
+
+#define NX_HOST_CON0_HSIC_480M_FROM_OTG_PHY    BIT(24)
+#define NX_HOST_CON0_HSIC_FREE_CLOCK_ENB       BIT(23)
+#define NX_HOST_CON0_HSIC_CLK_MASK             (0x3 << 23)
+
+#define NX_HOST_CON0_N_HOST_HSIC_RESET_SYNC    BIT(22)
+#define NX_HOST_CON0_N_HOST_UTMI_RESET_SYNC    BIT(21)
+#define NX_HOST_CON0_N_HOST_PHY_RESET_SYNC     BIT(20)
+#define NX_HOST_CON0_UTMI_RESET_SYNC ( \
+       NX_HOST_CON0_N_HOST_HSIC_RESET_SYNC | \
+       NX_HOST_CON0_N_HOST_UTMI_RESET_SYNC | \
+       NX_HOST_CON0_N_HOST_PHY_RESET_SYNC)
+
+#define NX_HOST_CON0_N_AUXWELL_RESET_SYNC      BIT(19)
+#define NX_HOST_CON0_N_OHCI_RESET_SYNC         BIT(18)
+#define NX_HOST_CON0_N_RESET_SYNC              BIT(17)
+#define NX_HOST_CON0_AHB_RESET_SYNC ( \
+       NX_HOST_CON0_N_AUXWELL_RESET_SYNC | \
+       NX_HOST_CON0_N_OHCI_RESET_SYNC | \
+       NX_HOST_CON0_N_RESET_SYNC)
+
+#define NX_HOST_CON0_HSIC_EN_PORT1             (0x2 << 14)
+#define NX_HOST_CON0_HSIC_EN_MASK              (0x7 << 14)
+
+/* USBHOST Configuration 1 Register */
+#define NX_HOST_CON1                           0x18
+
+/* USBHOST Configuration 2 Register */
+#define NX_HOST_CON2                           0x1C
+#define NX_HOST_CON2_SS_ENA_INCRX_ALIGN                (0x1 << 28)
+#define NX_HOST_CON2_SS_ENA_INCR4              (0x1 << 27)
+#define NX_HOST_CON2_SS_ENA_INCR8              (0x1 << 26)
+#define NX_HOST_CON2_SS_ENA_INCR16             (0x1 << 25)
+#define NX_HOST_CON2_SS_DMA_BURST_MASK  \
+       (NX_HOST_CON2_SS_ENA_INCR16 | NX_HOST_CON2_SS_ENA_INCR8 | \
+        NX_HOST_CON2_SS_ENA_INCR4 | NX_HOST_CON2_SS_ENA_INCRX_ALIGN)
+
+#define NX_HOST_CON2_EHCI_SS_ENABLE_DMA_BURST \
+       (NX_HOST_CON2_SS_ENA_INCR16 | NX_HOST_CON2_SS_ENA_INCR8 | \
+        NX_HOST_CON2_SS_ENA_INCR4 | NX_HOST_CON2_SS_ENA_INCRX_ALIGN)
+
+#define NX_HOST_CON2_OHCI_SS_ENABLE_DMA_BURST \
+       (NX_HOST_CON2_SS_ENA_INCR4 | NX_HOST_CON2_SS_ENA_INCRX_ALIGN)
+
+#define NX_HOST_CON2_SS_FLADJ_VAL_0_OFFSET     (21)
+#define NX_HOST_CON2_SS_FLADJ_VAL_OFFSET       (3)
+#define NX_HOST_CON2_SS_FLADJ_VAL_NUM          (6)
+#define NX_HOST_CON2_SS_FLADJ_VAL_0_SEL                BIT(5)
+#define NX_HOST_CON2_SS_FLADJ_VAL_MAX          0x7
+
+/* USBHOST Configuration 3 Register */
+#define NX_HOST_CON3                           0x20
+#define NX_HOST_CON3_POR                       BIT(8)
+#define NX_HOST_CON3_POR_ENB                   BIT(7)
+#define NX_HOST_CON3_POR_MASK                  (0x3 << 7)
+
+/* USBHOST Configuration 4 Register */
+#define NX_HOST_CON4                           0x24
+#define NX_HOST_CON4_WORDINTERFACE             BIT(9)
+#define NX_HOST_CON4_WORDINTERFACE_ENB         BIT(8)
+#define NX_HOST_CON4_WORDINTERFACE_16 ( \
+       NX_HOST_CON4_WORDINTERFACE | \
+       NX_HOST_CON4_WORDINTERFACE_ENB)
+
+/* USBHOST Configuration 5 Register */
+#define NX_HOST_CON5                           0x28
+#define NX_HOST_CON5_HSIC_POR                  BIT(19)
+#define NX_HOST_CON5_HSIC_POR_ENB              BIT(18)
+#define NX_HOST_CON5_HSIC_POR_MASK             (0x3 << 18)
+
+/* USBHOST Configuration 6 Register */
+#define NX_HOST_CON6                           0x2C
+#define NX_HOST_CON6_HSIC_WORDINTERFACE                BIT(13)
+#define NX_HOST_CON6_HSIC_WORDINTERFACE_ENB    BIT(12)
+#define NX_HOST_CON6_HSIC_WORDINTERFACE_16 ( \
+       NX_HOST_CON6_HSIC_WORDINTERFACE | \
+       NX_HOST_CON6_HSIC_WORDINTERFACE_ENB)
+
+/* Register map for PHY control */
+struct nx_usb_phy {
+       unsigned int reserved;
+       unsigned int others[4];
+       unsigned int usbhost_con[7];
+};
+
+#endif /* __ASM_ARM_ARCH_EHCI_H__ */
diff --git a/arch/arm/mach-nexell/include/mach/gpio.h b/arch/arm/mach-nexell/include/mach/gpio.h
new file mode 100644 (file)
index 0000000..7167d3c
--- /dev/null
@@ -0,0 +1,17 @@
+/* SPDX-License-Identifier: GPL-2.0+
+ *
+ * (C) Copyright 2016 Nexell
+ * DeokJin, Lee <truevirtue@nexell.co.kr>
+ */
+
+#ifndef __ASM_ARCH_NEXELL_GPIO_H
+#define __ASM_ARCH_NEXELL_GPIO_H
+
+#include <asm/io.h>
+#include <linux/errno.h>
+
+#define PIN_BASE               0
+
+#define MAX_GPIO_BANKS         5
+
+#endif /* __ASM_ARCH_NEXELL_GPIO_H */
diff --git a/arch/arm/mach-nexell/include/mach/mipi_display.h b/arch/arm/mach-nexell/include/mach/mipi_display.h
new file mode 100644 (file)
index 0000000..f3fdec6
--- /dev/null
@@ -0,0 +1,215 @@
+/* SPDX-License-Identifier: GPL-2.0+
+ *
+ * Defines for Mobile Industry Processor Interface (MIPI(R))
+ * Display Working Group standards: DSI, DCS, DBI, DPI
+ *
+ * Copyright (C) 2010 Guennadi Liakhovetski <g.liakhovetski@gmx.de>
+ * Copyright (C) 2006 Nokia Corporation
+ * Author: Imre Deak <imre.deak@nokia.com>
+ */
+
+#ifndef MIPI_DISPLAY_H
+#define MIPI_DISPLAY_H
+
+/* MIPI DSI Processor-to-Peripheral transaction types */
+enum {
+       MIPI_DSI_V_SYNC_START                           = 0x01,
+       MIPI_DSI_V_SYNC_END                             = 0x11,
+       MIPI_DSI_H_SYNC_START                           = 0x21,
+       MIPI_DSI_H_SYNC_END                             = 0x31,
+
+       MIPI_DSI_COLOR_MODE_OFF                         = 0x02,
+       MIPI_DSI_COLOR_MODE_ON                          = 0x12,
+       MIPI_DSI_SHUTDOWN_PERIPHERAL                    = 0x22,
+       MIPI_DSI_TURN_ON_PERIPHERAL                     = 0x32,
+
+       MIPI_DSI_GENERIC_SHORT_WRITE_0_PARAM            = 0x03,
+       MIPI_DSI_GENERIC_SHORT_WRITE_1_PARAM            = 0x13,
+       MIPI_DSI_GENERIC_SHORT_WRITE_2_PARAM            = 0x23,
+
+       MIPI_DSI_GENERIC_READ_REQUEST_0_PARAM           = 0x04,
+       MIPI_DSI_GENERIC_READ_REQUEST_1_PARAM           = 0x14,
+       MIPI_DSI_GENERIC_READ_REQUEST_2_PARAM           = 0x24,
+
+       MIPI_DSI_DCS_SHORT_WRITE                        = 0x05,
+       MIPI_DSI_DCS_SHORT_WRITE_PARAM                  = 0x15,
+
+       MIPI_DSI_DCS_READ                               = 0x06,
+
+       MIPI_DSI_SET_MAXIMUM_RETURN_PACKET_SIZE         = 0x37,
+
+       MIPI_DSI_END_OF_TRANSMISSION                    = 0x08,
+
+       MIPI_DSI_NULL_PACKET                            = 0x09,
+       MIPI_DSI_BLANKING_PACKET                        = 0x19,
+       MIPI_DSI_GENERIC_LONG_WRITE                     = 0x29,
+       MIPI_DSI_DCS_LONG_WRITE                         = 0x39,
+
+       MIPI_DSI_LOOSELY_PACKED_PIXEL_STREAM_YCBCR20    = 0x0c,
+       MIPI_DSI_PACKED_PIXEL_STREAM_YCBCR24            = 0x1c,
+       MIPI_DSI_PACKED_PIXEL_STREAM_YCBCR16            = 0x2c,
+
+       MIPI_DSI_PACKED_PIXEL_STREAM_30                 = 0x0d,
+       MIPI_DSI_PACKED_PIXEL_STREAM_36                 = 0x1d,
+       MIPI_DSI_PACKED_PIXEL_STREAM_YCBCR12            = 0x3d,
+
+       MIPI_DSI_PACKED_PIXEL_STREAM_16                 = 0x0e,
+       MIPI_DSI_PACKED_PIXEL_STREAM_18                 = 0x1e,
+       MIPI_DSI_PIXEL_STREAM_3BYTE_18                  = 0x2e,
+       MIPI_DSI_PACKED_PIXEL_STREAM_24                 = 0x3e,
+};
+
+/* MIPI DSI Peripheral-to-Processor transaction types */
+enum {
+       MIPI_DSI_RX_ACKNOWLEDGE_AND_ERROR_REPORT        = 0x02,
+       MIPI_DSI_RX_END_OF_TRANSMISSION                 = 0x08,
+       MIPI_DSI_RX_GENERIC_SHORT_READ_RESPONSE_1BYTE   = 0x11,
+       MIPI_DSI_RX_GENERIC_SHORT_READ_RESPONSE_2BYTE   = 0x12,
+       MIPI_DSI_RX_GENERIC_LONG_READ_RESPONSE          = 0x1a,
+       MIPI_DSI_RX_DCS_LONG_READ_RESPONSE              = 0x1c,
+       MIPI_DSI_RX_DCS_SHORT_READ_RESPONSE_1BYTE       = 0x21,
+       MIPI_DSI_RX_DCS_SHORT_READ_RESPONSE_2BYTE       = 0x22,
+};
+
+/* MIPI DCS commands */
+enum {
+       MIPI_DCS_NOP                    = 0x00,
+       MIPI_DCS_SOFT_RESET             = 0x01,
+       MIPI_DCS_GET_DISPLAY_ID         = 0x04,
+       MIPI_DCS_GET_RED_CHANNEL        = 0x06,
+       MIPI_DCS_GET_GREEN_CHANNEL      = 0x07,
+       MIPI_DCS_GET_BLUE_CHANNEL       = 0x08,
+       MIPI_DCS_GET_DISPLAY_STATUS     = 0x09,
+       MIPI_DCS_GET_POWER_MODE         = 0x0A,
+       MIPI_DCS_GET_ADDRESS_MODE       = 0x0B,
+       MIPI_DCS_GET_PIXEL_FORMAT       = 0x0C,
+       MIPI_DCS_GET_DISPLAY_MODE       = 0x0D,
+       MIPI_DCS_GET_SIGNAL_MODE        = 0x0E,
+       MIPI_DCS_GET_DIAGNOSTIC_RESULT  = 0x0F,
+       MIPI_DCS_ENTER_SLEEP_MODE       = 0x10,
+       MIPI_DCS_EXIT_SLEEP_MODE        = 0x11,
+       MIPI_DCS_ENTER_PARTIAL_MODE     = 0x12,
+       MIPI_DCS_ENTER_NORMAL_MODE      = 0x13,
+       MIPI_DCS_EXIT_INVERT_MODE       = 0x20,
+       MIPI_DCS_ENTER_INVERT_MODE      = 0x21,
+       MIPI_DCS_SET_GAMMA_CURVE        = 0x26,
+       MIPI_DCS_SET_DISPLAY_OFF        = 0x28,
+       MIPI_DCS_SET_DISPLAY_ON         = 0x29,
+       MIPI_DCS_SET_COLUMN_ADDRESS     = 0x2A,
+       MIPI_DCS_SET_PAGE_ADDRESS       = 0x2B,
+       MIPI_DCS_WRITE_MEMORY_START     = 0x2C,
+       MIPI_DCS_WRITE_LUT              = 0x2D,
+       MIPI_DCS_READ_MEMORY_START      = 0x2E,
+       MIPI_DCS_SET_PARTIAL_AREA       = 0x30,
+       MIPI_DCS_SET_SCROLL_AREA        = 0x33,
+       MIPI_DCS_SET_TEAR_OFF           = 0x34,
+       MIPI_DCS_SET_TEAR_ON            = 0x35,
+       MIPI_DCS_SET_ADDRESS_MODE       = 0x36,
+       MIPI_DCS_SET_SCROLL_START       = 0x37,
+       MIPI_DCS_EXIT_IDLE_MODE         = 0x38,
+       MIPI_DCS_ENTER_IDLE_MODE        = 0x39,
+       MIPI_DCS_SET_PIXEL_FORMAT       = 0x3A,
+       MIPI_DCS_WRITE_MEMORY_CONTINUE  = 0x3C,
+       MIPI_DCS_READ_MEMORY_CONTINUE   = 0x3E,
+       MIPI_DCS_SET_TEAR_SCANLINE      = 0x44,
+       MIPI_DCS_GET_SCANLINE           = 0x45,
+       MIPI_DCS_READ_DDB_START         = 0xA1,
+       MIPI_DCS_READ_DDB_CONTINUE      = 0xA8,
+};
+
+/* MIPI DCS pixel formats */
+#define MIPI_DCS_PIXEL_FMT_24BIT       7
+#define MIPI_DCS_PIXEL_FMT_18BIT       6
+#define MIPI_DCS_PIXEL_FMT_16BIT       5
+#define MIPI_DCS_PIXEL_FMT_12BIT       3
+#define MIPI_DCS_PIXEL_FMT_8BIT                2
+#define MIPI_DCS_PIXEL_FMT_3BIT                1
+
+/* request ACK from peripheral */
+#define MIPI_DSI_MSG_REQ_ACK    BIT(0)
+/* use Low Power Mode to transmit message */
+#define MIPI_DSI_MSG_USE_LPM    BIT(1)
+
+/**
+ * struct mipi_dsi_msg - read/write DSI buffer
+ * @channel: virtual channel id
+ * @type: payload data type
+ * @flags: flags controlling this message transmission
+ * @tx_len: length of @tx_buf
+ * @tx_buf: data to be written
+ * @rx_len: length of @rx_buf
+ * @rx_buf: data to be read, or NULL
+ */
+struct mipi_dsi_msg {
+       u8 channel;     /* virtual channel id */
+       u8 type;        /* payload data type */
+       u16 flags;      /* flags controlling this message transmission */
+       size_t tx_len;
+       const void *tx_buf;
+       size_t rx_len;
+       void *rx_buf;
+};
+
+/* DSI mode flags */
+
+/* video mode */
+#define MIPI_DSI_MODE_VIDEO             BIT(0)
+/* video burst mode */
+#define MIPI_DSI_MODE_VIDEO_BURST       BIT(1)
+/* video pulse mode */
+#define MIPI_DSI_MODE_VIDEO_SYNC_PULSE  BIT(2)
+/* enable auto vertical count mode */
+#define MIPI_DSI_MODE_VIDEO_AUTO_VERT   BIT(3)
+/* enable hsync-end packets in vsync-pulse and v-porch area */
+#define MIPI_DSI_MODE_VIDEO_HSE         BIT(4)
+/* disable hfront-porch area */
+#define MIPI_DSI_MODE_VIDEO_HFP         BIT(5)
+/* disable hback-porch area */
+#define MIPI_DSI_MODE_VIDEO_HBP         BIT(6)
+/* disable hsync-active area */
+#define MIPI_DSI_MODE_VIDEO_HSA         BIT(7)
+/* flush display FIFO on vsync pulse */
+#define MIPI_DSI_MODE_VSYNC_FLUSH       BIT(8)
+/* disable EoT packets in HS mode */
+#define MIPI_DSI_MODE_EOT_PACKET        BIT(9)
+/* device supports non-continuous clock behavior (DSI spec 5.6.1) */
+#define MIPI_DSI_CLOCK_NON_CONTINUOUS   BIT(10)
+/* transmit data in low power */
+#define MIPI_DSI_MODE_LPM               BIT(11) /* DSI mode flags */
+
+enum mipi_dsi_pixel_format {
+       MIPI_DSI_FMT_RGB888,
+       MIPI_DSI_FMT_RGB666,
+       MIPI_DSI_FMT_RGB666_PACKED,
+       MIPI_DSI_FMT_RGB565,
+};
+
+/**
+ * struct mipi_dsi_device - DSI peripheral device
+ * @host: DSI host for this peripheral
+ * @dev: driver model device node for this peripheral
+ * @channel: virtual channel assigned to the peripheral
+ * @format: pixel format for video mode
+ * @lanes: number of active data lanes
+ * @mode_flags: DSI operation mode related flags
+ */
+struct mipi_dsi_device {
+       unsigned int channel;
+       unsigned int lanes;
+       enum mipi_dsi_pixel_format format;
+       unsigned long mode_flags;
+       struct mipi_panel_ops *ops;
+       ssize_t (*write_buffer)(struct mipi_dsi_device *dsi,
+                               const void *data, size_t len);
+};
+
+struct mipi_panel_ops {
+       int (*init)(struct mipi_dsi_device *dsi, int width, int height);
+       int (*prepare)(struct mipi_dsi_device *dsi);
+       int (*unprepare)(struct mipi_dsi_device *dsi);
+       int (*enable)(struct mipi_dsi_device *dsi);
+       int (*disable)(struct mipi_dsi_device *dsi);
+       void *private_data;
+};
+
+#endif
diff --git a/arch/arm/mach-nexell/include/mach/nexell.h b/arch/arm/mach-nexell/include/mach/nexell.h
new file mode 100644 (file)
index 0000000..e42805f
--- /dev/null
@@ -0,0 +1,352 @@
+/* SPDX-License-Identifier: GPL-2.0+
+ *
+ * (C) Copyright 2016 Nexell
+ * Hyunseok, Jung <hsjung@nexell.co.kr>
+ */
+
+#ifndef __NEXELL_H__
+#define __NEXELL_H__
+
+#define PHY_BASEADDR_DMA0              (0xC0000000)
+#define PHY_BASEADDR_DMA1              (0xC0001000)
+#if defined(CONFIG_ARCH_S5P4418)
+#define PHY_BASEADDR_INTC0             (0xC0002000)
+#define PHY_BASEADDR_INTC1             (0xC0003000)
+#elif defined(CONFIG_ARCH_S5P6818)
+#define PHY_BASEADDR_INTC              (0xC0008000)
+#endif
+#define PHY_BASEADDR_CLKPWR            (0xC0010000)
+#define PHY_BASEADDR_RTC               (0xC0010C00)
+#define PHY_BASEADDR_ALIVE             (0xC0010800)
+#define PHY_BASEADDR_RSTCON            (0xC0012000)
+#define PHY_BASEADDR_TIEOFF            (0xC0011000)
+#define PHY_BASEADDR_PDM               (0xC0014000)
+#define PHY_BASEADDR_CRYPTO            (0xC0015000)
+#define PHY_BASEADDR_TIMER             (0xC0017000)
+#define PHY_BASEADDR_PWM               (0xC0018000)
+#define PHY_BASEADDR_WDT               (0xC0019000)
+#define PHY_BASEADDR_GPIOA             (0xC001A000)
+#define PHY_BASEADDR_GPIOB             (0xC001B000)
+#define PHY_BASEADDR_GPIOC             (0xC001C000)
+#define PHY_BASEADDR_GPIOD             (0xC001D000)
+#define PHY_BASEADDR_GPIOE             (0xC001E000)
+#define PHY_BASEADDR_OHCI              (0xC0020000)
+#define PHY_BASEADDR_EHCI              (0xC0030000)
+#define PHY_BASEADDR_HSOTG             (0xC0040000)
+#define PHY_BASEADDR_ADC               (0xC0053000)
+#define PHY_BASEADDR_PPM               (0xC0054000)
+#define PHY_BASEADDR_I2S0              (0xC0055000)
+#define PHY_BASEADDR_I2S1              (0xC0056000)
+#define PHY_BASEADDR_I2S2              (0xC0057000)
+#define PHY_BASEADDR_AC97              (0xC0058000)
+#define PHY_BASEADDR_SPDIF_TX          (0xC0059000)
+#define PHY_BASEADDR_SPDIF_RX          (0xC005A000)
+#define PHY_BASEADDR_SSP0              (0xC005B000)
+#define PHY_BASEADDR_SSP1              (0xC005C000)
+#define PHY_BASEADDR_SSP2              (0xC005F000)
+#define PHY_BASEADDR_MPEGTSI           (0xC005D000)
+#define PHY_BASEADDR_GMAC              (0xC0060000)
+#define PHY_BASEADDR_VIP0              (0xC0063000)
+#define PHY_BASEADDR_VIP1              (0xC0064000)
+#if defined(CONFIG_ARCH_S5P6818)
+#define PHY_BASEADDR_VIP2              (0xC0099000)
+#endif
+#define PHY_BASEADDR_DEINTERLACE       (0xC0065000)
+#define PHY_BASEADDR_SCALER            (0xC0066000)
+#define PHY_BASEADDR_ECID              (0xC0067000)
+#define PHY_BASEADDR_SDMMC0            (0xC0062000)
+#define PHY_BASEADDR_SDMMC1            (0xC0068000)
+#define PHY_BASEADDR_SDMMC2            (0xC0069000)
+#define PHY_BASEADDR_MALI400           (0xC0070000)
+#define PHY_BASEADDR_CODA_APB0         (0xC0080000)
+#define PHY_BASEADDR_CODA_APB1         (0xC0081000)
+#define PHY_BASEADDR_CODA_APB2         (0xC0082000)
+#define PHY_BASEADDR_CODA_APB3         (0xC0083000)
+/* dma (O), modem(X), UART0_MODULE */
+#define PHY_BASEADDR_UART0             (0xC00A1000)
+/* dma (O), modem(O), pl01115_Uart_modem_MODULE */
+#define PHY_BASEADDR_UART1             (0xC00A0000)
+/* dma (O), modem(X), UART1_MODULE */
+#define PHY_BASEADDR_UART2             (0xC00A2000)
+/* dma (X), modem(X), pl01115_Uart_nodma0_MODULE */
+#define PHY_BASEADDR_UART3             (0xC00A3000)
+/* dma (X), modem(X), pl01115_Uart_nodma1_MODULE */
+#define PHY_BASEADDR_UART4             (0xC006D000)
+/* dma (X), modem(X), pl01115_Uart_nodma2_MODULE */
+#define PHY_BASEADDR_UART5             (0xC006F000)
+#define PHY_BASEADDR_I2C0              (0xC00A4000)
+#define PHY_BASEADDR_I2C1              (0xC00A5000)
+#define PHY_BASEADDR_I2C2              (0xC00A6000)
+#define PHY_BASEADDR_CAN0              (0xC00CE000)
+#define PHY_BASEADDR_CAN1              (0xC00CF000)
+#define PHY_BASEADDR_MIPI              (0xC00D0000)
+#define PHY_BASEADDR_DISPLAYTOP                (0xC0100000)
+
+#define PHY_BASEADDR_CLKGEN0           (0xC00BB000)    /* TIMER_1 */
+#define PHY_BASEADDR_CLKGEN1           (0xC00BC000)    /* TIMER_2 */
+#define PHY_BASEADDR_CLKGEN2           (0xC00BD000)    /* TIMER_3 */
+#define PHY_BASEADDR_CLKGEN3           (0xC00BE000)    /* PWM_1 */
+#define PHY_BASEADDR_CLKGEN4           (0xC00BF000)    /* PWM_2 */
+#define PHY_BASEADDR_CLKGEN5           (0xC00C0000)    /* PWM_3 */
+#define PHY_BASEADDR_CLKGEN6           (0xC00AE000)    /* I2C_0 */
+#define PHY_BASEADDR_CLKGEN7           (0xC00AF000)    /* I2C_1 */
+#define PHY_BASEADDR_CLKGEN8           (0xC00B0000)    /* I2C_2 */
+#define PHY_BASEADDR_CLKGEN9           (0xC00CA000)    /* MIPI */
+#define PHY_BASEADDR_CLKGEN10          (0xC00C8000)    /* GMAC */
+#define PHY_BASEADDR_CLKGEN11          (0xC00B8000)    /* SPDIF_TX */
+#define PHY_BASEADDR_CLKGEN12          (0xC00B7000)    /* MPEGTSI */
+#define PHY_BASEADDR_CLKGEN13          (0xC00BA000)    /* PWM_0 */
+#define PHY_BASEADDR_CLKGEN14          (0xC00B9000)    /* TIMER_0 */
+#define PHY_BASEADDR_CLKGEN15          (0xC00B2000)    /* I2S_0 */
+#define PHY_BASEADDR_CLKGEN16          (0xC00B3000)    /* I2S_1 */
+#define PHY_BASEADDR_CLKGEN17          (0xC00B4000)    /* I2S_2 */
+#define PHY_BASEADDR_CLKGEN18          (0xC00C5000)    /* SDHC_0 */
+#define PHY_BASEADDR_CLKGEN19          (0xC00CC000)    /* SDHC_1 */
+#define PHY_BASEADDR_CLKGEN20          (0xC00CD000)    /* SDHC_2 */
+#define PHY_BASEADDR_CLKGEN21          (0xC00C3000)    /* MALI */
+#define PHY_BASEADDR_CLKGEN22          (0xC00A9000)    /* UART_0 */
+#define PHY_BASEADDR_CLKGEN23          (0xC00AA000)    /* UART_2 */
+#define PHY_BASEADDR_CLKGEN24          (0xC00A8000)    /* UART_1 */
+#define PHY_BASEADDR_CLKGEN25          (0xC00AB000)    /* UART_3 */
+#define PHY_BASEADDR_CLKGEN26          (0xC006E000)    /* UART_4 */
+#define PHY_BASEADDR_CLKGEN27          (0xC00B1000)    /* UART_5 */
+#define PHY_BASEADDR_CLKGEN28          (0xC00B5000)    /* DEINTERLACE */
+#define PHY_BASEADDR_CLKGEN29          (0xC00C4000)    /* PPM */
+#define PHY_BASEADDR_CLKGEN30          (0xC00C1000)    /* VIP_0 */
+#define PHY_BASEADDR_CLKGEN31          (0xC00C2000)    /* VIP_1 */
+#define PHY_BASEADDR_CLKGEN32          (0xC006B000)    /* USB2HOST */
+#define PHY_BASEADDR_CLKGEN33          (0xC00C7000)    /* CODA */
+#define PHY_BASEADDR_CLKGEN34          (0xC00C6000)    /* CRYPTO */
+#define PHY_BASEADDR_CLKGEN35          (0xC00B6000)    /* SCALER */
+#define PHY_BASEADDR_CLKGEN36          (0xC00CB000)    /* PDM */
+#define PHY_BASEADDR_CLKGEN37          (0xC00AC000)    /* SPI0 */
+#define PHY_BASEADDR_CLKGEN38          (0xC00AD000)    /* SPI1 */
+#define PHY_BASEADDR_CLKGEN39          (0xC00A7000)    /* SPI2 */
+#if defined(CONFIG_ARCH_S5P6818)
+#define PHY_BASEADDR_CLKGEN40          (0xC009A000)
+#endif
+#define PHY_BASEADDR_DREX              (0xC00E0000)
+
+#define PHY_BASEADDR_CS_NAND           (0x2C000000)
+
+#define PHY_BASEADDR_SRAM              (0xFFFF0000)
+
+/*
+ * Nexell clock generator
+ */
+#define CLK_ID_TIMER_1                 0
+#define CLK_ID_TIMER_2                 1
+#define CLK_ID_TIMER_3                 2
+#define CLK_ID_PWM_1                   3
+#define CLK_ID_PWM_2                   4
+#define CLK_ID_PWM_3                   5
+#define CLK_ID_I2C_0                   6
+#define CLK_ID_I2C_1                   7
+#define CLK_ID_I2C_2                   8
+#define CLK_ID_MIPI                    9
+#define CLK_ID_GMAC                    10      /* External Clock 1 */
+#define CLK_ID_SPDIF_TX                        11
+#define CLK_ID_MPEGTSI                 12
+#define CLK_ID_PWM_0                   13
+#define CLK_ID_TIMER_0                 14
+#define CLK_ID_I2S_0                   15      /* External Clock 1 */
+#define CLK_ID_I2S_1                   16      /* External Clock 1 */
+#define CLK_ID_I2S_2                   17      /* External Clock 1 */
+#define CLK_ID_SDHC_0                  18
+#define CLK_ID_SDHC_1                  19
+#define CLK_ID_SDHC_2                  20
+#define CLK_ID_MALI                    21
+#define CLK_ID_UART_0                  22      /* UART0_MODULE */
+#define CLK_ID_UART_2                  23      /* UART1_MODULE */
+#define CLK_ID_UART_1                  24      /* pl01115_Uart_modem_MODULE  */
+#define CLK_ID_UART_3                  25      /* pl01115_Uart_nodma0_MODULE */
+#define CLK_ID_UART_4                  26      /* pl01115_Uart_nodma1_MODULE */
+#define CLK_ID_UART_5                  27      /* pl01115_Uart_nodma2_MODULE */
+#define CLK_ID_DIT                     28
+#define CLK_ID_PPM                     29
+#define CLK_ID_VIP_0                   30      /* External Clock 1 */
+#define CLK_ID_VIP_1                   31      /* External Clock 1, 2 */
+#define CLK_ID_USB2HOST                        32      /* External Clock 2 */
+#define CLK_ID_CODA                    33
+#define CLK_ID_CRYPTO                  34
+#define CLK_ID_SCALER                  35
+#define CLK_ID_PDM                     36
+#define CLK_ID_SPI_0                   37
+#define CLK_ID_SPI_1                   38
+#define CLK_ID_SPI_2                   39
+#define CLK_ID_MAX                     39
+
+/*
+ * Nexell Reset control
+ */
+#define RESET_ID_AC97                  0
+#define RESET_ID_CPU1                  1
+#define RESET_ID_CPU2                  2
+#define RESET_ID_CPU3                  3
+#define RESET_ID_WD1                   4
+#define RESET_ID_WD2                   5
+#define RESET_ID_WD3                   6
+#define RESET_ID_CRYPTO                        7
+#define RESET_ID_DEINTERLACE           8
+#define RESET_ID_DISP_TOP              9
+#define RESET_ID_DISPLAY               10
+#define RESET_ID_RESCONV               11
+#define RESET_ID_LCDIF                 12
+#define RESET_ID_HDMI                  13
+#define RESET_ID_HDMI_VIDEO            14
+#define RESET_ID_HDMI_SPDIF            15
+#define RESET_ID_HDMI_TMDS             16
+#define RESET_ID_HDMI_PHY              17
+#define RESET_ID_LVDS                  18
+#define RESET_ID_ECID                  19
+#define RESET_ID_I2C0                  20
+#define RESET_ID_I2C1                  21
+#define RESET_ID_I2C2                  22
+#define RESET_ID_I2S0                  23
+#define RESET_ID_I2S1                  24
+#define RESET_ID_I2S2                  25
+#define RESET_ID_DREX_C                        26
+#define RESET_ID_DREX_A                        27
+#define RESET_ID_DREX                  28
+#define RESET_ID_MIPI                  29
+#define RESET_ID_MIPI_DSI              30
+#define RESET_ID_MIPI_CSI              31
+#define RESET_ID_MIPI_PHY_S            32
+#define RESET_ID_MIPI_PHY_M            33
+#define RESET_ID_MPEGTSI               34
+#define RESET_ID_PDM                   35
+#define RESET_ID_TIMER                 36
+#define RESET_ID_PWM                   37
+#define RESET_ID_SCALER                        38
+#define RESET_ID_SDMMC0                        39
+#define RESET_ID_SDMMC1                        40
+#define RESET_ID_SDMMC2                        41
+#define RESET_ID_SPDIFRX               42
+#define RESET_ID_SPDIFTX               43
+#define RESET_ID_SSP0_P                        44
+#define RESET_ID_SSP0                  45
+#define RESET_ID_SSP1_P                        46
+#define RESET_ID_SSP1                  47
+#define RESET_ID_SSP2_P                        48
+#define RESET_ID_SSP2                  49
+#define RESET_ID_UART0                 50      /* UART1 */
+#define RESET_ID_UART1                 51      /* pl01115_Uart_modem   */
+#define RESET_ID_UART2                 52      /* UART1 */
+#define RESET_ID_UART3                 53      /* pl01115_Uart_nodma0 */
+#define RESET_ID_UART4                 54      /* pl01115_Uart_nodma1 */
+#define RESET_ID_UART5                 55      /* pl01115_Uart_nodma2 */
+#define RESET_ID_USB20HOST             56
+#define RESET_ID_USB20OTG              57
+#define RESET_ID_WDT                   58
+#define RESET_ID_WDT_POR               59
+#define RESET_ID_ADC                   60
+#define RESET_ID_CODA_A                        61
+#define RESET_ID_CODA_P                        62
+#define RESET_ID_CODA_C                        63
+#define RESET_ID_DWC_GMAC              64
+#define RESET_ID_MALI400               65
+#define RESET_ID_PPM                   66
+#define RESET_ID_VIP1                  67
+#define RESET_ID_VIP0                  68
+#if defined(CONFIG_ARCH_S5P6818)
+#define RESET_ID_VIP2                  69
+#endif
+
+/*
+ * device name
+ */
+#define DEV_NAME_UART                  "nx-uart" /* pl0115 (amba-pl011.c) */
+#define DEV_NAME_FB                    "nx-fb"
+#define DEV_NAME_DISP                  "nx-disp"
+#define DEV_NAME_LCD                   "nx-lcd"
+#define DEV_NAME_LVDS                  "nx-lvds"
+#define DEV_NAME_HDMI                  "nx-hdmi"
+#define DEV_NAME_RESCONV               "nx-resconv"
+#define DEV_NAME_MIPI                  "nx-mipi"
+#define DEV_NAME_PCM                   "nx-pcm"
+#define DEV_NAME_I2S                   "nx-i2s"
+#define DEV_NAME_SPDIF_TX              "nx-spdif-tx"
+#define DEV_NAME_SPDIF_RX              "nx-spdif-rx"
+#define DEV_NAME_I2C                   "nx-i2c"
+#define DEV_NAME_NAND                  "nx-nand"
+#define DEV_NAME_KEYPAD                        "nx-keypad"
+#define DEV_NAME_SDHC                  "nx-sdhc"
+#define DEV_NAME_PWM                   "nx-pwm"
+#define DEV_NAME_TIMER                 "nx-timer"
+#define DEV_NAME_SOC_PWM               "nx-soc-pwm"
+#define DEV_NAME_GPIO                  "nx-gpio"
+#define DEV_NAME_RTC                   "nx-rtc"
+#define DEV_NAME_GMAC                  "nx-gmac"
+#define DEV_NAME_MPEGTSI               "nx-mpegtsi"
+#define DEV_NAME_MALI                  "nx-mali"
+#define DEV_NAME_DIT                   "nx-deinterlace"
+#define DEV_NAME_PPM                   "nx-ppm"
+#define DEV_NAME_VIP                   "nx-vip"
+#define DEV_NAME_CODA                  "nx-coda"
+#define DEV_NAME_USB2HOST              "nx-usb2h"
+#define DEV_NAME_CRYPTO                        "nx-crypto"
+#define DEV_NAME_SCALER                        "nx-scaler"
+#define DEV_NAME_PDM                   "nx-pdm"
+#define DEV_NAME_SPI                   "nx-spi"
+#define DEV_NAME_CPUFREQ               "nx-cpufreq"
+
+/*
+ * clock generator
+ */
+#define CORECLK_NAME_PLL0              "pll0"  /* cpu clock */
+#define CORECLK_NAME_PLL1              "pll1"
+#define CORECLK_NAME_PLL2              "pll2"
+#define CORECLK_NAME_PLL3              "pll3"
+#define CORECLK_NAME_FCLK              "fclk"
+#define CORECLK_NAME_MCLK              "mclk"
+#define CORECLK_NAME_BCLK              "bclk"
+#define CORECLK_NAME_PCLK              "pclk"
+#define CORECLK_NAME_HCLK              "hclk"
+
+#define CORECLK_ID_PLL0                        0
+#define CORECLK_ID_PLL1                        1
+#define CORECLK_ID_PLL2                        2
+#define CORECLK_ID_PLL3                        3
+#define CORECLK_ID_FCLK                        4
+#define CORECLK_ID_MCLK                        5
+#define CORECLK_ID_BCLK                        6
+#define CORECLK_ID_PCLK                        7
+#define CORECLK_ID_HCLK                        8
+
+#define ALIVEPWRGATEREG                        (PHY_BASEADDR_ALIVE + 0x0)
+
+#if defined(CONFIG_ARCH_S5P4418)
+#define        SCR_ARM_SECOND_BOOT             (0xC0010C1C)     /* PWR scratch */
+#define        SCR_ARM_SECOND_BOOT_REG1        (0xc0010234) /* ToDo : Check Address */
+#elif defined(CONFIG_ARCH_S5P6818)
+#define        SCR_ARM_SECOND_BOOT             (0xc0010230)     /* PWR scratch */
+#define        SCR_ARM_SECOND_BOOT_REG1        (0xc0010234) /* PWR scratch */
+#define        SCR_ARM_SECOND_BOOT_REG2        (0xc0010238) /* PWR scratch */
+#endif
+
+#define        SCR_ALIVE_BASE                  (PHY_BASEADDR_ALIVE)
+#define        SCR_SIGNAGURE_RESET             (SCR_ALIVE_BASE + 0x068)
+#define        SCR_SIGNAGURE_SET               (SCR_ALIVE_BASE + 0x06C)
+#define        SCR_SIGNAGURE_READ              (SCR_ALIVE_BASE + 0x070)
+
+#define SYSRSTCONFIG                   (0x23C)
+#define DEVICEBOOTINFO                 (0x50)
+#define BOOTMODE_MASK                  (0x7)
+#define BOOTMODE_SDMMC                 5
+#define BOOTMODE_USB                   6
+#define BOOTMODE_SDMMC_PORT_VAL(x)     ((((x) >> 3) & 1) |     \
+                                        (((x) >> 19 & 1) << 1))
+#define EMMC_PORT_NUM                  2
+#define SD_PORT_NUM                    0
+#define ID_REG_EC0                             (0x54)
+#define WIRE0_MASK                             (0x1)
+
+#ifndef __ASSEMBLY__
+
+#define NS_IN_HZ (1000000000UL)
+#define TO_PERIOD_NS(freq)     (NS_IN_HZ / (freq))
+#define TO_DUTY_NS(duty, freq)  (duty ? TO_PERIOD_NS(freq) / (100 / duty) : 0)
+
+#endif /* __ASSEMBLY__ */
+
+#endif /* __NEXELL_H__ */
diff --git a/arch/arm/mach-nexell/include/mach/nx_gpio.h b/arch/arm/mach-nexell/include/mach/nx_gpio.h
new file mode 100644 (file)
index 0000000..91803d2
--- /dev/null
@@ -0,0 +1,103 @@
+/* SPDX-License-Identifier: GPL-2.0+
+ *
+ * (C) Copyright 2016 Nexell
+ * Youngbok, Park <ybpark@nexell.co.kr>
+ */
+
+#include <linux/types.h>
+#include <asm/io.h>
+
+#ifndef __nx_gpio_h__
+#define __nx_gpio_h__
+
+struct nx_gpio_register_set {
+       u32 gpioxout;
+       u32 gpioxoutenb;
+       u32 gpioxdetmode[2];
+       u32 gpioxintenb;
+       u32 gpioxdet;
+       u32 gpioxpad;
+       u32 gpioxpuenb;
+       u32 gpioxaltfn[2];
+       u32 gpioxdetmodeex;
+       u32 __reserved[4];
+       u32 gpioxdetenb;
+       u32 gpiox_slew;
+       u32 gpiox_slew_disable_default;
+       u32 gpiox_drv1;
+       u32 gpiox_drv1_disable_default;
+       u32 gpiox_drv0;
+       u32 gpiox_drv0_disable_default;
+       u32 gpiox_pullsel;
+       u32 gpiox_pullsel_disable_default;
+       u32 gpiox_pullenb;
+       u32 gpiox_pullenb_disable_default;
+       u32 gpiox_input_mux_select0;
+       u32 gpiox_input_mux_select1;
+       u8 __reserved1[0x1000 - 0x70];
+};
+
+enum {
+       nx_gpio_padfunc_0 = 0ul,
+       nx_gpio_padfunc_1 = 1ul,
+       nx_gpio_padfunc_2 = 2ul,
+       nx_gpio_padfunc_3 = 3ul
+};
+
+enum {
+       nx_gpio_drvstrength_0 = 0ul,
+       nx_gpio_drvstrength_1 = 1ul,
+       nx_gpio_drvstrength_2 = 2ul,
+       nx_gpio_drvstrength_3 = 3ul
+};
+
+enum {
+       nx_gpio_pull_down = 0ul,
+       nx_gpio_pull_up = 1ul,
+       nx_gpio_pull_off = 2ul
+};
+
+int nx_gpio_initialize(void);
+u32 nx_gpio_get_number_of_module(void);
+u32 nx_gpio_get_size_of_register_set(void);
+void nx_gpio_set_base_address(u32 module_index, void *base_address);
+void *nx_gpio_get_base_address(u32 module_index);
+int nx_gpio_open_module(u32 module_index);
+int nx_gpio_close_module(u32 module_index);
+int nx_gpio_check_busy(u32 module_index);
+void nx_gpio_set_detect_enable(u32 module_index, u32 bit_number,
+                              int detect_enb);
+void nx_gpio_set_pad_function(u32 module_index, u32 bit_number, u32 padfunc);
+void nx_gpio_set_pad_function32(u32 module_index, u32 msbvalue, u32 lsbvalue);
+int nx_gpio_get_pad_function(u32 module_index, u32 bit_number);
+void nx_gpio_set_output_enable(u32 module_index, u32 bit_number,
+                              int output_enb);
+int nx_gpio_get_detect_enable(u32 module_index, u32 bit_number);
+u32 nx_gpio_get_detect_enable32(u32 module_index);
+void nx_gpio_set_detect_enable(u32 module_index, u32 bit_number,
+                              int detect_enb);
+void nx_gpio_set_detect_enable32(u32 module_index, u32 enable_flag);
+int nx_gpio_get_output_enable(u32 module_index, u32 bit_number);
+void nx_gpio_set_output_enable32(u32 module_index, int output_enb);
+u32 nx_gpio_get_output_enable32(u32 module_index);
+void nx_gpio_set_output_value(u32 module_index, u32 bit_number, int value);
+int nx_gpio_get_output_value(u32 module_index, u32 bit_number);
+void nx_gpio_set_output_value32(u32 module_index, u32 value);
+u32 nx_gpio_get_output_value32(u32 module_index);
+int nx_gpio_get_input_value(u32 module_index, u32 bit_number);
+void nx_gpio_set_pull_select(u32 module_index, u32 bit_number, int enable);
+void nx_gpio_set_pull_select32(u32 module_index, u32 value);
+int nx_gpio_get_pull_select(u32 module_index, u32 bit_number);
+u32 nx_gpio_get_pull_select32(u32 module_index);
+void nx_gpio_set_pull_mode(u32 module_index, u32 bit_number, u32 mode);
+void nx_gpio_set_fast_slew(u32 module_index, u32 bit_number, int enable);
+void nx_gpio_set_drive_strength_disable_default(u32 module_index,
+                                               u32 bit_number, int enable);
+void nx_gpio_set_drive_strength_disable_default(u32 module_index,
+                                               u32 bit_number, int enable);
+void nx_gpio_set_drive_strength(u32 module_index, u32 bit_number,
+                               u32 drvstrength);
+void nx_gpio_set_drive_strength_disable_default(u32 module_index,
+                                               u32 bit_number, int enable);
+u32 nx_gpio_get_drive_strength(u32 module_index, u32 bit_number);
+#endif
diff --git a/arch/arm/mach-nexell/include/mach/reset.h b/arch/arm/mach-nexell/include/mach/reset.h
new file mode 100644 (file)
index 0000000..e1301d4
--- /dev/null
@@ -0,0 +1,19 @@
+/* SPDX-License-Identifier: GPL-2.0+
+ *
+ * (C) Copyright 2016 Nexell
+ * Youngbok, Park <ybpark@nexell.co.kr>
+ */
+
+#ifndef __NEXELL_RESET__
+#define __NEXELL_RESET__
+
+#define NUMBER_OF_RESET_MODULE_PIN      69
+
+enum rstcon {
+       RSTCON_ASSERT   = 0UL,
+       RSTCON_NEGATE   = 1UL
+};
+
+void nx_rstcon_setrst(u32 rstindex, enum rstcon status);
+
+#endif /* __NEXELL_RESET__ */
diff --git a/arch/arm/mach-nexell/include/mach/sec_reg.h b/arch/arm/mach-nexell/include/mach/sec_reg.h
new file mode 100644 (file)
index 0000000..e3ae5ac
--- /dev/null
@@ -0,0 +1,15 @@
+/* SPDX-License-Identifier: GPL-2.0+
+ *
+ * (C) Copyright 2016 Nexell
+ * Youngbok, Park <park@nexell.co.kr>
+ */
+
+#define NEXELL_L2C_SEC_ID      0
+#define NEXELL_MALI_SEC_ID     2
+#define NEXELL_MIPI_SEC_ID     4
+#define NEXELL_TOFF_SEC_ID     6
+
+int write_sec_reg_by_id(void __iomem *reg, int val, int id);
+int read_sec_reg_by_id(void __iomem *reg, int id);
+int read_sec_reg(void __iomem *reg);
+int write_sec_reg(void __iomem *reg, int val);
diff --git a/arch/arm/mach-nexell/include/mach/tieoff.h b/arch/arm/mach-nexell/include/mach/tieoff.h
new file mode 100644 (file)
index 0000000..70e9652
--- /dev/null
@@ -0,0 +1,423 @@
+/* SPDX-License-Identifier: GPL-2.0+
+ *
+ * (C) Copyright 2016 Nexell
+ * Youngbok, Park <park@nexell.co.kr>
+ */
+
+#ifndef _NEXELL_TIEOFF_H
+#define _NEXELL_TIEOFF_H
+
+void nx_tieoff_set(u32 tieoff_index, u32 tieoff_value);
+u32 nx_tieoff_get(u32 tieoff_index);
+
+#if defined(CONFIG_ARCH_S5P4418)
+#define NX_TIEOFF_CORTEXA9MP_TOP_QUADL2C_CLAMPCOREOUT  ((1 << 16) | 0)
+#define NX_TIEOFF_CORTEXA9MP_TOP_QUADL2C_CLAMPCPU0     ((1 << 16) | 1)
+#define NX_TIEOFF_CORTEXA9MP_TOP_QUADL2C_CLAMPCPU1     ((1 << 16) | 2)
+#define NX_TIEOFF_CORTEXA9MP_TOP_QUADL2C_CLAMPCPU2     ((1 << 16) | 3)
+#define NX_TIEOFF_CORTEXA9MP_TOP_QUADL2C_CLAMPCPU3     ((1 << 16) | 4)
+#define NX_TIEOFF_CORTEXA9MP_TOP_QUADL2C_COREPWRDOWN   ((1 << 16) | 5)
+#define NX_TIEOFF_CORTEXA9MP_TOP_QUADL2C_CPU0PWRDOWN   ((1 << 16) | 6)
+#define NX_TIEOFF_CORTEXA9MP_TOP_QUADL2C_CPU1PWRDOWN   ((1 << 16) | 7)
+#define NX_TIEOFF_CORTEXA9MP_TOP_QUADL2C_CPU2PWRDOWN   ((1 << 16) | 8)
+#define NX_TIEOFF_CORTEXA9MP_TOP_QUADL2C_CPU3PWRDOWN   ((1 << 16) | 9)
+#define NX_TIEOFF_CORTEXA9MP_TOP_QUADL2C_L2_CFGENDIAN  ((1 << 16) | 10)
+#define NX_TIEOFF_CORTEXA9MP_TOP_QUADL2C_L1EMAS                ((1 << 16) | 11)
+#define NX_TIEOFF_CORTEXA9MP_TOP_QUADL2C_L2RET1N_0     ((1 << 16) | 12)
+#define NX_TIEOFF_CORTEXA9MP_TOP_QUADL2C_L2RET1N_1     ((1 << 16) | 13)
+#define NX_TIEOFF_CORTEXA9MP_TOP_QUADL2C_L2PGEN_0      ((1 << 16) | 14)
+#define NX_TIEOFF_CORTEXA9MP_TOP_QUADL2C_L2PGEN_1      ((1 << 16) | 15)
+#define NX_TIEOFF_CORTEXA9MP_TOP_QUADL2C_CLAMPL2_0     ((1 << 16) | 16)
+#define NX_TIEOFF_CORTEXA9MP_TOP_QUADL2C_CLAMPL2_1     ((1 << 16) | 17)
+#define NX_TIEOFF_CORTEXA9MP_TOP_QUADL2C_VINITHI       ((4 << 16) | 18)
+#define NX_TIEOFF_CORTEXA9MP_TOP_QUADL2C_L2EMA         ((3 << 16) | 22)
+#define NX_TIEOFF_CORTEXA9MP_TOP_QUADL2C_TEINIT                ((4 << 16) | 25)
+#define NX_TIEOFF_CORTEXA9MP_TOP_QUADL2C_L1EMAW                ((2 << 16) | 29)
+#define NX_TIEOFF_CORTEXA9MP_TOP_QUADL2C_L2EMAW                ((2 << 16) | 32)
+#define NX_TIEOFF_CORTEXA9MP_TOP_QUADL2C_L1EMA         ((3 << 16) | 34)
+#define NX_TIEOFF_CORTEXA9MP_TOP_QUADL2C_CPUCLKOFF     ((4 << 16) | 37)
+#define NX_TIEOFF_CORTEXA9MP_TOP_QUADL2C_PWRCTLI0      ((2 << 16) | 41)
+#define NX_TIEOFF_CORTEXA9MP_TOP_QUADL2C_PWRCTLI1      ((2 << 16) | 43)
+#define NX_TIEOFF_CORTEXA9MP_TOP_QUADL2C_PWRCTLI2      ((2 << 16) | 45)
+#elif defined(CONFIG_ARCH_S5P6818)
+#define NX_TIEOFF_MMC_8BIT                             ((1 << 16) | 5)
+#endif
+#define NX_TIEOFF_AXISRAM0_i_TIE_ra2w_EMAA             ((3 << 16) | 47)
+#define NX_TIEOFF_AXISRAM0_i_TIE_ra2w_EMAB             ((3 << 16) | 50)
+#define NX_TIEOFF_AXISRAM0_i_TIE_ra2w_EMAWA            ((2 << 16) | 53)
+#define NX_TIEOFF_AXISRAM0_i_TIE_ra2w_EMAWB            ((2 << 16) | 55)
+#define NX_TIEOFF_AXISRAM0_i_nPowerDown                        ((1 << 16) | 57)
+#define NX_TIEOFF_AXISRAM0_i_nSleep                    ((1 << 16) | 58)
+#define NX_TIEOFF_CAN0_i_TIE_rf1_EMA                   ((3 << 16) | 59)
+#define NX_TIEOFF_CAN0_i_TIE_rf1_EMAW                  ((2 << 16) | 62)
+#define NX_TIEOFF_CAN0_i_nPowerDown                    ((1 << 16) | 64)
+#define NX_TIEOFF_CAN0_i_nSleep                                ((1 << 16) | 65)
+#define NX_TIEOFF_CAN1_i_TIE_rf1_EMA                   ((3 << 16) | 66)
+#define NX_TIEOFF_CAN1_i_TIE_rf1_EMAW                  ((2 << 16) | 69)
+#define NX_TIEOFF_CAN1_i_nPowerDown                    ((1 << 16) | 71)
+#define NX_TIEOFF_CAN1_i_nSleep                                ((1 << 16) | 72)
+#define NX_TIEOFF_DEINTERLACE0_i_NX_RF1_EMA            ((3 << 16) | 73)
+#define NX_TIEOFF_DEINTERLACE0_i_NX_RF1_EMAW           ((2 << 16) | 76)
+#define NX_TIEOFF_DEINTERLACE0_i_NX_RF2_EMAA           ((3 << 16) | 78)
+#define NX_TIEOFF_DEINTERLACE0_i_NX_RF2_EMAB           ((3 << 16) | 81)
+#define NX_TIEOFF_DEINTERLACE0_i_NX_RF2W_EMAA          ((3 << 16) | 84)
+#define NX_TIEOFF_DEINTERLACE0_i_NX_RF2W_EMAB          ((3 << 16) | 87)
+#define NX_TIEOFF_DISPLAYTOP0_i_ResConv_nPowerDown     ((1 << 16) | 90)
+#define NX_TIEOFF_DISPLAYTOP0_i_ResConv_nSleep         ((1 << 16) | 91)
+#define NX_TIEOFF_DISPLAYTOP0_i_HDMI_nPowerDown                ((2 << 16) | 92)
+#define NX_TIEOFF_DISPLAYTOP0_i_HDMI_nSleep            ((2 << 16) | 94)
+#define NX_TIEOFF_DISPLAYTOP0_i_HDMI_PHY_REFCLK_SEL    ((1 << 16) | 96)
+#define NX_TIEOFF_DISPLAYTOP0_i_TIEOFF_SPSRAM_EMA      ((3 << 16) | 97)
+#define NX_TIEOFF_DISPLAYTOP0_i_TIEOFF_SPSRAM_EMAW     ((2 << 16) | 100)
+#define NX_TIEOFF_DISPLAYTOP0_i_TIEOFF_DPSRAM_1R1W_EMAA ((3 << 16) | 102)
+#define NX_TIEOFF_DISPLAYTOP0_i_TIEOFF_DPSRAM_1R1W_EMAB ((3 << 16) | 105)
+#define NX_TIEOFF_DISPLAYTOP0_i_TIEOFF_DPSRAM_EMAA     ((3 << 16) | 108)
+#define NX_TIEOFF_DISPLAYTOP0_i_TIEOFF_DPSRAM_EMAB     ((3 << 16) | 111)
+#define NX_TIEOFF_DISPLAYTOP0_i_TIEOFF_DPSRAM_EMAWA    ((2 << 16) | 114)
+#define NX_TIEOFF_DISPLAYTOP0_i_TIEOFF_DPSRAM_EMAWB    ((2 << 16) | 116)
+#define NX_TIEOFF_MCUSTOP0_i_vrom_EMA                  ((3 << 16) | 118)
+#define NX_TIEOFF_DREX0_CKE_INIT                       ((1 << 16) | 121)
+#define NX_TIEOFF_DREX0_CA_SWAP                                ((1 << 16) | 122)
+#define NX_TIEOFF_DREX0_CSYSREQ                                ((1 << 16) | 123)
+#define NX_TIEOFF_DREX0_PAUSE_REQ                      ((1 << 16) | 124)
+#define NX_TIEOFF_DREX0_PEREV_TRIGGER                  ((1 << 16) | 125)
+#define NX_TIEOFF_DREX0_CTRL_HCKE                      ((1 << 16) | 126)
+#define NX_TIEOFF_DREX0_DFI_RESET_N_P0                 ((1 << 16) | 127)
+#define NX_TIEOFF_DREX0_DFI_RESET_N_P1                 ((1 << 16) | 128)
+#define NX_TIEOFF_MIPI0_NX_DPSRAM_1R1W_EMAA            ((3 << 16) | 129)
+#define NX_TIEOFF_MIPI0_NX_DPSRAM_1R1W_EMAB            ((3 << 16) | 132)
+#define NX_TIEOFF_MIPI0_i_NX_NPOWERDOWN                        ((4 << 16) | 135)
+#define NX_TIEOFF_MIPI0_i_NX_NSLEEP                    ((4 << 16) | 139)
+#define NX_TIEOFF_SCALER0_i_NX_EMA                     ((3 << 16) | 143)
+#define NX_TIEOFF_SCALER0_i_NX_EMAW                    ((2 << 16) | 146)
+#define NX_TIEOFF_UART0_USESMC                         ((1 << 16) | 148)
+#define NX_TIEOFF_UART0_SMCTXENB                       ((1 << 16) | 149)
+#define NX_TIEOFF_UART0_SMCRXENB                       ((1 << 16) | 150)
+#define NX_TIEOFF_UART1_USESMC                         ((1 << 16) | 151)
+#define NX_TIEOFF_UART1_SMCTXENB                       ((1 << 16) | 152)
+#define NX_TIEOFF_UART1_SMCRXENB                       ((1 << 16) | 153)
+#define NX_TIEOFF_UART2_USESMC                         ((1 << 16) | 154)
+#define NX_TIEOFF_UART2_SMCTXENB                       ((1 << 16) | 155)
+#define NX_TIEOFF_UART2_SMCRXENB                       ((1 << 16) | 156)
+#define NX_TIEOFF_UART3_USESMC                         ((1 << 16) | 157)
+#define NX_TIEOFF_UART3_SMCTXENB                       ((1 << 16) | 158)
+#define NX_TIEOFF_UART3_SMCRXENB                       ((1 << 16) | 159)
+#define NX_TIEOFF_UART4_USESMC                         ((1 << 16) | 160)
+#define NX_TIEOFF_UART4_SMCTXENB                       ((1 << 16) | 161)
+#define NX_TIEOFF_UART4_SMCRXENB                       ((1 << 16) | 162)
+#define NX_TIEOFF_UART5_USESMC                         ((1 << 16) | 163)
+#define NX_TIEOFF_UART5_SMCTXENB                       ((1 << 16) | 164)
+#define NX_TIEOFF_UART5_SMCRXENB                       ((1 << 16) | 165)
+#define NX_TIEOFF_USB20HOST0_i_nPowerDown              ((1 << 16) | 166)
+#define NX_TIEOFF_USB20HOST0_i_nSleep                  ((1 << 16) | 167)
+#define NX_TIEOFF_USB20HOST0_i_NX_RF1_EMA              ((3 << 16) | 168)
+#define NX_TIEOFF_USB20HOST0_i_NX_RF1_EMAW             ((2 << 16) | 171)
+#define NX_TIEOFF_USB20HOST0_sys_interrupt_i           ((1 << 16) | 173)
+#define NX_TIEOFF_USB20HOST0_i_hsic_en                 ((3 << 16) | 174)
+#define NX_TIEOFF_USB20HOST0_i_nResetSync              ((1 << 16) | 177)
+#define NX_TIEOFF_USB20HOST0_i_nResetSync_ohci         ((1 << 16) | 178)
+#define NX_TIEOFF_USB20HOST0_i_nAuxWellResetSync       ((1 << 16) | 179)
+#define NX_TIEOFF_USB20HOST0_i_nHostPhyResetSync       ((1 << 16) | 180)
+#define NX_TIEOFF_USB20HOST0_i_nHostUtmiResetSync      ((1 << 16) | 181)
+#define NX_TIEOFF_USB20HOST0_i_nHostHsicResetSync      ((1 << 16) | 182)
+#define NX_TIEOFF_USB20HOST0_i_HSIC_FREE_CLOCK_ENB     ((1 << 16) | 183)
+#define NX_TIEOFF_USB20HOST0_i_HSIC_480M_FROM_OTG_PHY  ((1 << 16) | 184)
+#define NX_TIEOFF_USB20HOST0_ss_word_if_enb_i          ((1 << 16) | 185)
+#define NX_TIEOFF_USB20HOST0_ss_word_if_i              ((1 << 16) | 186)
+#define NX_TIEOFF_USB20HOST0_ss_utmi_backward_enb_i    ((1 << 16) | 187)
+#define NX_TIEOFF_USB20HOST0_ss_resume_utmi_pls_dis_i  ((1 << 16) | 188)
+#define NX_TIEOFF_USB20HOST0_phy_vstatus_0_i           ((3 << 16) | 189)
+#define NX_TIEOFF_USB20HOST0_phy_vstatus_1_i           ((3 << 16) | 192)
+#define NX_TIEOFF_USB20HOST0_phy_vstatus_2_i           ((3 << 16) | 195)
+#define NX_TIEOFF_USB20HOST0_phy_vstatus_3_i           ((3 << 16) | 198)
+#define NX_TIEOFF_USB20HOST0_phy_vstatus_4_i           ((3 << 16) | 201)
+#define NX_TIEOFF_USB20HOST0_phy_vstatus_5_i           ((3 << 16) | 204)
+#define NX_TIEOFF_USB20HOST0_phy_vstatus_6_i           ((3 << 16) | 207)
+#define NX_TIEOFF_USB20HOST0_phy_vstatus_7_i           ((3 << 16) | 210)
+#define NX_TIEOFF_USB20HOST0_ss_power_state_valid_i    ((1 << 16) | 213)
+#define NX_TIEOFF_USB20HOST0_ss_nxt_power_state_valid_i ((1 << 16) | 214)
+#define NX_TIEOFF_USB20HOST0_ss_power_state_i          ((2 << 16) | 215)
+#define NX_TIEOFF_USB20HOST0_ss_next_power_state_i     ((2 << 16) | 217)
+#define NX_TIEOFF_USB20HOST0_app_prt_ovrcur_i          ((3 << 16) | 219)
+#define NX_TIEOFF_USB20HOST0_ss_simulation_mode_i      ((1 << 16) | 222)
+#define NX_TIEOFF_USB20HOST0_ss_fladj_val_host_i       ((6 << 16) | 224)
+#define NX_TIEOFF_USB20HOST0_ss_fladj_val_5_i          ((3 << 16) | 230)
+#define NX_TIEOFF_USB20HOST0_ss_fladj_val_4_i          ((3 << 16) | 233)
+#define NX_TIEOFF_USB20HOST0_ss_fladj_val_3_i          ((3 << 16) | 236)
+#define NX_TIEOFF_USB20HOST0_ss_fladj_val_2_i          ((3 << 16) | 239)
+#define NX_TIEOFF_USB20HOST0_ss_fladj_val_1_i          ((3 << 16) | 242)
+#define NX_TIEOFF_USB20HOST0_ss_fladj_val_0_i          ((3 << 16) | 245)
+#define NX_TIEOFF_USB20HOST0_ss_autoppd_on_overcur_en_i ((1 << 16) | 248)
+#define NX_TIEOFF_USB20HOST0_ss_ena_incr16_i           ((1 << 16) | 249)
+#define NX_TIEOFF_USB20HOST0_ss_ena_incr8_i            ((1 << 16) | 250)
+#define NX_TIEOFF_USB20HOST0_ss_ena_incr4_i            ((1 << 16) | 251)
+#define NX_TIEOFF_USB20HOST0_ss_ena_incrx_align_i      ((1 << 16) | 252)
+#define NX_TIEOFF_USB20HOST0_i_ohci_0_cntsel_n         ((1 << 16) | 253)
+#define NX_TIEOFF_USB20HOST0_ohci_0_app_irq1_i         ((1 << 16) | 254)
+#define NX_TIEOFF_USB20HOST0_ohci_0_app_irq12_i                ((1 << 16) | 255)
+#define NX_TIEOFF_USB20HOST0_ohci_0_app_io_hit_i       ((1 << 16) | 256)
+#define NX_TIEOFF_USB20HOST0_ss_hubsetup_min_i         ((1 << 16) | 257)
+#define NX_TIEOFF_USB20HOST0_app_start_clk_i           ((1 << 16) | 258)
+#define NX_TIEOFF_USB20HOST0_ohci_susp_lgcy_i          ((1 << 16) | 259)
+#define NX_TIEOFF_USB20HOST0_i_SIDDQ                   ((1 << 16) | 260)
+#define NX_TIEOFF_USB20HOST0_i_VATESTENB               ((2 << 16) | 261)
+#define NX_TIEOFF_USB20HOST0_i_POR_ENB                 ((1 << 16) | 263)
+#define NX_TIEOFF_USB20HOST0_i_POR                     ((1 << 16) | 264)
+#define NX_TIEOFF_USB20HOST0_i_REFCLKSEL               ((2 << 16) | 265)
+#define NX_TIEOFF_USB20HOST0_i_FSEL                    ((3 << 16) | 267)
+#define NX_TIEOFF_USB20HOST0_i_COMMONONN               ((1 << 16) | 270)
+#define NX_TIEOFF_USB20HOST0_i_RESREQIN                        ((1 << 16) | 271)
+#define NX_TIEOFF_USB20HOST0_i_PORTRESET               ((1 << 16) | 272)
+#define NX_TIEOFF_USB20HOST0_i_OTGDISABLE              ((1 << 16) | 273)
+#define NX_TIEOFF_USB20HOST0_i_LOOPBACKENB             ((1 << 16) | 274)
+#define NX_TIEOFF_USB20HOST0_i_IDPULLUPi               ((1 << 16) | 275)
+#define NX_TIEOFF_USB20HOST0_i_DRVVBUS                 ((1 << 16) | 276)
+#define NX_TIEOFF_USB20HOST0_i_ADPCHRG                 ((1 << 16) | 277)
+#define NX_TIEOFF_USB20HOST0_i_ADPDISCHRG              ((1 << 16) | 278)
+#define NX_TIEOFF_USB20HOST0_i_ADPPRBENB               ((1 << 16) | 279)
+#define NX_TIEOFF_USB20HOST0_i_VBUSVLDEXT              ((1 << 16) | 280)
+#define NX_TIEOFF_USB20HOST0_i_VBUSVLDEXTSEL           ((1 << 16) | 281)
+#define NX_TIEOFF_USB20HOST0_i_DPPULLDOWN              ((1 << 16) | 282)
+#define NX_TIEOFF_USB20HOST0_i_DMPULLDOWN              ((1 << 16) | 283)
+#define NX_TIEOFF_USB20HOST0_i_SUSPENDM_ENB            ((1 << 16) | 284)
+#define NX_TIEOFF_USB20HOST0_i_SUSPENDM                        ((1 << 16) | 285)
+#define NX_TIEOFF_USB20HOST0_i_SLEEPM_ENB              ((1 << 16) | 286)
+#define NX_TIEOFF_USB20HOST0_i_SLEEPM                  ((1 << 16) | 287)
+#define NX_TIEOFF_USB20HOST0_i_OPMODE_ENB              ((1 << 16) | 288)
+#define NX_TIEOFF_USB20HOST0_i_OPMODE                  ((2 << 16) | 289)
+#define NX_TIEOFF_USB20HOST0_i_TERMSEL_ENB             ((1 << 16) | 291)
+#define NX_TIEOFF_USB20HOST0_i_TERMSEL                 ((1 << 16) | 292)
+#define NX_TIEOFF_USB20HOST0_i_XCVRSEL_ENB             ((1 << 16) | 293)
+#define NX_TIEOFF_USB20HOST0_i_XCVRSEL                 ((2 << 16) | 294)
+#define NX_TIEOFF_USB20HOST0_i_WORDINTERFACE_ENB       ((1 << 16) | 296)
+#define NX_TIEOFF_USB20HOST0_i_WORDINTERFACE           ((1 << 16) | 297)
+#define NX_TIEOFF_USB20HOST0_i_TXBITSTUFFEN            ((1 << 16) | 298)
+#define NX_TIEOFF_USB20HOST0_i_TXBITSTUFFENH           ((1 << 16) | 299)
+#define NX_TIEOFF_USB20HOST0_i_BYPASSDPDATA            ((1 << 16) | 300)
+#define NX_TIEOFF_USB20HOST0_i_BYPASSDMDATA            ((1 << 16) | 301)
+#define NX_TIEOFF_USB20HOST0_i_BYPASSDPEN              ((1 << 16) | 302)
+#define NX_TIEOFF_USB20HOST0_i_BYPASSDMEN              ((1 << 16) | 303)
+#define NX_TIEOFF_USB20HOST0_i_BYPASSSEL               ((1 << 16) | 304)
+#define NX_TIEOFF_USB20HOST0_i_COMPDISTUNE             ((3 << 16) | 305)
+#define NX_TIEOFF_USB20HOST0_i_SQRXTUNE                        ((3 << 16) | 308)
+#define NX_TIEOFF_USB20HOST0_i_OTGTUNE                 ((3 << 16) | 311)
+#define NX_TIEOFF_USB20HOST0_i_TXHSXVTUNE              ((2 << 16) | 314)
+#define NX_TIEOFF_USB20HOST0_i_TXFSLSTUNE              ((4 << 16) | 316)
+#define NX_TIEOFF_USB20HOST0_i_TXVREFTUNE              ((4 << 16) | 320)
+#define NX_TIEOFF_USB20HOST0_i_TXRISETUNE              ((2 << 16) | 324)
+#define NX_TIEOFF_USB20HOST0_i_TXRESTUNE               ((2 << 16) | 326)
+#define NX_TIEOFF_USB20HOST0_i_TXPREEMPAMPTUNE         ((2 << 16) | 328)
+#define NX_TIEOFF_USB20HOST0_i_TXPREEMPPULSETUNE       ((1 << 16) | 330)
+#define NX_TIEOFF_USB20HOST0_i_CHRGSEL                 ((1 << 16) | 331)
+#define NX_TIEOFF_USB20HOST0_i_VDATDETENB              ((1 << 16) | 332)
+#define NX_TIEOFF_USB20HOST0_i_VDATSRCENB              ((1 << 16) | 333)
+#define NX_TIEOFF_USB20HOST0_i_DCDENB                  ((1 << 16) | 334)
+#define NX_TIEOFF_USB20HOST0_i_ACAENB                  ((1 << 16) | 335)
+#define NX_TIEOFF_USB20HOST0_i_HSIC_MSTRXCVR           ((1 << 16) | 336)
+#define NX_TIEOFF_USB20HOST0_i_HSIC_SIDDQ              ((1 << 16) | 337)
+#define NX_TIEOFF_USB20HOST0_i_HSIC_POR_ENB            ((1 << 16) | 338)
+#define NX_TIEOFF_USB20HOST0_i_HSIC_POR                        ((1 << 16) | 339)
+#define NX_TIEOFF_USB20HOST0_i_HSIC_REFCLKDIV          ((7 << 16) | 340)
+#define NX_TIEOFF_USB20HOST0_i_HSIC_REFCLKSEL          ((2 << 16) | 347)
+#define NX_TIEOFF_USB20HOST0_i_HSIC_COMMONONN          ((1 << 16) | 349)
+#define NX_TIEOFF_USB20HOST0_i_HSIC_PORTRESET          ((1 << 16) | 350)
+#define NX_TIEOFF_USB20HOST0_i_HSIC_LOOPBACKENB                ((1 << 16) | 351)
+#define NX_TIEOFF_USB20HOST0_i_HSIC_DPPULLDOWN         ((1 << 16) | 352)
+#define NX_TIEOFF_USB20HOST0_i_HSIC_DMPULLDOWN         ((1 << 16) | 353)
+#define NX_TIEOFF_USB20HOST0_i_HSIC_SUSPENDM_ENB       ((1 << 16) | 354)
+#define NX_TIEOFF_USB20HOST0_i_HSIC_SUSPENDM           ((1 << 16) | 355)
+#define NX_TIEOFF_USB20HOST0_i_HSIC_SLEEPM_ENB         ((1 << 16) | 356)
+#define NX_TIEOFF_USB20HOST0_i_HSIC_SLEEPM             ((1 << 16) | 357)
+#define NX_TIEOFF_USB20HOST0_i_HSIC_MSTRXOPU           ((1 << 16) | 358)
+#define NX_TIEOFF_USB20HOST0_i_HSIC_OPMODE_ENB         ((1 << 16) | 359)
+#define NX_TIEOFF_USB20HOST0_i_HSIC_OPMODE             ((2 << 16) | 360)
+#define NX_TIEOFF_USB20HOST0_i_HSIC_XCVRSELECT_ENB     ((1 << 16) | 362)
+#define NX_TIEOFF_USB20HOST0_i_HSIC_XCVRSELECT         ((1 << 16) | 363)
+#define NX_TIEOFF_USB20HOST0_i_HSIC_WORDINTERFACE_ENB  ((1 << 16) | 364)
+#define NX_TIEOFF_USB20HOST0_i_HSIC_WORDINTERFACE      ((1 << 16) | 365)
+#define NX_TIEOFF_USB20HOST0_i_HSIC_TXBITSTUFFEN       ((1 << 16) | 366)
+#define NX_TIEOFF_USB20HOST0_i_HSIC_TXBITSTUFFENH      ((1 << 16) | 367)
+#define NX_TIEOFF_USB20HOST0_i_HSIC_TXRPUTUNE          ((2 << 16) | 368)
+#define NX_TIEOFF_USB20HOST0_i_HSIC_TXRPDTUNE          ((2 << 16) | 370)
+#define NX_TIEOFF_USB20HOST0_i_HSIC_TXSRTUNE           ((4 << 16) | 372)
+#define NX_TIEOFF_USB20OTG0_i_nPowerDown               ((1 << 16) | 376)
+#define NX_TIEOFF_USB20OTG0_i_nSleep                   ((1 << 16) | 377)
+#define NX_TIEOFF_USB20OTG0_i_NX_RF1_EMA               ((3 << 16) | 378)
+#define NX_TIEOFF_USB20OTG0_i_NX_RF1_EMAW              ((2 << 16) | 381)
+#define NX_TIEOFF_USB20OTG0_i_ss_scaledown_mode                ((2 << 16) | 384)
+#define NX_TIEOFF_USB20OTG0_i_gp_in                    ((16 << 16) | 386)
+#define NX_TIEOFF_USB20OTG0_i_sof_count                        ((14 << 16) | 402)
+#define NX_TIEOFF_USB20OTG0_i_sys_dma_done             ((1 << 16) | 416)
+#define NX_TIEOFF_USB20OTG0_i_if_select_hsic           ((1 << 16) | 417)
+#define NX_TIEOFF_USB20OTG0_i_nResetSync               ((1 << 16) | 418)
+#define NX_TIEOFF_USB20OTG0_i_nUtmiResetSync           ((1 << 16) | 419)
+#define NX_TIEOFF_USB20OTG0_i_SIDDQ                    ((1 << 16) | 420)
+#define NX_TIEOFF_USB20OTG0_i_VATESTENB                        ((2 << 16) | 421)
+#define NX_TIEOFF_USB20OTG0_i_POR_ENB                  ((1 << 16) | 423)
+#define NX_TIEOFF_USB20OTG0_i_POR                      ((1 << 16) | 424)
+#define NX_TIEOFF_USB20OTG0_i_REFCLKSEL                        ((2 << 16) | 425)
+#define NX_TIEOFF_USB20OTG0_i_FSEL                     ((3 << 16) | 427)
+#define NX_TIEOFF_USB20OTG0_i_COMMONONN                        ((1 << 16) | 430)
+#define NX_TIEOFF_USB20OTG0_i_RESREQIN                 ((1 << 16) | 431)
+#define NX_TIEOFF_USB20OTG0_i_PORTRESET                        ((1 << 16) | 432)
+#define NX_TIEOFF_USB20OTG0_i_OTGDISABLE               ((1 << 16) | 433)
+#define NX_TIEOFF_USB20OTG0_i_LOOPBACKENB              ((1 << 16) | 434)
+#define NX_TIEOFF_USB20OTG0_i_IDPULLUP                 ((1 << 16) | 435)
+#define NX_TIEOFF_USB20OTG0_i_DRVVBUS                  ((1 << 16) | 436)
+#define NX_TIEOFF_USB20OTG0_i_ADPCHRG                  ((1 << 16) | 437)
+#define NX_TIEOFF_USB20OTG0_i_ADPDISCHRG               ((1 << 16) | 438)
+#define NX_TIEOFF_USB20OTG0_i_ADPPRBENB                        ((1 << 16) | 439)
+#define NX_TIEOFF_USB20OTG0_i_VBUSVLDEXT               ((1 << 16) | 440)
+#define NX_TIEOFF_USB20OTG0_i_VBUSVLDEXTSEL            ((1 << 16) | 441)
+#define NX_TIEOFF_USB20OTG0_i_DPPULLDOWN               ((1 << 16) | 442)
+#define NX_TIEOFF_USB20OTG0_i_DMPULLDOWN               ((1 << 16) | 443)
+#define NX_TIEOFF_USB20OTG0_i_SUSPENDM_ENB             ((1 << 16) | 444)
+#define NX_TIEOFF_USB20OTG0_i_SUSPENDM                 ((1 << 16) | 445)
+#define NX_TIEOFF_USB20OTG0_i_SLEEPM_ENB               ((1 << 16) | 446)
+#define NX_TIEOFF_USB20OTG0_i_SLEEPM                   ((1 << 16) | 447)
+#define NX_TIEOFF_USB20OTG0_i_OPMODE_ENB               ((1 << 16) | 448)
+#define NX_TIEOFF_USB20OTG0_i_OPMODE                   ((2 << 16) | 449)
+#define NX_TIEOFF_USB20OTG0_i_TERMSEL_ENB              ((1 << 16) | 451)
+#define NX_TIEOFF_USB20OTG0_i_TERMSEL                  ((1 << 16) | 452)
+#define NX_TIEOFF_USB20OTG0_i_XCVRSEL_ENB              ((1 << 16) | 453)
+#define NX_TIEOFF_USB20OTG0_i_XCVRSEL                  ((2 << 16) | 454)
+#define NX_TIEOFF_USB20OTG0_i_WORDINTERFACE_ENB                ((1 << 16) | 456)
+#define NX_TIEOFF_USB20OTG0_i_WORDINTERFACE            ((1 << 16) | 457)
+#define NX_TIEOFF_USB20OTG0_i_TXBITSTUFFEN             ((1 << 16) | 458)
+#define NX_TIEOFF_USB20OTG0_i_TXBITSTUFFENH            ((1 << 16) | 459)
+#define NX_TIEOFF_USB20OTG0_i_BYPASSDPDATA             ((1 << 16) | 460)
+#define NX_TIEOFF_USB20OTG0_i_BYPASSDMDATA             ((1 << 16) | 461)
+#define NX_TIEOFF_USB20OTG0_i_BYPASSDPEN               ((1 << 16) | 462)
+#define NX_TIEOFF_USB20OTG0_i_BYPASSDMEN               ((1 << 16) | 463)
+#define NX_TIEOFF_USB20OTG0_i_BYPASSSEL                        ((1 << 16) | 464)
+#define NX_TIEOFF_USB20OTG0_i_COMPDISTUNE              ((3 << 16) | 465)
+#define NX_TIEOFF_USB20OTG0_i_SQRXTUNE                 ((3 << 16) | 468)
+#define NX_TIEOFF_USB20OTG0_i_OTGTUNE                  ((3 << 16) | 471)
+#define NX_TIEOFF_USB20OTG0_i_TXHSXVTUNE               ((2 << 16) | 474)
+#define NX_TIEOFF_USB20OTG0_i_TXFSLSTUNE               ((4 << 16) | 476)
+#define NX_TIEOFF_USB20OTG0_i_TXVREFTUNE               ((4 << 16) | 480)
+#define NX_TIEOFF_USB20OTG0_i_TXRISETUNE               ((2 << 16) | 484)
+#define NX_TIEOFF_USB20OTG0_i_TXRESTUNE                        ((2 << 16) | 486)
+#define NX_TIEOFF_USB20OTG0_i_TXPREEMPAMPTUNE          ((2 << 16) | 488)
+#define NX_TIEOFF_USB20OTG0_i_TXPREEMPPULSETUNE                ((1 << 16) | 490)
+#define NX_TIEOFF_USB20OTG0_i_CHRGSEL                  ((1 << 16) | 491)
+#define NX_TIEOFF_USB20OTG0_i_VDATDETENB               ((1 << 16) | 492)
+#define NX_TIEOFF_USB20OTG0_i_VDATSRCENB               ((1 << 16) | 493)
+#define NX_TIEOFF_USB20OTG0_i_DCDENB                   ((1 << 16) | 494)
+#define NX_TIEOFF_USB20OTG0_i_ACAENB                   ((1 << 16) | 495)
+#define NX_TIEOFF_USB20OTG0_i_IDPULLUP_ENB             ((1 << 16) | 496)
+#define NX_TIEOFF_USB20OTG0_i_DPPULLDOWN_ENB           ((1 << 16) | 497)
+#define NX_TIEOFF_USB20OTG0_i_DMPULLDOWN_ENB           ((1 << 16) | 498)
+#define NX_TIEOFF_USB20OTG0_i_DRVVBUS_ENB              ((1 << 16) | 499)
+#define NX_TIEOFF_USB20OTG0_i_LPMClkMuxCntrl           ((1 << 16) | 500)
+#define NX_TIEOFF_USB20OTG0_i_GLITCHLESSMUXCntrl       ((1 << 16) | 501)
+#define NX_TIEOFF_CODA9600_i_nPWRDN00                  ((4 << 16) | 502)
+#define NX_TIEOFF_CODA9600_i_nSLEEP00                  ((4 << 16) | 506)
+#define NX_TIEOFF_CODA9600_i_nPWRDN01                  ((8 << 16) | 512)
+#define NX_TIEOFF_CODA9600_i_nSLEEP01                  ((8 << 16) | 520)
+#define NX_TIEOFF_CODA9600_i_nPWRDN02                  ((10 << 16) | 528)
+#define NX_TIEOFF_CODA9600_i_nSLEEP02                  ((10 << 16) | 544)
+#define NX_TIEOFF_CODA9600_i_nPWRDN03                  ((2 << 16) | 554)
+#define NX_TIEOFF_CODA9600_i_nSLEEP03                  ((2 << 16) | 556)
+#define NX_TIEOFF_CODA9600_i_nPWRDN04                  ((8 << 16) | 558)
+#define NX_TIEOFF_CODA9600_i_nSLEEP04                  ((8 << 16) | 566)
+#define NX_TIEOFF_CODA9600_i_nPWRDN05                  ((3 << 16) | 576)
+#define NX_TIEOFF_CODA9600_i_nSLEEP05                  ((3 << 16) | 579)
+#define NX_TIEOFF_CODA9600_i_nPWRDN06                  ((7 << 16) | 582)
+#define NX_TIEOFF_CODA9600_i_nSLEEP06                  ((7 << 16) | 589)
+#define NX_TIEOFF_CODA9600_i_nPWRDN07                  ((12 << 16) | 596)
+#define NX_TIEOFF_CODA9600_i_nSLEEP07                  ((12 << 16) | 608)
+#define NX_TIEOFF_CODA9600_i_nPWRDN08                  ((1 << 16) | 620)
+#define NX_TIEOFF_CODA9600_i_nSLEEP08                  ((1 << 16) | 621)
+#define NX_TIEOFF_CODA9600_i_nPWRDN09                  ((2 << 16) | 622)
+#define NX_TIEOFF_CODA9600_i_nSLEEP09                  ((2 << 16) | 624)
+#define NX_TIEOFF_CODA9600_i_nPWRDN10                  ((10 << 16) | 626)
+#define NX_TIEOFF_CODA9600_i_nSLEEP10                  ((10 << 16) | 640)
+#define NX_TIEOFF_CODA9600_i_nPWRDN11                  ((1 << 16) | 650)
+#define NX_TIEOFF_CODA9600_i_nSLEEP11                  ((1 << 16) | 651)
+#define NX_TIEOFF_CODA9600_i_TIE_rf2_EMAA              ((3 << 16) | 652)
+#define NX_TIEOFF_CODA9600_i_TIE_rf2_EMAB              ((3 << 16) | 655)
+#define NX_TIEOFF_CODA9600_i_TIE_rf2w_EMAA             ((3 << 16) | 658)
+#define NX_TIEOFF_CODA9600_i_TIE_rf2w_EMAB             ((3 << 16) | 661)
+#define NX_TIEOFF_CODA9600_i_TIE_ra2_EMAA              ((3 << 16) | 664)
+#define NX_TIEOFF_CODA9600_i_TIE_ra2_EMAB              ((3 << 16) | 667)
+#define NX_TIEOFF_CODA9600_i_TIE_ra2_EMAWA             ((2 << 16) | 670)
+#define NX_TIEOFF_CODA9600_i_TIE_ra2_EMAWB             ((2 << 16) | 672)
+#define NX_TIEOFF_CODA9600_i_TIE_ra2w_EMAA             ((3 << 16) | 674)
+#define NX_TIEOFF_CODA9600_i_TIE_ra2w_EMAB             ((3 << 16) | 677)
+#define NX_TIEOFF_CODA9600_i_TIE_ra2w_EMAWA            ((2 << 16) | 680)
+#define NX_TIEOFF_CODA9600_i_TIE_ra2w_EMAWB            ((2 << 16) | 682)
+#define NX_TIEOFF_CODA9600_i_TIE_rf1_EMA               ((3 << 16) | 684)
+#define NX_TIEOFF_CODA9600_i_TIE_rf1_EMAW              ((2 << 16) | 687)
+#define NX_TIEOFF_CODA9600_i_TIE_rf1w_EMA              ((3 << 16) | 689)
+#define NX_TIEOFF_CODA9600_i_TIE_rf1w_EMAW             ((2 << 16) | 692)
+#define NX_TIEOFF_DWC_GMAC0_sbd_flowctrl_i             ((1 << 16) | 694)
+#define NX_TIEOFF_DWC_GMAC0_phy_intf_sel_i             ((3 << 16) | 695)
+#define NX_TIEOFF_DWC_GMAC0_i_NX_RF2_EMAA              ((3 << 16) | 698)
+#define NX_TIEOFF_DWC_GMAC0_i_NX_RF2_EMAB              ((3 << 16) | 701)
+#define NX_TIEOFF_MALI4000_NX_DPSRAM_1R1W_EMAA         ((3 << 16) | 704)
+#define NX_TIEOFF_MALI4000_NX_DPSRAM_1R1W_EMAB         ((3 << 16) | 707)
+#define NX_TIEOFF_MALI4000_NX_SPSRAM_EMA               ((3 << 16) | 710)
+#define NX_TIEOFF_MALI4000_NX_SPSRAM_EMAW              ((2 << 16) | 713)
+#define NX_TIEOFF_MALI4000_NX_SPSRAM_BW_EMA            ((3 << 16) | 715)
+#define NX_TIEOFF_MALI4000_NX_SPSRAM_BW_EMAW           ((2 << 16) | 718)
+#define NX_TIEOFF_MALI4000_PWRDNBYPASS                 ((1 << 16) | 720)
+#define NX_TIEOFF_MALI4000_GP_NX_NPOWERDOWN            ((15 << 16) | 721)
+#define NX_TIEOFF_MALI4000_GP_NX_NSLEEP                        ((15 << 16) | 736)
+#define NX_TIEOFF_MALI4000_L2_NX_NPOWERDOWN            ((3 << 16) | 751)
+#define NX_TIEOFF_MALI4000_L2_NX_NSLEEP                        ((3 << 16) | 754)
+#define NX_TIEOFF_MALI4000_PP0_NX_NPOWERDOWN           ((32 << 16) | 768)
+#define NX_TIEOFF_MALI4000_PP0_NX_NSLEEP               ((32 << 16) | 800)
+#define NX_TIEOFF_MALI4000_PP1_NX_NPOWERDOWN           ((32 << 16) | 832)
+#define NX_TIEOFF_MALI4000_PP1_NX_NSLEEP               ((32 << 16) | 864)
+#define NX_TIEOFF_MALI4000_PP2_NX_NPOWERDOWN           ((32 << 16) | 896)
+#define NX_TIEOFF_MALI4000_PP2_NX_NSLEEP               ((32 << 16) | 928)
+#define NX_TIEOFF_MALI4000_PP3_NX_NPOWERDOWN           ((32 << 16) | 960)
+#define NX_TIEOFF_MALI4000_PP3_NX_NSLEEP               ((32 << 16) | 992)
+#define NX_TIEOFF_A3BM_AXI_PERI_BUS0_SYNCMODEREQm9     ((1 << 16) | 1024)
+#define NX_TIEOFF_A3BM_AXI_PERI_BUS0_SYNCMODEREQm10    ((1 << 16) | 1025)
+#define NX_TIEOFF_A3BM_AXI_PERI_BUS0_SYNCMODEREQm16    ((1 << 16) | 1026)
+#define NX_TIEOFF_A3BM_AXI_TOP_MASTER_BUS0_REMAP       ((2 << 16) | 1027)
+#if defined(CONFIG_ARCH_S5P6818)
+#define NX_TIEOFF_Inst_ARMTOP_SMPEN                    ((4 << 16) | 2816)
+#define NX_TIEOFF_Inst_ARMTOP_STANBYWFI                        ((4 << 16) | 2880)
+#define NX_TIEOFF_Inst_ARMTOP_STANBYWFIL2              ((1 << 16) | 2884)
+#define NX_TIEOFF_Inst_ARMTOP_DBGNOPWRDWN              ((4 << 16) | 2889)
+#define NX_TIEOFF_Inst_ARMTOP_DBGPWRUPREQ              ((4 << 16) | 2893)
+#define NX_TIEOFF_Inst_ARMTOP_COREPWRDOWNPRE           ((1 << 16) | 2901)
+#define NX_TIEOFF_Inst_ARMTOP_CPU0PWRDOWNPRE           ((1 << 16) | 2902)
+#define NX_TIEOFF_Inst_ARMTOP_CPU1PWRDOWNPRE           ((1 << 16) | 2903)
+#define NX_TIEOFF_Inst_ARMTOP_CPU2PWRDOWNPRE           ((1 << 16) | 2904)
+#define NX_TIEOFF_Inst_ARMTOP_CPU3PWRDOWNPRE           ((1 << 16) | 2905)
+#define NX_TIEOFF_Inst_ARMTOP_COREPWRDOWNALL           ((1 << 16) | 2906)
+#define NX_TIEOFF_Inst_ARMTOP_CPU0PWRDOWNALL           ((1 << 16) | 2907)
+#define NX_TIEOFF_Inst_ARMTOP_CPU1PWRDOWNALL           ((1 << 16) | 2908)
+#define NX_TIEOFF_Inst_ARMTOP_CPU2PWRDOWNALL           ((1 << 16) | 2909)
+#define NX_TIEOFF_Inst_ARMTOP_CPU3PWRDOWNALL           ((1 << 16) | 2910)
+#define NX_TIEOFF_Inst_ARMTOP_CLAMPL2                  ((1 << 16) | 2920)
+#define NX_TIEOFF_Inst_ARMTOP_L2FLUSHREQ               ((1 << 16) | 3018)
+#define NX_TIEOFF_Inst_ARMTOP_L2FLUSHDONE              ((1 << 16) | 3019)
+#define NX_TIEOFF_Inst_ARMTOP_ACINACTM                 ((1 << 16) | 3023)
+#define NX_TIEOFF_Inst_ARMTOP_P1_SMPEN                 ((4 << 16) | 3360)
+#define NX_TIEOFF_Inst_ARMTOP_P1_STANBYWFI             ((4 << 16) | 3424)
+#define NX_TIEOFF_Inst_ARMTOP_P1_STANBYWFIL2           ((1 << 16) | 3428)
+#define NX_TIEOFF_Inst_ARMTOP_P1_DBGNOPWRDWN           ((4 << 16) | 3442)
+#define NX_TIEOFF_Inst_ARMTOP_P1_DBGPWRUPREQ           ((4 << 16) | 3443)
+#define NX_TIEOFF_Inst_ARMTOP_P1_DBGPWRDUP             ((4 << 16) | 3444)
+#define NX_TIEOFF_Inst_ARMTOP_P1_COREPWRDOWNPRE                ((1 << 16) | 3445)
+#define NX_TIEOFF_Inst_ARMTOP_P1_CPU0PWRDOWNPRE                ((1 << 16) | 3446)
+#define NX_TIEOFF_Inst_ARMTOP_P1_CPU1PWRDOWNPRE                ((1 << 16) | 3447)
+#define NX_TIEOFF_Inst_ARMTOP_P1_CPU2PWRDOWNPRE                ((1 << 16) | 3448)
+#define NX_TIEOFF_Inst_ARMTOP_P1_CPU3PWRDOWNPRE                ((1 << 16) | 3449)
+#define NX_TIEOFF_Inst_ARMTOP_P1_COREPWRDOWNALL                ((1 << 16) | 3450)
+#define NX_TIEOFF_Inst_ARMTOP_P1_CPU0PWRDOWNALL                ((1 << 16) | 3451)
+#define NX_TIEOFF_Inst_ARMTOP_P1_CPU1PWRDOWNALL                ((1 << 16) | 3452)
+#define NX_TIEOFF_Inst_ARMTOP_P1_CPU2PWRDOWNALL                ((1 << 16) | 3453)
+#define NX_TIEOFF_Inst_ARMTOP_P1_CPU3PWRDOWNALL                ((1 << 16) | 3454)
+#define NX_TIEOFF_Inst_ARMTOP_P1_CLAMPL2               ((1 << 16) | 3464)
+#define NX_TIEOFF_Inst_ARMTOP_P1_L2FLUSHREQ            ((1 << 16) | 3562)
+#define NX_TIEOFF_Inst_ARMTOP_P1_L2FLUSHDONE           ((1 << 16) | 3563)
+#define NX_TIEOFF_Inst_ARMTOP_P1_ACINACTM              ((1 << 16) | 3567)
+#endif
+
+#endif /* _NEXELL_TIEOFF_H */