]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - arch/arm/include/asm/arch-mx6/imx-regs.h
mx6: soc: Disable VDDPU regulator
[karo-tx-uboot.git] / arch / arm / include / asm / arch-mx6 / imx-regs.h
index 0e4d8fa73d69c5606921ec7d86b422038dfc0cd6..fb0c4c76eb7b4580e9a536ac223af6f3586517e1 100644 (file)
@@ -1,19 +1,7 @@
 /*
  * Copyright (C) 2011 Freescale Semiconductor, Inc. All Rights Reserved.
  *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
-
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
-
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ * SPDX-License-Identifier:    GPL-2.0+
  */
 
 #ifndef __ASM_ARCH_MX6_IMX_REGS_H__
 
 #define CHIP_REV_1_0                 0x10
 #define IRAM_SIZE                    0x00040000
-#define IMX_IIM_BASE                 OCOTP_BASE_ADDR
 #define FEC_QUIRK_ENET_MAC
 
 #if !(defined(__KERNEL_STRICT_NAMES) || defined(__ASSEMBLY__))
@@ -258,12 +245,6 @@ struct src {
        u32     gpr10;
 };
 
-/* OCOTP Registers */
-struct ocotp_regs {
-       u32     reserved[0x198];
-       u32     gp1;    /* 0x660 */
-};
-
 /* GPR3 bitfields */
 #define IOMUXC_GPR3_GPU_DBG_OFFSET             29
 #define IOMUXC_GPR3_GPU_DBG_MASK               (3<<IOMUXC_GPR3_GPU_DBG_OFFSET)
