Here is the Grove Linux Driver, currently it only support some grove devices on below platforms:
- PocketBeagle with Pocket Beagle Grove Cape
- BeagleBone Green
- BeagleBone Green Wireless
- SeeedStudio BeagleBone Green Gateway Baseboard
- Raspberry Pi
Below steps will prepare all grove device tree blob object(.dtbo) to
/lib/firmware/ on BB Series or /boot/overlays/ on RPi,
and grove device kernel module(.ko) to /lib/modules/<kernel version>/ or it's sub-folder.
-
Clone this repo
cd git clone https://github.com/Seeed-Studio/grove-linux-driver.git -
Begin install
cd ~/grove-linux-driver sudo ./install.sh
After installation, the driver is prepared well, then we need to enable specific grove device in system configuration file.
-
Append below line to the configuration file /boot/uEnv.txt:
uboot_overlay_addr<n>=/lib/firmware/<Device-Tree-Blob-Name>.dtbo
<n>: is in 0..7 which not be used in the uEnv.txt.
<Device-Tree-Blob-Name>: refer to Grove Device Table.example:
# If you plugin Grove LED to slot 1057 of Pocket Beagle Grove Cape, # and uboot_overlay_addr0 is unused, append the line: uboot_overlay_addr0=/lib/firmware/BB-GPIO-GROVE-LED.dtbo
-
Append below line to the configuration file /boot/config.txt
dtoverlay=<Device-Tree-Blob-Name>,<param0>=<value0>,<param1>=<value1>,...
<Device-Tree-Blob-Name>,<paramN>,<valueN>: refer to specific usage in Grove Device Tableexample:
# If you connect Grove Button to gpio 5 of Raspberry Pi, append the line: dtoverlay=gpio-key,gpio=5 # The default keycode is KEY_POWER, so the pressing will result in a power off.
- refer to
Specific Usageof Grove Device Table.
Note:
inner means the device driver integreted into linux kernel image,
no need driver source code in this repo.