Diff for /wikisrc/ports/evbarm/beaglebone.mdwn between versions 1.9 and 1.18

version 1.9, 2015/04/15 12:45:16 version 1.18, 2015/12/13 01:52:44
Line 1 Line 1
 [[!meta title="NetBSD/evbarm on BeagleBone"]]  [[!meta title="NetBSD/evbarm on BeagleBone and BeagleBone Black"]]
   
 [[images/beaglebone.jpg]]  [[images/beaglebone.jpg]]
   
 This page attempts to document and coordinate efforts towards NetBSD on [BeagleBone](http://beagleboard.org/bone) and [BeagleBone Black](http://beagleboard.org/black).  This page attempts to document and coordinate efforts towards NetBSD on
   [BeagleBone](http://beagleboard.org/bone) and
   [BeagleBone Black](http://beagleboard.org/black).
   
 (BeagleBone [image](http://www.flickr.com/photos/sparkfun/8267577194/) by SparkFun Electronics used under CC-By-2.0 license)  (BeagleBone [image](http://www.flickr.com/photos/sparkfun/8267577194/) by
   SparkFun Electronics used under CC-By-2.0 license)
   
 # What works  [[!toc levels=2]]
   
   # Supported hardware
  - Boots multi-user on [[!template id=man name="ld" section="4"]] @ [[!template id=man name="sdmmc" section="4"]] root and [[!template id=man name="com" section="4"]] console.   - Boots multi-user on [[!template id=man name="ld" section="4"]] @ [[!template id=man name="sdmmc" section="4"]] root and [[!template id=man name="com" section="4"]] console.
  - Ethernet ([[!template id=man name="cpsw" section="4" arch="evbarm"]])   - Ethernet ([[!template id=man name="cpsw" section="4" arch="evbarm"]])
    - SD/MMC controller (SD card and eMMC)
  - EDMA3 (for [[!template id=man name="sdhc" section="4"]])   - EDMA3 (for [[!template id=man name="sdhc" section="4"]])
  - USB (host)   - USB (host)
  - I²C   - I²C
  - CPU frequency scaling (various speeds between 300MHz and 1GHz)   - CPU frequency scaling (various speeds between 300MHz and 1GHz)
    - Random number generator [[!template id=man name="trng" section="4"]]
    - GPIO (<i>-current since Nov 1, 2015</i>)
   
 # What needs work  # TODO
  - SPI   - SPI
  - GPIO  
  - Framebuffer/graphics with LCD or DVI/HDMI capes   - Framebuffer/graphics with LCD or DVI/HDMI capes
  - Touchscreens on LCD capes   - Touchscreens on LCD capes
  - USB (device)   - USB (device)
   
   # BeagleBone Black User LEDs
   
   The four blue user LEDs on the BeagleBone Black are wired to GPIO1_21 through
   GPIO1_24. To control the LEDs from userland, set **gpio=YES** in rc.conf and
   add this to */etc/gpio.conf*:
   
   [[!template  id=programlisting text="""
   gpio1 21 set out USR0
   gpio1 22 set out USR1
   gpio1 23 set out USR2
   gpio1 24 set out USR3
   """]]
   
   After rebooting, the LED states can be controlled with
   [[!template id=man name="gpioctl" section="8"]].
   
   [[!template  id=programlisting text="""
   # turn the USR0 light on
   gpioctl gpio1 USR0 on
   
   # turn the USR0 light off
   gpioctl gpio1 USR0 off
   
   # toggle the USR0 light state
   gpioctl gpio1 USR0 toggle
   """]]
   
   
 # Sample dmesg  # Sample dmesg
 [[!template id=filecontent name="dmesg" text="""  [[!template id=filecontent name="dmesg" text="""
 NetBSD 7.99.9 (BEAGLEBONE) #2: Tue Apr 14 20:24:09 ADT 2015  Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
         Jared@Jared-PC:/cygdrive/d/netbsd/src/sys/arch/evbarm/compile/obj/BEAGLEBONE      2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015
       The NetBSD Foundation, Inc.  All rights reserved.
   Copyright (c) 1982, 1986, 1989, 1991, 1993
       The Regents of the University of California.  All rights reserved.
   
   NetBSD 7.0 (BEAGLEBONE.201509250726Z)
 total memory = 512 MB  total memory = 512 MB
 avail memory = 503 MB  avail memory = 503 MB
 sysctl_createv: sysctl_create(machine_arch) returned 17  sysctl_createv: sysctl_create(machine_arch) returned 17
   kern.module.path=/stand/evbarm/7.0/modules
 timecounter: Timecounters tick every 10.000 msec  timecounter: Timecounters tick every 10.000 msec
 mainbus0 (root)  mainbus0 (root)
 cpu0 at mainbus0 core 0: 550 MHz Cortex-A8 r3p2 (Cortex V7A core)  cpu0 at mainbus0 core 0: 550 MHz Cortex-A8 r3p2 (Cortex V7A core)
Line 49  gpmc0 at mainbus0 base 0x50000000: Gener Line 90  gpmc0 at mainbus0 base 0x50000000: Gener
 gpmc0: CS#0 valid, addr 0x08000000, size 256MB  gpmc0: CS#0 valid, addr 0x08000000, size 256MB
 com0 at obio0 addr 0x44e09000-0x44e09fff intr 72: ns16550a, working fifo  com0 at obio0 addr 0x44e09000-0x44e09fff intr 72: ns16550a, working fifo
 com0: console  com0: console
 sdhc0 at obio0 addr 0x48060100-0x48060fff intr 64: SDHC controller (EDMA)  sdhc0 at obio0 addr 0x48060100-0x48060fff intr 64sdhc0: EDMA tx channel 24, rx channel 25
   : SDHC controller (EDMA)
 sdhc0: SD Host Specification 2.0, rev.49  sdhc0: SD Host Specification 2.0, rev.49
 sdhc0: using DMA transfer  sdhc0: using DMA transfer
 sdmmc0 at sdhc0 slot 0  sdmmc0 at sdhc0 slot 0
 sdhc1 at obio0 addr 0x481d8100-0x481d8fff intr 28: SDHC controller (EDMA)  sdhc1 at obio0 addr 0x481d8100-0x481d8fff intr 28sdhc1: EDMA tx channel 2, rx channel 3
   : SDHC controller (EDMA)
 sdhc1: SD Host Specification 2.0, rev.49  sdhc1: SD Host Specification 2.0, rev.49
 sdhc1: using DMA transfer  sdhc1: using DMA transfer
 sdmmc1 at sdhc1 slot 0  sdmmc1 at sdhc1 slot 0
Line 62  iic0 at tiiic0: I2C bus Line 105  iic0 at tiiic0: I2C bus
 seeprom0 at iic0 addr 0x50: AT24Cxx or compatible EEPROM: size 32768  seeprom0 at iic0 addr 0x50: AT24Cxx or compatible EEPROM: size 32768
 tps65217pmic0 at iic0 addr 0x24: TPS65217C Power Management Multi-Channel IC (rev 1.2)  tps65217pmic0 at iic0 addr 0x24: TPS65217C Power Management Multi-Channel IC (rev 1.2)
 tps65217pmic0: power sources USB max 1300 mA, [AC] max 2500 mA  tps65217pmic0: power sources USB max 1300 mA, [AC] max 2500 mA
 tps65217pmic0: [LDO1: 1800 mV] [LDO2: 3300 mV] [LDO3: 1800 mV] [LDO4: 3300 mV] [DCDC1: 1500 mV] [DCDC2: 1325 mV] [DCDC3: 1100 mV]  tps65217pmic0: [LDO1: 1800 mV] [LDO2: 3300 mV] [LDO3: 1800 mV] [LDO4: 3300 mV] [DCDC1: 1500 mV] [DCDC2: 1100 mV] [DCDC3: 1100 mV] 
 omapdmtimer0 at obio0 addr 0x48040000-0x48040fff intr 68: DMTIMER2  omapdmtimer0 at obio0 addr 0x48040000-0x48040fff intr 68: DMTIMER2
 omapdmtimer1 at obio0 addr 0x44e31000-0x44e31fff intr 67: DMTIMER1ms  omapdmtimer1 at obio0 addr 0x44e31000-0x44e31fff intr 67: DMTIMER1ms
 omapdmtimer2 at obio0 addr 0x48044000-0x48044fff intr 92: DMTIMER4  omapdmtimer2 at obio0 addr 0x48044000-0x48044fff intr 92: DMTIMER4
Line 74  motg1: Dynamic FIFO sizing detected, ass Line 117  motg1: Dynamic FIFO sizing detected, ass
 usb0 at motg1: USB revision 2.0  usb0 at motg1: USB revision 2.0
 cpsw0 at obio0 addr 0x4a100000-0x4a107fff intrbase 40: TI CPSW Ethernet  cpsw0 at obio0 addr 0x4a100000-0x4a107fff intrbase 40: TI CPSW Ethernet
 cpsw0: Ethernet address 90:59:af:5c:d0:94  cpsw0: Ethernet address 90:59:af:5c:d0:94
 ukphy0 at cpsw0 phy 0: OUI 0x00800f, model 0x000f, rev. 1  ukphy0 at cpsw0 phy 0WARNING: module error: vfs load failed for `miiverbose', error 45
   : OUI 0x00800f, model 0x000f, rev. 1
 ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto  ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
   trng0 at obio0 addr 0x48310000-0x48311fff intr 111
 timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0  timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
 timecounter: Timecounter "dmtimer" frequency 24000000 Hz quality 100  timecounter: Timecounter "dmtimer" frequency 24000000 Hz quality 100
 uhub0 at usb0: Mentor Graphics MOTG root hub, class 9/0, rev 1.00/1.00, addr 1  uhub0 at usb0: Mentor Graphics MOTG root hub, class 9/0, rev 1.00/1.00, addr 1
Line 86  ld1: 1832 MB, 930 cyl, 64 head, 63 sec,  Line 131  ld1: 1832 MB, 930 cyl, 64 head, 63 sec, 
 ld1: 4-bit width, bus clock 52.000 MHz  ld1: 4-bit width, bus clock 52.000 MHz
 boot device: ld1  boot device: ld1
 root on ld1a dumps on ld1b  root on ld1a dumps on ld1b
 root file system type: ffs  
 kern.module.path=/stand/evbarm/7.99.9/modules  
 """]]  """]]
   
   
  - Growing the root file-system  
    - During the partitioning process, do not delete or format the  
      first MSDOS (FAT) partition, as this is what your firmware by default boots from  
      (unless you have prepared a boot partition on other media).  
    - For accident-free operation of resize_ffs, the filesystem it is supposed to grow needs to be either not mounted or at least not mounted for writing.  
      To do that for a root filesystem, reboot to single user, and at the prompt to enter the pathname of shell, press  
            return for the default (/bin/sh).  
    - At the # prompt, type  
   
         "disklabel -i ld0" and press return.  
    - At the partition> prompt type "A" and press return.  
   
            Adjust disklabel sector from 4194304 to 62333952 [n]?  
            Type "y" and press return.  
    - partition> prompt type "a" and press return.  
   
            Filesystem type prompt, press return to use the current value (4.2BSD).  
            Start offset prompt, press return to use the current value.  
            Partition size prompt, type "$" and press return to grow the  
            partition to use all available free space.  
    - partition> prompt type "W" to save the changes to the disklabel.  
   
            Confirm this choice by typing "y" at the Label disk prompt.  
            Type "Q" and press return to quit disklabel.  
    - At the # prompt (shell), type  
   
            fsck -fy /dev/rld0a  
            resize_ffs -y /dev/rld0a  
    - This may take a few minutes, be patient!  
   
            fsck -fy /dev/rld0a  
            mount_msdos /dev/ld0e /boot  
            reboot  
     - When the system comes back up, the root file-system will have been expanded to  
            fill the SD card.  

Removed from v.1.9  
changed lines
  Added in v.1.18


CVSweb for NetBSD wikisrc <wikimaster@NetBSD.org> software: FreeBSD-CVSweb