43 lines
1.4 KiB
Go
43 lines
1.4 KiB
Go
// Copyright 2016 The Periph Authors. All rights reserved.
|
|
// Use of this source code is governed under the Apache License, Version 2.0
|
|
// that can be found in the LICENSE file.
|
|
|
|
// Package bcm283x exposes the BCM283x GPIO functionality.
|
|
//
|
|
// This driver implements memory-mapped GPIO pin manipulation and leverages
|
|
// sysfs-gpio for edge detection.
|
|
//
|
|
// If you are looking for the actual implementation, open doc.go for further
|
|
// implementation details.
|
|
//
|
|
// GPIOs
|
|
//
|
|
// Aliases for GPCLK0, GPCLK1, GPCLK2 are created for corresponding CLKn pins.
|
|
// Same for PWM0_OUT and PWM1_OUT, which point respectively to PWM0 and PWM1.
|
|
//
|
|
// Datasheet
|
|
//
|
|
// https://www.raspberrypi.org/wp-content/uploads/2012/02/BCM2835-ARM-Peripherals.pdf
|
|
//
|
|
// Its crowd-sourced errata: http://elinux.org/BCM2835_datasheet_errata
|
|
//
|
|
// BCM2836:
|
|
// https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2836/QA7_rev3.4.pdf
|
|
//
|
|
// Another doc about PCM and PWM:
|
|
// https://scribd.com/doc/127599939/BCM2835-Audio-clocks
|
|
//
|
|
// GPIO pad control:
|
|
// https://scribd.com/doc/101830961/GPIO-Pads-Control2
|
|
package bcm283x
|
|
|
|
// Other implementations details
|
|
//
|
|
// mainline:
|
|
// https://github.com/torvalds/linux/blob/master/drivers/dma/bcm2835-dma.c
|
|
// https://github.com/torvalds/linux/blob/master/drivers/gpio
|
|
//
|
|
// Raspbian kernel:
|
|
// https://github.com/raspberrypi/linux/blob/rpi-4.11.y/drivers/dma
|
|
// https://github.com/raspberrypi/linux/blob/rpi-4.11.y/drivers/gpio
|