]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - drivers/video/bus_vcxk.c
Merge branch 'master' of git://git.denx.de/u-boot-mpc85xx
[karo-tx-uboot.git] / drivers / video / bus_vcxk.c
index 7726bb3193c06e2f8304eda52ac896ff9e3f4829..67a59a75d62bd8781798c166afcc7d5e38c5c774 100644 (file)
@@ -31,9 +31,29 @@ vu_long  *vcxk_bws_long = ((vu_long *) (CONFIG_SYS_VCXK_BASE));
 
 #ifdef CONFIG_AT91RM9200
        #include <asm/arch/hardware.h>
+       #include <asm/arch/at91_pio.h>
+
        #ifndef VCBITMASK
                #define VCBITMASK(bitno)        (0x0001 << (bitno % 16))
        #endif
+#ifndef CONFIG_AT91_LEGACY
+at91_pio_t *pio = (at91_pio_t *) AT91_PIO_BASE;
+#define VCXK_INIT_PIN(PORT, PIN, DDR, I0O1) \
+       do { \
+               writel(PIN, &pio->PORT.per); \
+               writel(PIN, &pio->PORT.DDR); \
+               writel(PIN, &pio->PORT.mddr); \
+               if (!I0O1) \
+                       writel(PIN, &pio->PORT.puer); \
+       } while (0);
+
+#define VCXK_SET_PIN(PORT, PIN)        writel(PIN, &pio->PORT.sodr);
+#define VCXK_CLR_PIN(PORT, PIN)        writel(PIN, &pio->PORT.codr);
+
+#define VCXK_ACKNOWLEDGE       \
+       (!(readl(&pio->CONFIG_SYS_VCXK_ACKNOWLEDGE_PORT.pdsr) & \
+                       CONFIG_SYS_VCXK_ACKNOWLEDGE_PIN))
+#else
        #define VCXK_INIT_PIN(PORT, PIN, DDR, I0O1) \
                ((AT91PS_PIO) PORT)->PIO_PER = PIN; \
                ((AT91PS_PIO) PORT)->DDR = PIN; \
@@ -46,7 +66,7 @@ vu_long  *vcxk_bws_long = ((vu_long *) (CONFIG_SYS_VCXK_BASE));
        #define VCXK_ACKNOWLEDGE        \
                (!(((AT91PS_PIO) CONFIG_SYS_VCXK_ACKNOWLEDGE_PORT)->\
                        PIO_PDSR & CONFIG_SYS_VCXK_ACKNOWLEDGE_PIN))
-
+#endif
 #elif defined(CONFIG_MCF52x2)
        #include <asm/m5282.h>
        #ifndef VCBITMASK