1*83d290c5STom Rini /* SPDX-License-Identifier: GPL-2.0+ */ 2552a848eSStefano Babic /* 3552a848eSStefano Babic * Freescale i.MX28 APBH Register Definitions 4552a848eSStefano Babic * 5552a848eSStefano Babic * Copyright (C) 2011 Marek Vasut <marek.vasut@gmail.com> 6552a848eSStefano Babic * on behalf of DENX Software Engineering GmbH 7552a848eSStefano Babic * 8552a848eSStefano Babic * Based on code from LTIB: 9552a848eSStefano Babic * Copyright 2008-2010 Freescale Semiconductor, Inc. All Rights Reserved. 10552a848eSStefano Babic */ 11552a848eSStefano Babic 12552a848eSStefano Babic #ifndef __REGS_APBH_H__ 13552a848eSStefano Babic #define __REGS_APBH_H__ 14552a848eSStefano Babic 15552a848eSStefano Babic #include <asm/mach-imx/regs-common.h> 16552a848eSStefano Babic 17552a848eSStefano Babic #ifndef __ASSEMBLY__ 18552a848eSStefano Babic 19552a848eSStefano Babic #if defined(CONFIG_MX23) 20552a848eSStefano Babic struct mxs_apbh_regs { 21552a848eSStefano Babic mxs_reg_32(hw_apbh_ctrl0) 22552a848eSStefano Babic mxs_reg_32(hw_apbh_ctrl1) 23552a848eSStefano Babic mxs_reg_32(hw_apbh_ctrl2) 24552a848eSStefano Babic mxs_reg_32(hw_apbh_channel_ctrl) 25552a848eSStefano Babic 26552a848eSStefano Babic union { 27552a848eSStefano Babic struct { 28552a848eSStefano Babic mxs_reg_32(hw_apbh_ch_curcmdar) 29552a848eSStefano Babic mxs_reg_32(hw_apbh_ch_nxtcmdar) 30552a848eSStefano Babic mxs_reg_32(hw_apbh_ch_cmd) 31552a848eSStefano Babic mxs_reg_32(hw_apbh_ch_bar) 32552a848eSStefano Babic mxs_reg_32(hw_apbh_ch_sema) 33552a848eSStefano Babic mxs_reg_32(hw_apbh_ch_debug1) 34552a848eSStefano Babic mxs_reg_32(hw_apbh_ch_debug2) 35552a848eSStefano Babic } ch[8]; 36552a848eSStefano Babic struct { 37552a848eSStefano Babic mxs_reg_32(hw_apbh_ch0_curcmdar) 38552a848eSStefano Babic mxs_reg_32(hw_apbh_ch0_nxtcmdar) 39552a848eSStefano Babic mxs_reg_32(hw_apbh_ch0_cmd) 40552a848eSStefano Babic mxs_reg_32(hw_apbh_ch0_bar) 41552a848eSStefano Babic mxs_reg_32(hw_apbh_ch0_sema) 42552a848eSStefano Babic mxs_reg_32(hw_apbh_ch0_debug1) 43552a848eSStefano Babic mxs_reg_32(hw_apbh_ch0_debug2) 44552a848eSStefano Babic mxs_reg_32(hw_apbh_ch1_curcmdar) 45552a848eSStefano Babic mxs_reg_32(hw_apbh_ch1_nxtcmdar) 46552a848eSStefano Babic mxs_reg_32(hw_apbh_ch1_cmd) 47552a848eSStefano Babic mxs_reg_32(hw_apbh_ch1_bar) 48552a848eSStefano Babic mxs_reg_32(hw_apbh_ch1_sema) 49552a848eSStefano Babic mxs_reg_32(hw_apbh_ch1_debug1) 50552a848eSStefano Babic mxs_reg_32(hw_apbh_ch1_debug2) 51552a848eSStefano Babic mxs_reg_32(hw_apbh_ch2_curcmdar) 52552a848eSStefano Babic mxs_reg_32(hw_apbh_ch2_nxtcmdar) 53552a848eSStefano Babic mxs_reg_32(hw_apbh_ch2_cmd) 54552a848eSStefano Babic mxs_reg_32(hw_apbh_ch2_bar) 55552a848eSStefano Babic mxs_reg_32(hw_apbh_ch2_sema) 56552a848eSStefano Babic mxs_reg_32(hw_apbh_ch2_debug1) 57552a848eSStefano Babic mxs_reg_32(hw_apbh_ch2_debug2) 58552a848eSStefano Babic mxs_reg_32(hw_apbh_ch3_curcmdar) 59552a848eSStefano Babic mxs_reg_32(hw_apbh_ch3_nxtcmdar) 60552a848eSStefano Babic mxs_reg_32(hw_apbh_ch3_cmd) 61552a848eSStefano Babic mxs_reg_32(hw_apbh_ch3_bar) 62552a848eSStefano Babic mxs_reg_32(hw_apbh_ch3_sema) 63552a848eSStefano Babic mxs_reg_32(hw_apbh_ch3_debug1) 64552a848eSStefano Babic mxs_reg_32(hw_apbh_ch3_debug2) 65552a848eSStefano Babic mxs_reg_32(hw_apbh_ch4_curcmdar) 66552a848eSStefano Babic mxs_reg_32(hw_apbh_ch4_nxtcmdar) 67552a848eSStefano Babic mxs_reg_32(hw_apbh_ch4_cmd) 68552a848eSStefano Babic mxs_reg_32(hw_apbh_ch4_bar) 69552a848eSStefano Babic mxs_reg_32(hw_apbh_ch4_sema) 70552a848eSStefano Babic mxs_reg_32(hw_apbh_ch4_debug1) 71552a848eSStefano Babic mxs_reg_32(hw_apbh_ch4_debug2) 72552a848eSStefano Babic mxs_reg_32(hw_apbh_ch5_curcmdar) 73552a848eSStefano Babic mxs_reg_32(hw_apbh_ch5_nxtcmdar) 74552a848eSStefano Babic mxs_reg_32(hw_apbh_ch5_cmd) 75552a848eSStefano Babic mxs_reg_32(hw_apbh_ch5_bar) 76552a848eSStefano Babic mxs_reg_32(hw_apbh_ch5_sema) 77552a848eSStefano Babic mxs_reg_32(hw_apbh_ch5_debug1) 78552a848eSStefano Babic mxs_reg_32(hw_apbh_ch5_debug2) 79552a848eSStefano Babic mxs_reg_32(hw_apbh_ch6_curcmdar) 80552a848eSStefano Babic mxs_reg_32(hw_apbh_ch6_nxtcmdar) 81552a848eSStefano Babic mxs_reg_32(hw_apbh_ch6_cmd) 82552a848eSStefano Babic mxs_reg_32(hw_apbh_ch6_bar) 83552a848eSStefano Babic mxs_reg_32(hw_apbh_ch6_sema) 84552a848eSStefano Babic mxs_reg_32(hw_apbh_ch6_debug1) 85552a848eSStefano Babic mxs_reg_32(hw_apbh_ch6_debug2) 86552a848eSStefano Babic mxs_reg_32(hw_apbh_ch7_curcmdar) 87552a848eSStefano Babic mxs_reg_32(hw_apbh_ch7_nxtcmdar) 88552a848eSStefano Babic mxs_reg_32(hw_apbh_ch7_cmd) 89552a848eSStefano Babic mxs_reg_32(hw_apbh_ch7_bar) 90552a848eSStefano Babic mxs_reg_32(hw_apbh_ch7_sema) 91552a848eSStefano Babic mxs_reg_32(hw_apbh_ch7_debug1) 92552a848eSStefano Babic mxs_reg_32(hw_apbh_ch7_debug2) 93552a848eSStefano Babic }; 94552a848eSStefano Babic }; 95552a848eSStefano Babic mxs_reg_32(hw_apbh_version) 96552a848eSStefano Babic }; 97552a848eSStefano Babic 98552a848eSStefano Babic #elif (defined(CONFIG_MX28) || defined(CONFIG_MX6) || defined(CONFIG_MX7)) 99552a848eSStefano Babic struct mxs_apbh_regs { 100552a848eSStefano Babic mxs_reg_32(hw_apbh_ctrl0) 101552a848eSStefano Babic mxs_reg_32(hw_apbh_ctrl1) 102552a848eSStefano Babic mxs_reg_32(hw_apbh_ctrl2) 103552a848eSStefano Babic mxs_reg_32(hw_apbh_channel_ctrl) 104552a848eSStefano Babic mxs_reg_32(hw_apbh_devsel) 105552a848eSStefano Babic mxs_reg_32(hw_apbh_dma_burst_size) 106552a848eSStefano Babic mxs_reg_32(hw_apbh_debug) 107552a848eSStefano Babic 108552a848eSStefano Babic uint32_t reserved[36]; 109552a848eSStefano Babic 110552a848eSStefano Babic union { 111552a848eSStefano Babic struct { 112552a848eSStefano Babic mxs_reg_32(hw_apbh_ch_curcmdar) 113552a848eSStefano Babic mxs_reg_32(hw_apbh_ch_nxtcmdar) 114552a848eSStefano Babic mxs_reg_32(hw_apbh_ch_cmd) 115552a848eSStefano Babic mxs_reg_32(hw_apbh_ch_bar) 116552a848eSStefano Babic mxs_reg_32(hw_apbh_ch_sema) 117552a848eSStefano Babic mxs_reg_32(hw_apbh_ch_debug1) 118552a848eSStefano Babic mxs_reg_32(hw_apbh_ch_debug2) 119552a848eSStefano Babic } ch[16]; 120552a848eSStefano Babic struct { 121552a848eSStefano Babic mxs_reg_32(hw_apbh_ch0_curcmdar) 122552a848eSStefano Babic mxs_reg_32(hw_apbh_ch0_nxtcmdar) 123552a848eSStefano Babic mxs_reg_32(hw_apbh_ch0_cmd) 124552a848eSStefano Babic mxs_reg_32(hw_apbh_ch0_bar) 125552a848eSStefano Babic mxs_reg_32(hw_apbh_ch0_sema) 126552a848eSStefano Babic mxs_reg_32(hw_apbh_ch0_debug1) 127552a848eSStefano Babic mxs_reg_32(hw_apbh_ch0_debug2) 128552a848eSStefano Babic mxs_reg_32(hw_apbh_ch1_curcmdar) 129552a848eSStefano Babic mxs_reg_32(hw_apbh_ch1_nxtcmdar) 130552a848eSStefano Babic mxs_reg_32(hw_apbh_ch1_cmd) 131552a848eSStefano Babic mxs_reg_32(hw_apbh_ch1_bar) 132552a848eSStefano Babic mxs_reg_32(hw_apbh_ch1_sema) 133552a848eSStefano Babic mxs_reg_32(hw_apbh_ch1_debug1) 134552a848eSStefano Babic mxs_reg_32(hw_apbh_ch1_debug2) 135552a848eSStefano Babic mxs_reg_32(hw_apbh_ch2_curcmdar) 136552a848eSStefano Babic mxs_reg_32(hw_apbh_ch2_nxtcmdar) 137552a848eSStefano Babic mxs_reg_32(hw_apbh_ch2_cmd) 138552a848eSStefano Babic mxs_reg_32(hw_apbh_ch2_bar) 139552a848eSStefano Babic mxs_reg_32(hw_apbh_ch2_sema) 140552a848eSStefano Babic mxs_reg_32(hw_apbh_ch2_debug1) 141552a848eSStefano Babic mxs_reg_32(hw_apbh_ch2_debug2) 142552a848eSStefano Babic mxs_reg_32(hw_apbh_ch3_curcmdar) 143552a848eSStefano Babic mxs_reg_32(hw_apbh_ch3_nxtcmdar) 144552a848eSStefano Babic mxs_reg_32(hw_apbh_ch3_cmd) 145552a848eSStefano Babic mxs_reg_32(hw_apbh_ch3_bar) 146552a848eSStefano Babic mxs_reg_32(hw_apbh_ch3_sema) 147552a848eSStefano Babic mxs_reg_32(hw_apbh_ch3_debug1) 148552a848eSStefano Babic mxs_reg_32(hw_apbh_ch3_debug2) 149552a848eSStefano Babic mxs_reg_32(hw_apbh_ch4_curcmdar) 150552a848eSStefano Babic mxs_reg_32(hw_apbh_ch4_nxtcmdar) 151552a848eSStefano Babic mxs_reg_32(hw_apbh_ch4_cmd) 152552a848eSStefano Babic mxs_reg_32(hw_apbh_ch4_bar) 153552a848eSStefano Babic mxs_reg_32(hw_apbh_ch4_sema) 154552a848eSStefano Babic mxs_reg_32(hw_apbh_ch4_debug1) 155552a848eSStefano Babic mxs_reg_32(hw_apbh_ch4_debug2) 156552a848eSStefano Babic mxs_reg_32(hw_apbh_ch5_curcmdar) 157552a848eSStefano Babic mxs_reg_32(hw_apbh_ch5_nxtcmdar) 158552a848eSStefano Babic mxs_reg_32(hw_apbh_ch5_cmd) 159552a848eSStefano Babic mxs_reg_32(hw_apbh_ch5_bar) 160552a848eSStefano Babic mxs_reg_32(hw_apbh_ch5_sema) 161552a848eSStefano Babic mxs_reg_32(hw_apbh_ch5_debug1) 162552a848eSStefano Babic mxs_reg_32(hw_apbh_ch5_debug2) 163552a848eSStefano Babic mxs_reg_32(hw_apbh_ch6_curcmdar) 164552a848eSStefano Babic mxs_reg_32(hw_apbh_ch6_nxtcmdar) 165552a848eSStefano Babic mxs_reg_32(hw_apbh_ch6_cmd) 166552a848eSStefano Babic mxs_reg_32(hw_apbh_ch6_bar) 167552a848eSStefano Babic mxs_reg_32(hw_apbh_ch6_sema) 168552a848eSStefano Babic mxs_reg_32(hw_apbh_ch6_debug1) 169552a848eSStefano Babic mxs_reg_32(hw_apbh_ch6_debug2) 170552a848eSStefano Babic mxs_reg_32(hw_apbh_ch7_curcmdar) 171552a848eSStefano Babic mxs_reg_32(hw_apbh_ch7_nxtcmdar) 172552a848eSStefano Babic mxs_reg_32(hw_apbh_ch7_cmd) 173552a848eSStefano Babic mxs_reg_32(hw_apbh_ch7_bar) 174552a848eSStefano Babic mxs_reg_32(hw_apbh_ch7_sema) 175552a848eSStefano Babic mxs_reg_32(hw_apbh_ch7_debug1) 176552a848eSStefano Babic mxs_reg_32(hw_apbh_ch7_debug2) 177552a848eSStefano Babic mxs_reg_32(hw_apbh_ch8_curcmdar) 178552a848eSStefano Babic mxs_reg_32(hw_apbh_ch8_nxtcmdar) 179552a848eSStefano Babic mxs_reg_32(hw_apbh_ch8_cmd) 180552a848eSStefano Babic mxs_reg_32(hw_apbh_ch8_bar) 181552a848eSStefano Babic mxs_reg_32(hw_apbh_ch8_sema) 182552a848eSStefano Babic mxs_reg_32(hw_apbh_ch8_debug1) 183552a848eSStefano Babic mxs_reg_32(hw_apbh_ch8_debug2) 184552a848eSStefano Babic mxs_reg_32(hw_apbh_ch9_curcmdar) 185552a848eSStefano Babic mxs_reg_32(hw_apbh_ch9_nxtcmdar) 186552a848eSStefano Babic mxs_reg_32(hw_apbh_ch9_cmd) 187552a848eSStefano Babic mxs_reg_32(hw_apbh_ch9_bar) 188552a848eSStefano Babic mxs_reg_32(hw_apbh_ch9_sema) 189552a848eSStefano Babic mxs_reg_32(hw_apbh_ch9_debug1) 190552a848eSStefano Babic mxs_reg_32(hw_apbh_ch9_debug2) 191552a848eSStefano Babic mxs_reg_32(hw_apbh_ch10_curcmdar) 192552a848eSStefano Babic mxs_reg_32(hw_apbh_ch10_nxtcmdar) 193552a848eSStefano Babic mxs_reg_32(hw_apbh_ch10_cmd) 194552a848eSStefano Babic mxs_reg_32(hw_apbh_ch10_bar) 195552a848eSStefano Babic mxs_reg_32(hw_apbh_ch10_sema) 196552a848eSStefano Babic mxs_reg_32(hw_apbh_ch10_debug1) 197552a848eSStefano Babic mxs_reg_32(hw_apbh_ch10_debug2) 198552a848eSStefano Babic mxs_reg_32(hw_apbh_ch11_curcmdar) 199552a848eSStefano Babic mxs_reg_32(hw_apbh_ch11_nxtcmdar) 200552a848eSStefano Babic mxs_reg_32(hw_apbh_ch11_cmd) 201552a848eSStefano Babic mxs_reg_32(hw_apbh_ch11_bar) 202552a848eSStefano Babic mxs_reg_32(hw_apbh_ch11_sema) 203552a848eSStefano Babic mxs_reg_32(hw_apbh_ch11_debug1) 204552a848eSStefano Babic mxs_reg_32(hw_apbh_ch11_debug2) 205552a848eSStefano Babic mxs_reg_32(hw_apbh_ch12_curcmdar) 206552a848eSStefano Babic mxs_reg_32(hw_apbh_ch12_nxtcmdar) 207552a848eSStefano Babic mxs_reg_32(hw_apbh_ch12_cmd) 208552a848eSStefano Babic mxs_reg_32(hw_apbh_ch12_bar) 209552a848eSStefano Babic mxs_reg_32(hw_apbh_ch12_sema) 210552a848eSStefano Babic mxs_reg_32(hw_apbh_ch12_debug1) 211552a848eSStefano Babic mxs_reg_32(hw_apbh_ch12_debug2) 212552a848eSStefano Babic mxs_reg_32(hw_apbh_ch13_curcmdar) 213552a848eSStefano Babic mxs_reg_32(hw_apbh_ch13_nxtcmdar) 214552a848eSStefano Babic mxs_reg_32(hw_apbh_ch13_cmd) 215552a848eSStefano Babic mxs_reg_32(hw_apbh_ch13_bar) 216552a848eSStefano Babic mxs_reg_32(hw_apbh_ch13_sema) 217552a848eSStefano Babic mxs_reg_32(hw_apbh_ch13_debug1) 218552a848eSStefano Babic mxs_reg_32(hw_apbh_ch13_debug2) 219552a848eSStefano Babic mxs_reg_32(hw_apbh_ch14_curcmdar) 220552a848eSStefano Babic mxs_reg_32(hw_apbh_ch14_nxtcmdar) 221552a848eSStefano Babic mxs_reg_32(hw_apbh_ch14_cmd) 222552a848eSStefano Babic mxs_reg_32(hw_apbh_ch14_bar) 223552a848eSStefano Babic mxs_reg_32(hw_apbh_ch14_sema) 224552a848eSStefano Babic mxs_reg_32(hw_apbh_ch14_debug1) 225552a848eSStefano Babic mxs_reg_32(hw_apbh_ch14_debug2) 226552a848eSStefano Babic mxs_reg_32(hw_apbh_ch15_curcmdar) 227552a848eSStefano Babic mxs_reg_32(hw_apbh_ch15_nxtcmdar) 228552a848eSStefano Babic mxs_reg_32(hw_apbh_ch15_cmd) 229552a848eSStefano Babic mxs_reg_32(hw_apbh_ch15_bar) 230552a848eSStefano Babic mxs_reg_32(hw_apbh_ch15_sema) 231552a848eSStefano Babic mxs_reg_32(hw_apbh_ch15_debug1) 232552a848eSStefano Babic mxs_reg_32(hw_apbh_ch15_debug2) 233552a848eSStefano Babic }; 234552a848eSStefano Babic }; 235552a848eSStefano Babic mxs_reg_32(hw_apbh_version) 236552a848eSStefano Babic }; 237552a848eSStefano Babic #endif 238552a848eSStefano Babic 239552a848eSStefano Babic #endif 240552a848eSStefano Babic 241552a848eSStefano Babic #define APBH_CTRL0_SFTRST (1 << 31) 242552a848eSStefano Babic #define APBH_CTRL0_CLKGATE (1 << 30) 243552a848eSStefano Babic #define APBH_CTRL0_AHB_BURST8_EN (1 << 29) 244552a848eSStefano Babic #define APBH_CTRL0_APB_BURST_EN (1 << 28) 245552a848eSStefano Babic #if defined(CONFIG_MX23) 246552a848eSStefano Babic #define APBH_CTRL0_RSVD0_MASK (0xf << 24) 247552a848eSStefano Babic #define APBH_CTRL0_RSVD0_OFFSET 24 248552a848eSStefano Babic #define APBH_CTRL0_RESET_CHANNEL_MASK (0xff << 16) 249552a848eSStefano Babic #define APBH_CTRL0_RESET_CHANNEL_OFFSET 16 250552a848eSStefano Babic #define APBH_CTRL0_CLKGATE_CHANNEL_MASK (0xff << 8) 251552a848eSStefano Babic #define APBH_CTRL0_CLKGATE_CHANNEL_OFFSET 8 252552a848eSStefano Babic #define APBH_CTRL0_CLKGATE_CHANNEL_SSP0 0x02 253552a848eSStefano Babic #define APBH_CTRL0_CLKGATE_CHANNEL_SSP1 0x04 254552a848eSStefano Babic #define APBH_CTRL0_CLKGATE_CHANNEL_NAND0 0x10 255552a848eSStefano Babic #define APBH_CTRL0_CLKGATE_CHANNEL_NAND1 0x20 256552a848eSStefano Babic #define APBH_CTRL0_CLKGATE_CHANNEL_NAND2 0x40 257552a848eSStefano Babic #define APBH_CTRL0_CLKGATE_CHANNEL_NAND3 0x80 258552a848eSStefano Babic #elif defined(CONFIG_MX28) 259552a848eSStefano Babic #define APBH_CTRL0_RSVD0_MASK (0xfff << 16) 260552a848eSStefano Babic #define APBH_CTRL0_RSVD0_OFFSET 16 261552a848eSStefano Babic #define APBH_CTRL0_CLKGATE_CHANNEL_MASK 0xffff 262552a848eSStefano Babic #define APBH_CTRL0_CLKGATE_CHANNEL_OFFSET 0 263552a848eSStefano Babic #define APBH_CTRL0_CLKGATE_CHANNEL_SSP0 0x0001 264552a848eSStefano Babic #define APBH_CTRL0_CLKGATE_CHANNEL_SSP1 0x0002 265552a848eSStefano Babic #define APBH_CTRL0_CLKGATE_CHANNEL_SSP2 0x0004 266552a848eSStefano Babic #define APBH_CTRL0_CLKGATE_CHANNEL_SSP3 0x0008 267552a848eSStefano Babic #define APBH_CTRL0_CLKGATE_CHANNEL_NAND0 0x0010 268552a848eSStefano Babic #define APBH_CTRL0_CLKGATE_CHANNEL_NAND1 0x0020 269552a848eSStefano Babic #define APBH_CTRL0_CLKGATE_CHANNEL_NAND2 0x0040 270552a848eSStefano Babic #define APBH_CTRL0_CLKGATE_CHANNEL_NAND3 0x0080 271552a848eSStefano Babic #define APBH_CTRL0_CLKGATE_CHANNEL_NAND4 0x0100 272552a848eSStefano Babic #define APBH_CTRL0_CLKGATE_CHANNEL_NAND5 0x0200 273552a848eSStefano Babic #define APBH_CTRL0_CLKGATE_CHANNEL_NAND6 0x0400 274552a848eSStefano Babic #define APBH_CTRL0_CLKGATE_CHANNEL_NAND7 0x0800 275552a848eSStefano Babic #define APBH_CTRL0_CLKGATE_CHANNEL_HSADC 0x1000 276552a848eSStefano Babic #define APBH_CTRL0_CLKGATE_CHANNEL_LCDIF 0x2000 277552a848eSStefano Babic #elif (defined(CONFIG_MX6) || defined(CONFIG_MX7)) 278552a848eSStefano Babic #define APBH_CTRL0_CLKGATE_CHANNEL_OFFSET 0 279552a848eSStefano Babic #define APBH_CTRL0_CLKGATE_CHANNEL_NAND0 0x0001 280552a848eSStefano Babic #define APBH_CTRL0_CLKGATE_CHANNEL_NAND1 0x0002 281552a848eSStefano Babic #define APBH_CTRL0_CLKGATE_CHANNEL_NAND2 0x0004 282552a848eSStefano Babic #define APBH_CTRL0_CLKGATE_CHANNEL_NAND3 0x0008 283552a848eSStefano Babic #define APBH_CTRL0_CLKGATE_CHANNEL_NAND4 0x0010 284552a848eSStefano Babic #define APBH_CTRL0_CLKGATE_CHANNEL_NAND5 0x0020 285552a848eSStefano Babic #define APBH_CTRL0_CLKGATE_CHANNEL_NAND6 0x0040 286552a848eSStefano Babic #define APBH_CTRL0_CLKGATE_CHANNEL_NAND7 0x0080 287552a848eSStefano Babic #define APBH_CTRL0_CLKGATE_CHANNEL_SSP 0x0100 288552a848eSStefano Babic #endif 289552a848eSStefano Babic 290552a848eSStefano Babic #define APBH_CTRL1_CH15_CMDCMPLT_IRQ_EN (1 << 31) 291552a848eSStefano Babic #define APBH_CTRL1_CH14_CMDCMPLT_IRQ_EN (1 << 30) 292552a848eSStefano Babic #define APBH_CTRL1_CH13_CMDCMPLT_IRQ_EN (1 << 29) 293552a848eSStefano Babic #define APBH_CTRL1_CH12_CMDCMPLT_IRQ_EN (1 << 28) 294552a848eSStefano Babic #define APBH_CTRL1_CH11_CMDCMPLT_IRQ_EN (1 << 27) 295552a848eSStefano Babic #define APBH_CTRL1_CH10_CMDCMPLT_IRQ_EN (1 << 26) 296552a848eSStefano Babic #define APBH_CTRL1_CH9_CMDCMPLT_IRQ_EN (1 << 25) 297552a848eSStefano Babic #define APBH_CTRL1_CH8_CMDCMPLT_IRQ_EN (1 << 24) 298552a848eSStefano Babic #define APBH_CTRL1_CH7_CMDCMPLT_IRQ_EN (1 << 23) 299552a848eSStefano Babic #define APBH_CTRL1_CH6_CMDCMPLT_IRQ_EN (1 << 22) 300552a848eSStefano Babic #define APBH_CTRL1_CH5_CMDCMPLT_IRQ_EN (1 << 21) 301552a848eSStefano Babic #define APBH_CTRL1_CH4_CMDCMPLT_IRQ_EN (1 << 20) 302552a848eSStefano Babic #define APBH_CTRL1_CH3_CMDCMPLT_IRQ_EN (1 << 19) 303552a848eSStefano Babic #define APBH_CTRL1_CH2_CMDCMPLT_IRQ_EN (1 << 18) 304552a848eSStefano Babic #define APBH_CTRL1_CH1_CMDCMPLT_IRQ_EN (1 << 17) 305552a848eSStefano Babic #define APBH_CTRL1_CH0_CMDCMPLT_IRQ_EN (1 << 16) 306552a848eSStefano Babic #define APBH_CTRL1_CH_CMDCMPLT_IRQ_EN_OFFSET 16 307552a848eSStefano Babic #define APBH_CTRL1_CH_CMDCMPLT_IRQ_EN_MASK (0xffff << 16) 308552a848eSStefano Babic #define APBH_CTRL1_CH15_CMDCMPLT_IRQ (1 << 15) 309552a848eSStefano Babic #define APBH_CTRL1_CH14_CMDCMPLT_IRQ (1 << 14) 310552a848eSStefano Babic #define APBH_CTRL1_CH13_CMDCMPLT_IRQ (1 << 13) 311552a848eSStefano Babic #define APBH_CTRL1_CH12_CMDCMPLT_IRQ (1 << 12) 312552a848eSStefano Babic #define APBH_CTRL1_CH11_CMDCMPLT_IRQ (1 << 11) 313552a848eSStefano Babic #define APBH_CTRL1_CH10_CMDCMPLT_IRQ (1 << 10) 314552a848eSStefano Babic #define APBH_CTRL1_CH9_CMDCMPLT_IRQ (1 << 9) 315552a848eSStefano Babic #define APBH_CTRL1_CH8_CMDCMPLT_IRQ (1 << 8) 316552a848eSStefano Babic #define APBH_CTRL1_CH7_CMDCMPLT_IRQ (1 << 7) 317552a848eSStefano Babic #define APBH_CTRL1_CH6_CMDCMPLT_IRQ (1 << 6) 318552a848eSStefano Babic #define APBH_CTRL1_CH5_CMDCMPLT_IRQ (1 << 5) 319552a848eSStefano Babic #define APBH_CTRL1_CH4_CMDCMPLT_IRQ (1 << 4) 320552a848eSStefano Babic #define APBH_CTRL1_CH3_CMDCMPLT_IRQ (1 << 3) 321552a848eSStefano Babic #define APBH_CTRL1_CH2_CMDCMPLT_IRQ (1 << 2) 322552a848eSStefano Babic #define APBH_CTRL1_CH1_CMDCMPLT_IRQ (1 << 1) 323552a848eSStefano Babic #define APBH_CTRL1_CH0_CMDCMPLT_IRQ (1 << 0) 324552a848eSStefano Babic 325552a848eSStefano Babic #define APBH_CTRL2_CH15_ERROR_STATUS (1 << 31) 326552a848eSStefano Babic #define APBH_CTRL2_CH14_ERROR_STATUS (1 << 30) 327552a848eSStefano Babic #define APBH_CTRL2_CH13_ERROR_STATUS (1 << 29) 328552a848eSStefano Babic #define APBH_CTRL2_CH12_ERROR_STATUS (1 << 28) 329552a848eSStefano Babic #define APBH_CTRL2_CH11_ERROR_STATUS (1 << 27) 330552a848eSStefano Babic #define APBH_CTRL2_CH10_ERROR_STATUS (1 << 26) 331552a848eSStefano Babic #define APBH_CTRL2_CH9_ERROR_STATUS (1 << 25) 332552a848eSStefano Babic #define APBH_CTRL2_CH8_ERROR_STATUS (1 << 24) 333552a848eSStefano Babic #define APBH_CTRL2_CH7_ERROR_STATUS (1 << 23) 334552a848eSStefano Babic #define APBH_CTRL2_CH6_ERROR_STATUS (1 << 22) 335552a848eSStefano Babic #define APBH_CTRL2_CH5_ERROR_STATUS (1 << 21) 336552a848eSStefano Babic #define APBH_CTRL2_CH4_ERROR_STATUS (1 << 20) 337552a848eSStefano Babic #define APBH_CTRL2_CH3_ERROR_STATUS (1 << 19) 338552a848eSStefano Babic #define APBH_CTRL2_CH2_ERROR_STATUS (1 << 18) 339552a848eSStefano Babic #define APBH_CTRL2_CH1_ERROR_STATUS (1 << 17) 340552a848eSStefano Babic #define APBH_CTRL2_CH0_ERROR_STATUS (1 << 16) 341552a848eSStefano Babic #define APBH_CTRL2_CH15_ERROR_IRQ (1 << 15) 342552a848eSStefano Babic #define APBH_CTRL2_CH14_ERROR_IRQ (1 << 14) 343552a848eSStefano Babic #define APBH_CTRL2_CH13_ERROR_IRQ (1 << 13) 344552a848eSStefano Babic #define APBH_CTRL2_CH12_ERROR_IRQ (1 << 12) 345552a848eSStefano Babic #define APBH_CTRL2_CH11_ERROR_IRQ (1 << 11) 346552a848eSStefano Babic #define APBH_CTRL2_CH10_ERROR_IRQ (1 << 10) 347552a848eSStefano Babic #define APBH_CTRL2_CH9_ERROR_IRQ (1 << 9) 348552a848eSStefano Babic #define APBH_CTRL2_CH8_ERROR_IRQ (1 << 8) 349552a848eSStefano Babic #define APBH_CTRL2_CH7_ERROR_IRQ (1 << 7) 350552a848eSStefano Babic #define APBH_CTRL2_CH6_ERROR_IRQ (1 << 6) 351552a848eSStefano Babic #define APBH_CTRL2_CH5_ERROR_IRQ (1 << 5) 352552a848eSStefano Babic #define APBH_CTRL2_CH4_ERROR_IRQ (1 << 4) 353552a848eSStefano Babic #define APBH_CTRL2_CH3_ERROR_IRQ (1 << 3) 354552a848eSStefano Babic #define APBH_CTRL2_CH2_ERROR_IRQ (1 << 2) 355552a848eSStefano Babic #define APBH_CTRL2_CH1_ERROR_IRQ (1 << 1) 356552a848eSStefano Babic #define APBH_CTRL2_CH0_ERROR_IRQ (1 << 0) 357552a848eSStefano Babic 358552a848eSStefano Babic #if defined(CONFIG_MX28) 359552a848eSStefano Babic #define APBH_CHANNEL_CTRL_RESET_CHANNEL_MASK (0xffff << 16) 360552a848eSStefano Babic #define APBH_CHANNEL_CTRL_RESET_CHANNEL_OFFSET 16 361552a848eSStefano Babic #define APBH_CHANNEL_CTRL_RESET_CHANNEL_SSP0 (0x0001 << 16) 362552a848eSStefano Babic #define APBH_CHANNEL_CTRL_RESET_CHANNEL_SSP1 (0x0002 << 16) 363552a848eSStefano Babic #define APBH_CHANNEL_CTRL_RESET_CHANNEL_SSP2 (0x0004 << 16) 364552a848eSStefano Babic #define APBH_CHANNEL_CTRL_RESET_CHANNEL_SSP3 (0x0008 << 16) 365552a848eSStefano Babic #define APBH_CHANNEL_CTRL_RESET_CHANNEL_NAND0 (0x0010 << 16) 366552a848eSStefano Babic #define APBH_CHANNEL_CTRL_RESET_CHANNEL_NAND1 (0x0020 << 16) 367552a848eSStefano Babic #define APBH_CHANNEL_CTRL_RESET_CHANNEL_NAND2 (0x0040 << 16) 368552a848eSStefano Babic #define APBH_CHANNEL_CTRL_RESET_CHANNEL_NAND3 (0x0080 << 16) 369552a848eSStefano Babic #define APBH_CHANNEL_CTRL_RESET_CHANNEL_NAND4 (0x0100 << 16) 370552a848eSStefano Babic #define APBH_CHANNEL_CTRL_RESET_CHANNEL_NAND5 (0x0200 << 16) 371552a848eSStefano Babic #define APBH_CHANNEL_CTRL_RESET_CHANNEL_NAND6 (0x0400 << 16) 372552a848eSStefano Babic #define APBH_CHANNEL_CTRL_RESET_CHANNEL_NAND7 (0x0800 << 16) 373552a848eSStefano Babic #define APBH_CHANNEL_CTRL_RESET_CHANNEL_HSADC (0x1000 << 16) 374552a848eSStefano Babic #define APBH_CHANNEL_CTRL_RESET_CHANNEL_LCDIF (0x2000 << 16) 375552a848eSStefano Babic #define APBH_CHANNEL_CTRL_FREEZE_CHANNEL_MASK 0xffff 376552a848eSStefano Babic #define APBH_CHANNEL_CTRL_FREEZE_CHANNEL_OFFSET 0 377552a848eSStefano Babic #define APBH_CHANNEL_CTRL_FREEZE_CHANNEL_SSP0 0x0001 378552a848eSStefano Babic #define APBH_CHANNEL_CTRL_FREEZE_CHANNEL_SSP1 0x0002 379552a848eSStefano Babic #define APBH_CHANNEL_CTRL_FREEZE_CHANNEL_SSP2 0x0004 380552a848eSStefano Babic #define APBH_CHANNEL_CTRL_FREEZE_CHANNEL_SSP3 0x0008 381552a848eSStefano Babic #define APBH_CHANNEL_CTRL_FREEZE_CHANNEL_NAND0 0x0010 382552a848eSStefano Babic #define APBH_CHANNEL_CTRL_FREEZE_CHANNEL_NAND1 0x0020 383552a848eSStefano Babic #define APBH_CHANNEL_CTRL_FREEZE_CHANNEL_NAND2 0x0040 384552a848eSStefano Babic #define APBH_CHANNEL_CTRL_FREEZE_CHANNEL_NAND3 0x0080 385552a848eSStefano Babic #define APBH_CHANNEL_CTRL_FREEZE_CHANNEL_NAND4 0x0100 386552a848eSStefano Babic #define APBH_CHANNEL_CTRL_FREEZE_CHANNEL_NAND5 0x0200 387552a848eSStefano Babic #define APBH_CHANNEL_CTRL_FREEZE_CHANNEL_NAND6 0x0400 388552a848eSStefano Babic #define APBH_CHANNEL_CTRL_FREEZE_CHANNEL_NAND7 0x0800 389552a848eSStefano Babic #define APBH_CHANNEL_CTRL_FREEZE_CHANNEL_HSADC 0x1000 390552a848eSStefano Babic #define APBH_CHANNEL_CTRL_FREEZE_CHANNEL_LCDIF 0x2000 391552a848eSStefano Babic #endif 392552a848eSStefano Babic 393552a848eSStefano Babic #if (defined(CONFIG_MX6) || defined(CONFIG_MX7)) 394552a848eSStefano Babic #define APBH_CHANNEL_CTRL_RESET_CHANNEL_OFFSET 16 395552a848eSStefano Babic #endif 396552a848eSStefano Babic 397552a848eSStefano Babic #if defined(CONFIG_MX23) 398552a848eSStefano Babic #define APBH_DEVSEL_CH7_MASK (0xf << 28) 399552a848eSStefano Babic #define APBH_DEVSEL_CH7_OFFSET 28 400552a848eSStefano Babic #define APBH_DEVSEL_CH6_MASK (0xf << 24) 401552a848eSStefano Babic #define APBH_DEVSEL_CH6_OFFSET 24 402552a848eSStefano Babic #define APBH_DEVSEL_CH5_MASK (0xf << 20) 403552a848eSStefano Babic #define APBH_DEVSEL_CH5_OFFSET 20 404552a848eSStefano Babic #define APBH_DEVSEL_CH4_MASK (0xf << 16) 405552a848eSStefano Babic #define APBH_DEVSEL_CH4_OFFSET 16 406552a848eSStefano Babic #define APBH_DEVSEL_CH3_MASK (0xf << 12) 407552a848eSStefano Babic #define APBH_DEVSEL_CH3_OFFSET 12 408552a848eSStefano Babic #define APBH_DEVSEL_CH2_MASK (0xf << 8) 409552a848eSStefano Babic #define APBH_DEVSEL_CH2_OFFSET 8 410552a848eSStefano Babic #define APBH_DEVSEL_CH1_MASK (0xf << 4) 411552a848eSStefano Babic #define APBH_DEVSEL_CH1_OFFSET 4 412552a848eSStefano Babic #define APBH_DEVSEL_CH0_MASK (0xf << 0) 413552a848eSStefano Babic #define APBH_DEVSEL_CH0_OFFSET 0 414552a848eSStefano Babic #elif defined(CONFIG_MX28) 415552a848eSStefano Babic #define APBH_DEVSEL_CH15_MASK (0x3 << 30) 416552a848eSStefano Babic #define APBH_DEVSEL_CH15_OFFSET 30 417552a848eSStefano Babic #define APBH_DEVSEL_CH14_MASK (0x3 << 28) 418552a848eSStefano Babic #define APBH_DEVSEL_CH14_OFFSET 28 419552a848eSStefano Babic #define APBH_DEVSEL_CH13_MASK (0x3 << 26) 420552a848eSStefano Babic #define APBH_DEVSEL_CH13_OFFSET 26 421552a848eSStefano Babic #define APBH_DEVSEL_CH12_MASK (0x3 << 24) 422552a848eSStefano Babic #define APBH_DEVSEL_CH12_OFFSET 24 423552a848eSStefano Babic #define APBH_DEVSEL_CH11_MASK (0x3 << 22) 424552a848eSStefano Babic #define APBH_DEVSEL_CH11_OFFSET 22 425552a848eSStefano Babic #define APBH_DEVSEL_CH10_MASK (0x3 << 20) 426552a848eSStefano Babic #define APBH_DEVSEL_CH10_OFFSET 20 427552a848eSStefano Babic #define APBH_DEVSEL_CH9_MASK (0x3 << 18) 428552a848eSStefano Babic #define APBH_DEVSEL_CH9_OFFSET 18 429552a848eSStefano Babic #define APBH_DEVSEL_CH8_MASK (0x3 << 16) 430552a848eSStefano Babic #define APBH_DEVSEL_CH8_OFFSET 16 431552a848eSStefano Babic #define APBH_DEVSEL_CH7_MASK (0x3 << 14) 432552a848eSStefano Babic #define APBH_DEVSEL_CH7_OFFSET 14 433552a848eSStefano Babic #define APBH_DEVSEL_CH6_MASK (0x3 << 12) 434552a848eSStefano Babic #define APBH_DEVSEL_CH6_OFFSET 12 435552a848eSStefano Babic #define APBH_DEVSEL_CH5_MASK (0x3 << 10) 436552a848eSStefano Babic #define APBH_DEVSEL_CH5_OFFSET 10 437552a848eSStefano Babic #define APBH_DEVSEL_CH4_MASK (0x3 << 8) 438552a848eSStefano Babic #define APBH_DEVSEL_CH4_OFFSET 8 439552a848eSStefano Babic #define APBH_DEVSEL_CH3_MASK (0x3 << 6) 440552a848eSStefano Babic #define APBH_DEVSEL_CH3_OFFSET 6 441552a848eSStefano Babic #define APBH_DEVSEL_CH2_MASK (0x3 << 4) 442552a848eSStefano Babic #define APBH_DEVSEL_CH2_OFFSET 4 443552a848eSStefano Babic #define APBH_DEVSEL_CH1_MASK (0x3 << 2) 444552a848eSStefano Babic #define APBH_DEVSEL_CH1_OFFSET 2 445552a848eSStefano Babic #define APBH_DEVSEL_CH0_MASK (0x3 << 0) 446552a848eSStefano Babic #define APBH_DEVSEL_CH0_OFFSET 0 447552a848eSStefano Babic #endif 448552a848eSStefano Babic 449552a848eSStefano Babic #if defined(CONFIG_MX28) 450552a848eSStefano Babic #define APBH_DMA_BURST_SIZE_CH15_MASK (0x3 << 30) 451552a848eSStefano Babic #define APBH_DMA_BURST_SIZE_CH15_OFFSET 30 452552a848eSStefano Babic #define APBH_DMA_BURST_SIZE_CH14_MASK (0x3 << 28) 453552a848eSStefano Babic #define APBH_DMA_BURST_SIZE_CH14_OFFSET 28 454552a848eSStefano Babic #define APBH_DMA_BURST_SIZE_CH13_MASK (0x3 << 26) 455552a848eSStefano Babic #define APBH_DMA_BURST_SIZE_CH13_OFFSET 26 456552a848eSStefano Babic #define APBH_DMA_BURST_SIZE_CH12_MASK (0x3 << 24) 457552a848eSStefano Babic #define APBH_DMA_BURST_SIZE_CH12_OFFSET 24 458552a848eSStefano Babic #define APBH_DMA_BURST_SIZE_CH11_MASK (0x3 << 22) 459552a848eSStefano Babic #define APBH_DMA_BURST_SIZE_CH11_OFFSET 22 460552a848eSStefano Babic #define APBH_DMA_BURST_SIZE_CH10_MASK (0x3 << 20) 461552a848eSStefano Babic #define APBH_DMA_BURST_SIZE_CH10_OFFSET 20 462552a848eSStefano Babic #define APBH_DMA_BURST_SIZE_CH9_MASK (0x3 << 18) 463552a848eSStefano Babic #define APBH_DMA_BURST_SIZE_CH9_OFFSET 18 464552a848eSStefano Babic #define APBH_DMA_BURST_SIZE_CH8_MASK (0x3 << 16) 465552a848eSStefano Babic #define APBH_DMA_BURST_SIZE_CH8_OFFSET 16 466552a848eSStefano Babic #define APBH_DMA_BURST_SIZE_CH8_BURST0 (0x0 << 16) 467552a848eSStefano Babic #define APBH_DMA_BURST_SIZE_CH8_BURST4 (0x1 << 16) 468552a848eSStefano Babic #define APBH_DMA_BURST_SIZE_CH8_BURST8 (0x2 << 16) 469552a848eSStefano Babic #define APBH_DMA_BURST_SIZE_CH7_MASK (0x3 << 14) 470552a848eSStefano Babic #define APBH_DMA_BURST_SIZE_CH7_OFFSET 14 471552a848eSStefano Babic #define APBH_DMA_BURST_SIZE_CH6_MASK (0x3 << 12) 472552a848eSStefano Babic #define APBH_DMA_BURST_SIZE_CH6_OFFSET 12 473552a848eSStefano Babic #define APBH_DMA_BURST_SIZE_CH5_MASK (0x3 << 10) 474552a848eSStefano Babic #define APBH_DMA_BURST_SIZE_CH5_OFFSET 10 475552a848eSStefano Babic #define APBH_DMA_BURST_SIZE_CH4_MASK (0x3 << 8) 476552a848eSStefano Babic #define APBH_DMA_BURST_SIZE_CH4_OFFSET 8 477552a848eSStefano Babic #define APBH_DMA_BURST_SIZE_CH3_MASK (0x3 << 6) 478552a848eSStefano Babic #define APBH_DMA_BURST_SIZE_CH3_OFFSET 6 479552a848eSStefano Babic #define APBH_DMA_BURST_SIZE_CH3_BURST0 (0x0 << 6) 480552a848eSStefano Babic #define APBH_DMA_BURST_SIZE_CH3_BURST4 (0x1 << 6) 481552a848eSStefano Babic #define APBH_DMA_BURST_SIZE_CH3_BURST8 (0x2 << 6) 482552a848eSStefano Babic 483552a848eSStefano Babic #define APBH_DMA_BURST_SIZE_CH2_MASK (0x3 << 4) 484552a848eSStefano Babic #define APBH_DMA_BURST_SIZE_CH2_OFFSET 4 485552a848eSStefano Babic #define APBH_DMA_BURST_SIZE_CH2_BURST0 (0x0 << 4) 486552a848eSStefano Babic #define APBH_DMA_BURST_SIZE_CH2_BURST4 (0x1 << 4) 487552a848eSStefano Babic #define APBH_DMA_BURST_SIZE_CH2_BURST8 (0x2 << 4) 488552a848eSStefano Babic #define APBH_DMA_BURST_SIZE_CH1_MASK (0x3 << 2) 489552a848eSStefano Babic #define APBH_DMA_BURST_SIZE_CH1_OFFSET 2 490552a848eSStefano Babic #define APBH_DMA_BURST_SIZE_CH1_BURST0 (0x0 << 2) 491552a848eSStefano Babic #define APBH_DMA_BURST_SIZE_CH1_BURST4 (0x1 << 2) 492552a848eSStefano Babic #define APBH_DMA_BURST_SIZE_CH1_BURST8 (0x2 << 2) 493552a848eSStefano Babic 494552a848eSStefano Babic #define APBH_DMA_BURST_SIZE_CH0_MASK 0x3 495552a848eSStefano Babic #define APBH_DMA_BURST_SIZE_CH0_OFFSET 0 496552a848eSStefano Babic #define APBH_DMA_BURST_SIZE_CH0_BURST0 0x0 497552a848eSStefano Babic #define APBH_DMA_BURST_SIZE_CH0_BURST4 0x1 498552a848eSStefano Babic #define APBH_DMA_BURST_SIZE_CH0_BURST8 0x2 499552a848eSStefano Babic 500552a848eSStefano Babic #define APBH_DEBUG_GPMI_ONE_FIFO (1 << 0) 501552a848eSStefano Babic #endif 502552a848eSStefano Babic 503552a848eSStefano Babic #define APBH_CHn_CURCMDAR_CMD_ADDR_MASK 0xffffffff 504552a848eSStefano Babic #define APBH_CHn_CURCMDAR_CMD_ADDR_OFFSET 0 505552a848eSStefano Babic 506552a848eSStefano Babic #define APBH_CHn_NXTCMDAR_CMD_ADDR_MASK 0xffffffff 507552a848eSStefano Babic #define APBH_CHn_NXTCMDAR_CMD_ADDR_OFFSET 0 508552a848eSStefano Babic 509552a848eSStefano Babic #define APBH_CHn_CMD_XFER_COUNT_MASK (0xffff << 16) 510552a848eSStefano Babic #define APBH_CHn_CMD_XFER_COUNT_OFFSET 16 511552a848eSStefano Babic #define APBH_CHn_CMD_CMDWORDS_MASK (0xf << 12) 512552a848eSStefano Babic #define APBH_CHn_CMD_CMDWORDS_OFFSET 12 513552a848eSStefano Babic #define APBH_CHn_CMD_HALTONTERMINATE (1 << 8) 514552a848eSStefano Babic #define APBH_CHn_CMD_WAIT4ENDCMD (1 << 7) 515552a848eSStefano Babic #define APBH_CHn_CMD_SEMAPHORE (1 << 6) 516552a848eSStefano Babic #define APBH_CHn_CMD_NANDWAIT4READY (1 << 5) 517552a848eSStefano Babic #define APBH_CHn_CMD_NANDLOCK (1 << 4) 518552a848eSStefano Babic #define APBH_CHn_CMD_IRQONCMPLT (1 << 3) 519552a848eSStefano Babic #define APBH_CHn_CMD_CHAIN (1 << 2) 520552a848eSStefano Babic #define APBH_CHn_CMD_COMMAND_MASK 0x3 521552a848eSStefano Babic #define APBH_CHn_CMD_COMMAND_OFFSET 0 522552a848eSStefano Babic #define APBH_CHn_CMD_COMMAND_NO_DMA_XFER 0x0 523552a848eSStefano Babic #define APBH_CHn_CMD_COMMAND_DMA_WRITE 0x1 524552a848eSStefano Babic #define APBH_CHn_CMD_COMMAND_DMA_READ 0x2 525552a848eSStefano Babic #define APBH_CHn_CMD_COMMAND_DMA_SENSE 0x3 526552a848eSStefano Babic 527552a848eSStefano Babic #define APBH_CHn_BAR_ADDRESS_MASK 0xffffffff 528552a848eSStefano Babic #define APBH_CHn_BAR_ADDRESS_OFFSET 0 529552a848eSStefano Babic 530552a848eSStefano Babic #define APBH_CHn_SEMA_RSVD2_MASK (0xff << 24) 531552a848eSStefano Babic #define APBH_CHn_SEMA_RSVD2_OFFSET 24 532552a848eSStefano Babic #define APBH_CHn_SEMA_PHORE_MASK (0xff << 16) 533552a848eSStefano Babic #define APBH_CHn_SEMA_PHORE_OFFSET 16 534552a848eSStefano Babic #define APBH_CHn_SEMA_RSVD1_MASK (0xff << 8) 535552a848eSStefano Babic #define APBH_CHn_SEMA_RSVD1_OFFSET 8 536552a848eSStefano Babic #define APBH_CHn_SEMA_INCREMENT_SEMA_MASK (0xff << 0) 537552a848eSStefano Babic #define APBH_CHn_SEMA_INCREMENT_SEMA_OFFSET 0 538552a848eSStefano Babic 539552a848eSStefano Babic #define APBH_CHn_DEBUG1_REQ (1 << 31) 540552a848eSStefano Babic #define APBH_CHn_DEBUG1_BURST (1 << 30) 541552a848eSStefano Babic #define APBH_CHn_DEBUG1_KICK (1 << 29) 542552a848eSStefano Babic #define APBH_CHn_DEBUG1_END (1 << 28) 543552a848eSStefano Babic #define APBH_CHn_DEBUG1_SENSE (1 << 27) 544552a848eSStefano Babic #define APBH_CHn_DEBUG1_READY (1 << 26) 545552a848eSStefano Babic #define APBH_CHn_DEBUG1_LOCK (1 << 25) 546552a848eSStefano Babic #define APBH_CHn_DEBUG1_NEXTCMDADDRVALID (1 << 24) 547552a848eSStefano Babic #define APBH_CHn_DEBUG1_RD_FIFO_EMPTY (1 << 23) 548552a848eSStefano Babic #define APBH_CHn_DEBUG1_RD_FIFO_FULL (1 << 22) 549552a848eSStefano Babic #define APBH_CHn_DEBUG1_WR_FIFO_EMPTY (1 << 21) 550552a848eSStefano Babic #define APBH_CHn_DEBUG1_WR_FIFO_FULL (1 << 20) 551552a848eSStefano Babic #define APBH_CHn_DEBUG1_RSVD1_MASK (0x7fff << 5) 552552a848eSStefano Babic #define APBH_CHn_DEBUG1_RSVD1_OFFSET 5 553552a848eSStefano Babic #define APBH_CHn_DEBUG1_STATEMACHINE_MASK 0x1f 554552a848eSStefano Babic #define APBH_CHn_DEBUG1_STATEMACHINE_OFFSET 0 555552a848eSStefano Babic #define APBH_CHn_DEBUG1_STATEMACHINE_IDLE 0x00 556552a848eSStefano Babic #define APBH_CHn_DEBUG1_STATEMACHINE_REQ_CMD1 0x01 557552a848eSStefano Babic #define APBH_CHn_DEBUG1_STATEMACHINE_REQ_CMD3 0x02 558552a848eSStefano Babic #define APBH_CHn_DEBUG1_STATEMACHINE_REQ_CMD2 0x03 559552a848eSStefano Babic #define APBH_CHn_DEBUG1_STATEMACHINE_XFER_DECODE 0x04 560552a848eSStefano Babic #define APBH_CHn_DEBUG1_STATEMACHINE_REQ_WAIT 0x05 561552a848eSStefano Babic #define APBH_CHn_DEBUG1_STATEMACHINE_REQ_CMD4 0x06 562552a848eSStefano Babic #define APBH_CHn_DEBUG1_STATEMACHINE_PIO_REQ 0x07 563552a848eSStefano Babic #define APBH_CHn_DEBUG1_STATEMACHINE_READ_FLUSH 0x08 564552a848eSStefano Babic #define APBH_CHn_DEBUG1_STATEMACHINE_READ_WAIT 0x09 565552a848eSStefano Babic #define APBH_CHn_DEBUG1_STATEMACHINE_WRITE 0x0c 566552a848eSStefano Babic #define APBH_CHn_DEBUG1_STATEMACHINE_READ_REQ 0x0d 567552a848eSStefano Babic #define APBH_CHn_DEBUG1_STATEMACHINE_CHECK_CHAIN 0x0e 568552a848eSStefano Babic #define APBH_CHn_DEBUG1_STATEMACHINE_XFER_COMPLETE 0x0f 569552a848eSStefano Babic #define APBH_CHn_DEBUG1_STATEMACHINE_TERMINATE 0x14 570552a848eSStefano Babic #define APBH_CHn_DEBUG1_STATEMACHINE_WAIT_END 0x15 571552a848eSStefano Babic #define APBH_CHn_DEBUG1_STATEMACHINE_WRITE_WAIT 0x1c 572552a848eSStefano Babic #define APBH_CHn_DEBUG1_STATEMACHINE_HALT_AFTER_TERM 0x1d 573552a848eSStefano Babic #define APBH_CHn_DEBUG1_STATEMACHINE_CHECK_WAIT 0x1e 574552a848eSStefano Babic #define APBH_CHn_DEBUG1_STATEMACHINE_WAIT_READY 0x1f 575552a848eSStefano Babic 576552a848eSStefano Babic #define APBH_CHn_DEBUG2_APB_BYTES_MASK (0xffff << 16) 577552a848eSStefano Babic #define APBH_CHn_DEBUG2_APB_BYTES_OFFSET 16 578552a848eSStefano Babic #define APBH_CHn_DEBUG2_AHB_BYTES_MASK 0xffff 579552a848eSStefano Babic #define APBH_CHn_DEBUG2_AHB_BYTES_OFFSET 0 580552a848eSStefano Babic 581552a848eSStefano Babic #define APBH_VERSION_MAJOR_MASK (0xff << 24) 582552a848eSStefano Babic #define APBH_VERSION_MAJOR_OFFSET 24 583552a848eSStefano Babic #define APBH_VERSION_MINOR_MASK (0xff << 16) 584552a848eSStefano Babic #define APBH_VERSION_MINOR_OFFSET 16 585552a848eSStefano Babic #define APBH_VERSION_STEP_MASK 0xffff 586552a848eSStefano Babic #define APBH_VERSION_STEP_OFFSET 0 587552a848eSStefano Babic 588552a848eSStefano Babic #endif /* __REGS_APBH_H__ */ 589