Dear all,

I would like to make a board to connect to the BBB in such a way to have an 
SD card connected to the BBB by the mmc2 bus.
In this way could have 2 SD card accessible by the ARM.
I am not pretty sure if it is possible (in principle it could be).

I need your help in setting the software part. 
In particular, this is how I would set the .dts file

/*
* Copyright (C) 2012 Texas Instruments Incorporated - http://www.ti.com/
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
/dts-v1/;
/plugin/;

/ {
        compatible = "ti,beaglebone-black";
        ti,on-baseboard;

        /* identification */
        part-number = "BB-MMC2-01";        /* mmc2*/
        version = "00A0";                  /* revision 0*/

        fragment@0 {
                target = <&am33xx_pinmux>;
                __overlay__ {
                        emmc3_pins: pinmux_emmc3_pins {
                                pinctrl-single,pins = <
                                        0x8c  0x33        /* mmc2_clk,  
INPUT_PULLUP | MODE3 */
                                        0x88  0x33        /* mmc2_cmd,  
INPUT_PULLUP | MODE3 */
                                        0x44  0x33        /* mmc2_dat0, 
INPUT_PULLUP | MODE3 */
                                        0x48  0x33        /* mmc2_dat1, 
INPUT_PULLUP | MODE3 */
                                        0x4c  0x33        /* mmc2_dat2, 
INPUT_PULLUP | MODE3 */
                                        0x78  0x33        /* mmc2_dat3, 
INPUT_PULLUP | MODE3 */
                                        0x74  0x34        /* mmc2_cd,   
INPUT_PULLUP | MODE4 */
                                        0x184 0x31        /* mmc2_wp,   
INPUT_PULLUP | MODE1 */
                                >;
                        };
                };
        };
        fragment@1 {
                target = <&mmc3>;                              /* actual 
mmc2 */
                __overlay__ {
                        pinctrl-names = "default";
                        pinctrl-0 = <&emmc3_pins>;      
                        vmmc-supply = <&ldo3_reg>;
                        bus-width = <4>;
                        ti,non-removable;
                        status = "okay";
                };
        };
};

I am already using pins P8.11 -> P8.17 and P8.19 : that's why I am not 
using those pins.

It is not fully clear what "bus-width = <4>" is : is it the data-bus (dat0 
dat1 dat2 dat3)? or the full signals bus (data + cmd + clk)?

Reading around this forum, it looks like the "native" SD card of the BBB 
has to be plugged before to switch on the BBB. 
I guess it is the same for the new SD card I want to add. It means that I 
have to modify the uEnv.txt file because it has to be asserted immediately 
that I'll use the mmc2 bus. 
What I would add in the uEnv.txt  file is something like:

capemgr.enable_partno=BB-MMC2-01
but it is not fully clear to me where I have to add it.
This is my uEnv.txt file (I am using debian, not an Angstrom Distribution):


kernel_file=zImage
initrd_file=uInitrd
initrd_high=0xffffffff
fdt_high=0xffffffff

#Video: Uncomment to override:
#kms_force_mode=video=HDMI-A-1:1024x768@60

##BeagleBone Cape Overrides
##Note: On the BeagleBone Black, there is also an uEnv.txt in the eMMC, so if 
these changes do not seem to be makeing a difference...

##BeagleBone Black:
##Disable HDMI/eMMC
optargs=capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN,BB-BONE-EMMC-2G

console=ttyO0,115200n8

mmcroot=/dev/mmcblk0p2 ro
mmcrootfstype=ext4 rootwait fixrtc

loadkernel=load mmc ${mmcdev}:${mmcpart} 0x80200000 ${kernel_file}
loadinitrd=load mmc ${mmcdev}:${mmcpart} 0x81000000 ${initrd_file}; setenv 
initrd_size ${filesize}
loadfdt=load mmc ${mmcdev}:${mmcpart} 0x815f0000 /dtbs/${fdtfile}

boot_classic=run loadkernel; run loadinitrd
boot_ftd=run loadkernel; run loadinitrd; run loadfdt

device_args=run expansion_args; run mmcargs
mmcargs=setenv bootargs console=${console} ${optargs0} ${optargs} 
${kms_force_mode} root=${mmcroot} rootfstype=${mmcrootfstype} ${expansion}

expansion_args=setenv expansion ip=${ip_method}
#Classic Board File Boot:
#uenvcmd=run boot_classic; run device_args; bootz 0x80200000 
0x81000000:${initrd_size}
#New Device Tree Boot:
uenvcmd=run boot_ftd; run device_args; bootz 0x80200000 
0x81000000:${initrd_size} 0x815f0000


Finally, from the "hardware" point of view, I'm planning to copy the schematics 
of the BBB to set the pull-up
resistors.


At the end, I guess that the SD card will be automatically recognized when the 
BBB is powered up
(all drivers should be already written)....right?

Could you help me in setting the software part?

Is there something important that I am missing (in the software/hardware part)?

Regards.

Alberto


 

-- 
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 beagleboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to