@@ -371,7 +352,7 @@ struct iomuxc {
 
 #define IOMUXC_GPR2_MODE_DISABLED      0
 #define IOMUXC_GPR2_MODE_ENABLED_DI0   1
-#define IOMUXC_GPR2_MODE_ENABLED_DI1   2
+#define IOMUXC_GPR2_MODE_ENABLED_DI1   3
 
 #define IOMUXC_GPR2_LVDS_CH1_MODE_OFFSET               2
 #define IOMUXC_GPR2_LVDS_CH1_MODE_MASK                 (3<<IOMUXC_GPR2_LVDS_CH1_MODE_OFFSET)
@@ -438,7 +419,7 @@ struct cspi_regs {
        ECSPI5_BASE_ADDR
 #endif
 
-struct iim_regs {
+struct ocotp_regs {
        u32     ctrl;
        u32     ctrl_set;
        u32     ctrl_clr;
@@ -449,9 +430,9 @@ struct iim_regs {
        u32     rsvd1[3];
        u32     read_ctrl;
        u32     rsvd2[3];
-       u32     fuse_data;
+       u32     read_fuse_data;
        u32     rsvd3[3];
-       u32     sticky;
+       u32     sw_sticky;
        u32     rsvd4[3];
        u32     scs;
        u32     scs_set;
@@ -466,7 +447,22 @@ struct iim_regs {
 
        struct fuse_bank {
                u32     fuse_regs[0x20];
-       } bank[15];
+       } bank[16];
+};
+
+struct fuse_bank0_regs {
+       u32     lock;
+       u32     rsvd0[3];
+       u32     uid_low;
+       u32     rsvd1[3];
+       u32     uid_high;
+       u32     rsvd2[3];
+       u32     rsvd3[4];
+       u32     rsvd4[4];
+       u32     rsvd5[4];
+       u32     cfg5;
+       u32     rsvd6[3];
+       u32     rsvd7[4];
 };
 
 struct fuse_bank4_regs {
@@ -477,7 +473,11 @@ struct fuse_bank4_regs {
        u32     mac_addr_low;
        u32     rsvd2[3];
        u32     mac_addr_high;
-       u32     rsvd3[0x13];
+       u32     rsvd3[0xb];
+       u32     gp1;
+       u32     rsvd4[3];
+       u32     gp2;
+       u32     rsvd5[3];
 };
 
 struct aipstz_regs {
@@ -635,29 +635,12 @@ struct anatop_regs {
        u32     digprog_sololite;       /* 0x280 */
 };
 
-#define ANATOP_PFD_480_PFD0_FRAC_SHIFT         0
-#define ANATOP_PFD_480_PFD0_FRAC_MASK          (0x3f<<ANATOP_PFD_480_PFD0_FRAC_SHIFT)
-#define ANATOP_PFD_480_PFD0_STABLE_SHIFT       6
-#define ANATOP_PFD_480_PFD0_STABLE_MASK                (1<<ANATOP_PFD_480_PFD0_STABLE_SHIFT)
-#define ANATOP_PFD_480_PFD0_CLKGATE_SHIFT      7
-#define ANATOP_PFD_480_PFD0_CLKGATE_MASK       (1<<ANATOP_PFD_480_PFD0_CLKGATE_SHIFT)
-#define ANATOP_PFD_480_PFD1_FRAC_SHIFT         8
-#define ANATOP_PFD_480_PFD1_FRAC_MASK          (0x3f<<ANATOP_PFD_480_PFD1_FRAC_SHIFT)
-#define ANATOP_PFD_480_PFD1_STABLE_SHIFT       14
-#define ANATOP_PFD_480_PFD1_STABLE_MASK                (1<<ANATOP_PFD_480_PFD1_STABLE_SHIFT)
-#define ANATOP_PFD_480_PFD1_CLKGATE_SHIFT      15
-#define ANATOP_PFD_480_PFD1_CLKGATE_MASK       (0x3f<<ANATOP_PFD_480_PFD1_CLKGATE_SHIFT)
-#define ANATOP_PFD_480_PFD2_FRAC_SHIFT         16
-#define ANATOP_PFD_480_PFD2_FRAC_MASK          (1<<ANATOP_PFD_480_PFD2_FRAC_SHIFT)
-#define ANATOP_PFD_480_PFD2_STABLE_SHIFT       22
-#define ANATOP_PFD_480_PFD2_STABLE_MASK        (1<<ANATOP_PFD_480_PFD2_STABLE_SHIFT)
-#define ANATOP_PFD_480_PFD2_CLKGATE_SHIFT      23
-#define ANATOP_PFD_480_PFD2_CLKGATE_MASK       (0x3f<<ANATOP_PFD_480_PFD2_CLKGATE_SHIFT)
-#define ANATOP_PFD_480_PFD3_FRAC_SHIFT         24
-#define ANATOP_PFD_480_PFD3_FRAC_MASK          (1<<ANATOP_PFD_480_PFD3_FRAC_SHIFT)
-#define ANATOP_PFD_480_PFD3_STABLE_SHIFT       30
-#define ANATOP_PFD_480_PFD3_STABLE_MASK                (1<<ANATOP_PFD_480_PFD3_STABLE_SHIFT)
-#define ANATOP_PFD_480_PFD3_CLKGATE_SHIFT      31
+#define ANATOP_PFD_FRAC_SHIFT(n)       ((n)*8)
+#define ANATOP_PFD_FRAC_MASK(n)        (0x3f<<ANATOP_PFD_FRAC_SHIFT(n))
+#define ANATOP_PFD_STABLE_SHIFT(n)     (6+((n)*8))
+#define ANATOP_PFD_STABLE_MASK(n)      (1<<ANATOP_PFD_STABLE_SHIFT(n))
+#define ANATOP_PFD_CLKGATE_SHIFT(n)    (7+((n)*8))
+#define ANATOP_PFD_CLKGATE_MASK(n)     (1<<ANATOP_PFD_CLKGATE_SHIFT(n))
 
 struct iomuxc_base_regs {
        u32     gpr[14];        /* 0x000 */
@@ -676,5 +659,28 @@ struct wdog_regs {
        u16     wmcr;   /* Miscellaneous Control */
 };
 
+struct gpc_regs {
+       u32     ctrl;           /* 0x000 */
+       u32     pgr;            /* 0x004 */
+       u32     imr1;           /* 0x008 */
+       u32     imr2;           /* 0x00c */
+       u32     imr3;           /* 0x010 */
+       u32     imr4;           /* 0x014 */
+       u32     isr1;           /* 0x018 */
+       u32     isr2;           /* 0x01c */
+       u32     isr3;           /* 0x020 */
+       u32     isr4;           /* 0x024 */
+       u32     reserved1[0x86];
+       u32     gpu_ctrl;       /* 0x260 */
+       u32     gpu_pupscr;     /* 0x264 */
+       u32     gpu_pdnscr;     /* 0x268 */
+       u32     gpu_sr;         /* 0x26c */
+       u32     reserved2[0xc];
+       u32     cpu_ctrl;       /* 0x2a0 */
+       u32     cpu_pupscr;     /* 0x2a4 */
+       u32     cpu_pdnscr;     /* 0x2a8 */
+       u32     cpu_sr;         /* 0x2ac */
+};
+
 #endif /* __ASSEMBLER__*/
 #endif /* __ASM_ARCH_MX6_IMX_REGS_H__ */