Hello guys,

I have a pig problem concerning a driver used for communicating with some 
MEMS components via SPI. The driver was developed for a Gumstix platform 
with OMAP34... processor running a 3.3 kernel. The driver muxes the pins 
using "iowrite16" functions. Some sample code can be seen below:

###Mux values sample :
#define SPI_OE_MUX_OFFSET        (0x48002A1A - OMAP34XX_PADCONF_START)
#define SPI_CLK_MUX_OFFSET        (0x480021C8 - OMAP34XX_PADCONF_START)
.................
######

### Pin mode sample:
#define OE_ENABLE_MUX            0x010C    /* IEN  | PTD | EN  | M4 */
#define SPI_ENABLE_MUX            0x0100    /* IEN  | PTD | DIS | M0 */
######


//  Multiplexing the pins  code sample:
base = ioremap(OMAP34XX_PADCONF_START, OMAP34XX_PADCONF_SIZE);

        if (!base) 
            return -ENOMEM;

        old_spi_mux.oe_offset = ioread16(base + SPI_OE_MUX_OFFSET);
        iowrite16(OE_ENABLE_MUX, base + SPI_OE_MUX_OFFSET);
######

Now i understand how the offsets are calculated and  how the I/O memory is 
beeing used. What i want to know is if i can reuse this code for the 
BeagleBone Black ( of course i know that i have to modify the mux values 
and pin modes to match to the BBB). My BBB is running a 3.8 kernel and as i 
know there is the major change with switching to the Device Tree system. 

Also if i use this method will i still need to write a device tree overlay 
setting the pins up there or is this done directly by using this code ( i 
feel this is a stupid question seeing as the DT is used specifically for 
setting up the pins so this code should do that instead but asking just so 
i know for sure). I thank you in advance for the response. 

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to