diff --git a/boards/capes/cape-interface-spec.rst b/boards/capes/cape-interface-spec.rst index a115bad7d0b1a304010785420a446c42ab30647e..de142c553a99d33663e05bd8077f0f820d133994 100644 --- a/boards/capes/cape-interface-spec.rst +++ b/boards/capes/cape-interface-spec.rst @@ -3,21 +3,38 @@ BeagleBone cape interface spec ############################### -This page is a replica of `BeagleBone cape interface spec <https://elinux.org/Beagleboard:BeagleBone_cape_interface_spec>`_ page on elinux. +.. |I2C| replace:: I\ :sup:`2`\ C -See `this <https://beagleboard.org/blog/2022-03-31-device-tree-supporting-similar-boards-the-beaglebone-example>`_ blog post on BeagleBoard.org -for an introduction on Device Tree: Supporting Similar Boards - The BeagleBone Example. -`This <https://docs.google.com/spreadsheets/d/1fE-AsDZvJ-bBwzNBj1_sPDrutvEvsmARqFwvbw_HkrE/edit?usp=sharing>`_ -spreadsheet provides a summary of expansion header signals on various BeagleBoard.org board designs. -`This <https://elinux.org/Beagleboard:Cape_Expansion_Headers>`_ provides information on Cape Expansion Headers for BeagleBone designs. +This page is a fork of `BeagleBone cape interface spec <https://elinux.org/Beagleboard:BeagleBone_cape_interface_spec>`_ page on elinux. This is the new official home. -.. Note:: Below, when mentioning "Black", this is true for all AM3358-based BeagleBone boards. "AI" is AM5729-based. "AI-64" is TDA4VM-based. +Background and overview +*********************** +.. important:: + + Resources + + * See `Device Tree: Supporting Similar Boards - The BeagleBone Example blog post <https://beagleboard.org/blog/2022-03-31-device-tree-supporting-similar-boards-the-beaglebone-example>`_ blog post on BeagleBoard.org + * See `spreadsheet with pin header details <https://docs.google.com/spreadsheets/d/1fE-AsDZvJ-bBwzNBj1_sPDrutvEvsmARqFwvbw_HkrE/edit?usp=sharing>`_ + * See `elinux.org Cape Expansion Headers for BeagleBone page <https://elinux.org/Beagleboard:Cape_Expansion_Headers>`_ + * See :ref:`BeagleBone Black System Reference Manual Connectors section <beagleboneblack-connectors>` + +.. note:: Below, when mentioning "Black", this is true for all AM3358-based BeagleBone boards. "AI" is AM5729-based. "AI-64" is TDA4VM-based. + +The device tree symbols for the BeagleBone Cape Compatibility Layer are provided in `BeagleBoard-DeviceTrees <https://git.beagleboard.org/beagleboard/BeagleBoard-DeviceTrees>`_ at: + +* Black: `bbb-bone-buses.dtsi <https://git.beagleboard.org/beagleboard/BeagleBoard-DeviceTrees/-/blob/v5.10.x-ti-unified/src/arm/bbb-bone-buses.dtsi>`_ +* AI: `bbai-bone-buses.dtsi <https://git.beagleboard.org/beagleboard/BeagleBoard-DeviceTrees/-/blob/v5.10.x-ti-unified/src/arm/bbai-bone-buses.dtsi>`_ +* AI-64: `k3-j721e-beagleboneai-64-bone-buses.dtsi#9 <https://git.beagleboard.org/beagleboard/BeagleBoard-DeviceTrees/-/blob/v5.10.x-ti-unified/src/arm64/k3-j721e-beagleboneai64-bone-buses.dtsi>`_ + +The udev rules used to create the userspace symlinks for the BeagleBone Cape Compatibility Layer are provided in `usr-customizations <https://git.beagleboard.org/beagleboard/usr-customizations>`_ at: + +More details can be found in :ref:`bone-methodology`. .. table:: Overall +-----------------------------------------------+-----+------------------------------------+ - | .. centered:: P8 | | .. centered:: P8 | + | .. centered:: P9 | | .. centered:: P8 | +===============+=====+======+==================+=====+===========+=====+======+===========+ | Functions | odd | even | Functions | | Functions | odd | even | Functions | +---------------+-----+------+------------------+-----+-----------+-----+------+-----------+ @@ -29,11 +46,11 @@ spreadsheet provides a summary of expansion header signals on various BeagleBoar +---------------+-----+------+------------------+-----+-----------+-----+------+-----------+ | 3V3 OUT | 3 | 4 | 3V3 OUT | | D M | 3 | 4 | D M | +---------------+-----+------+------------------+-----+-----------+-----+------+-----------+ - | 5V IN | 5 | 6 | 5V IN | | D M | 5 | 6 | D M | + | 5V IN | 5 | 6 | 5V IN | | D M C4t | 5 | 6 | D M C4r | +---------------+-----+------+------------------+-----+-----------+-----+------+-----------+ | 5V OUT | 7 | 8 | 5V OUT | | C2r D | 7 | 8 | C2t D | +---------------+-----+------+------------------+-----+-----------+-----+------+-----------+ - | PWR BUT | 9 | 10 | RESET | | D | 9 | 10 | D | + | PWR BUT | 9 | 10 | RESET | | D C3r | 9 | 10 | D C3t | +---------------+-----+------+------------------+-----+-----------+-----+------+-----------+ | D U4r | 11 | 12 | D | | D P0o | 11 | 12 | D Q2a P0o | +---------------+-----+------+------------------+-----+-----------+-----+------+-----------+ @@ -72,219 +89,227 @@ spreadsheet provides a summary of expansion header signals on various BeagleBoar | GND | 45 | 46 | GND | | D E L P1 | 45 | 46 | D E L P1 | +---------------+-----+------+------------------+-----+-----------+-----+------+-----------+ -* A: ADC -* C: CAN -* D: Digital GPIO -* E: EHRPWM -* I: I2C -* L: LCD -* M: MMC/SDIO -* P: PRU -* Q: eQEP -* S: SPI -* U: UART - -LEDs ------- +.. note: + + Legend + + * A: :ref:`bone-analog` + * B: :ref:`bone-i2s` + * C: :ref:`bone-can` + * D: :ref:`bone-gpio` + * E: :ref:`bone-pwm` + * I: :ref:`bone-i2c` + * L: :ref:`bone-lcd` + * M: :ref:`bone-mmc` + * P: :ref:`bone-pru` + * Q: :ref:`bone-capture` + * S: :ref:`bone-spi` + * U: :ref:`bone-uart` + * Y: :ref:`bone-ecap` + +.. _bone-gpio: + +Digital GPIO +************ + +The compatibility layer comes with simple reference nodes for attaching the Linux gpio-leds or gpio-keys to any cape header GPIO pin. This provides simple userspace general purpose input or output with various trigger modes. -The compatibility layer comes with simple reference nodes for attaching LEDs to any gpio pin. The format followed for these nodes is **led_P8_## / led_P9_##**. The **gpio-leds** driver is used by these reference nodes internally and allows users to easily create compatible led nodes in overlays for Black, AI and AI-64. For the definitions, you can see `bbai-bone-buses.dtsi#L16 <https://github.com/lorforlinux/BeagleBoard-DeviceTrees/blob/97a6f0daa9eab09633a2064f68a53b107d6e3968/src/arm/bbai-bone-buses.dtsi#L16>`_ & `bbb-bone-buses.dtsi#L16 <https://github.com/lorforlinux/BeagleBoard-DeviceTrees/blob/97a6f0daa9eab09633a2064f68a53b107d6e3968/src/arm/bbb-bone-buses.dtsi#L16>`_. +The format followed for the gpio-leds nodes is **bone_led_P8_## / bone_led_P9_##**. The **gpio-leds** driver is used by these reference nodes internally and allows users to easily create compatible led nodes in overlays for Black, AI and AI-64. For the definitions, you can see Example overlays -***************** +----------------- -.. table:: Bone LEDs Overlays +.. table:: Bone LEDs Overlay Examples +---------+------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ | Header | Pin | Overlay | +=========+======+=======================================================================================================================================================+ - | P8 | 3 | `BONE-LED_P8_03.dts <https://git.beagleboard.org/beagleboard/BeagleBoard-DeviceTrees/blob/v4.19.x-ti-overlays/src/arm/overlays/BONE-LED_P8_03.dts>`_ | + | P8 | 3 | `BONE-LED_P8_03.dts <https://git.beagleboard.org/beagleboard/BeagleBoard-DeviceTrees/-/blob/v5.10.x-ti-unified/src/arm/overlays/LED_P8_03.dts>`_ | +---------+------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ - | P9 | 11 | `BONE-LED_P9_11.dts <https://git.beagleboard.org/beagleboard/BeagleBoard-DeviceTrees/blob/v4.19.x-ti-overlays/src/arm/overlays/BONE-LED_P9_11.dts>`_ | + | P8 | 4 | `BONE-LED_P8_04.dts <https://git.beagleboard.org/beagleboard/BeagleBoard-DeviceTrees/-/blob/v5.10.x-ti-unified/src/arm/overlays/LED_P8_04.dts>`_ | +---------+------+-------------------------------------------------------------------------------------------------------------------------------------------------------+ Definitions -************ - -.. table:: Bone LEDs - - +----------------------------+-------------+----------+-----------+-----------+ - | LED | Header pin | Black | AI | AI-64 | - +============================+=============+==========+===========+===========+ - | /sys/class/leds/led_P8_03 | P8_03 | gpio1_6 | gpio1_24 | gpio0_20 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P8_04 | P8_04 | gpio1_7 | gpio1_25 | gpio0_48 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P8_05 | P8_05 | gpio1_2 | gpio7_1 | gpio0_33 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P8_06 | P8_06 | gpio1_3 | gpio7_2 | gpio0_34 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P8_07 | P8_07 | gpio2_2 | gpio6_5 | gpio0_15 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P8_08 | P8_08 | gpio2_3 | gpio6_6 | gpio0_14 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P8_09 | P8_09 | gpio2_5 | gpio6_18 | gpio0_17 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P8_10 | P8_10 | gpio2_4 | gpio6_4 | gpio0_16 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P8_11 | P8_11 | gpio1_13 | gpio3_11 | gpio0_60 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P8_12 | P8_12 | gpio1_12 | gpio3_10 | gpio0_59 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P8_13 | P8_13 | gpio0_23 | gpio4_11 | gpio0_89 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P8_14 | P8_14 | gpio0_26 | gpio4_13 | gpio0_75 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P8_15 | P8_15 | gpio1_15 | gpio4_3 | gpio0_61 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P8_16 | P8_16 | gpio1_14 | gpio4_29 | gpio0_62 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P8_17 | P8_17 | gpio0_27 | gpio8_18 | gpio0_3 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P8_18 | P8_18 | gpio2_1 | gpio4_9 | gpio0_4 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P8_19 | P8_19 | gpio0_22 | gpio4_10 | gpio0_88 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P8_20 | P8_20 | gpio1_31 | gpio6_30 | gpio0_76 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P8_21 | P8_21 | gpio1_30 | gpio6_29 | gpio0_30 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P8_22 | P8_22 | gpio1_5 | gpio1_23 | gpio0_5 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P8_23 | P8_23 | gpio1_4 | gpio1_22 | gpio0_31 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P8_24 | P8_24 | gpio1_1 | gpio7_0 | gpio0_6 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P8_25 | P8_25 | gpio1_0 | gpio6_31 | gpio0_35 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P8_26 | P8_26 | gpio1_29 | gpio4_28 | gpio0_51 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P8_27 | P8_27 | gpio2_22 | gpio4_23 | gpio0_71 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P8_28 | P8_28 | gpio2_24 | gpio4_19 | gpio0_72 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P8_29 | P8_29 | gpio2_23 | gpio4_22 | gpio0_73 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P8_30 | P8_30 | gpio2_25 | gpio4_20 | gpio0_74 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P8_31 | P8_31 | gpio0_10 | gpio8_14 | gpio0_32 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P8_32 | P8_32 | gpio0_11 | gpio8_15 | gpio0_26 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P8_33 | P8_33 | gpio0_9 | gpio8_13 | gpio0_25 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P8_34 | P8_34 | gpio2_17 | gpio8_11 | gpio0_7 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P8_35 | P8_35 | gpio0_8 | gpio8_12 | gpio0_24 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P8_36 | P8_36 | gpio2_16 | gpio8_10 | gpio0_8 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P8_37 | P8_37 | gpio2_14 | gpio8_8 | gpio0_106 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P8_38 | P8_38 | gpio2_15 | gpio8_9 | gpio0_105 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P8_39 | P8_39 | gpio2_12 | gpio8_6 | gpio0_69 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P8_40 | P8_40 | gpio2_13 | gpio8_7 | gpio0_70 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P8_41 | P8_41 | gpio2_10 | gpio8_4 | gpio0_67 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P8_42 | P8_42 | gpio2_11 | gpio8_5 | gpio0_68 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P8_43 | P8_43 | gpio2_8 | gpio8_2 | gpio0_65 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P8_44 | P8_44 | gpio2_9 | gpio8_3 | gpio0_66 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P8_45 | P8_45 | gpio2_6 | gpio8_0 | gpio0_79 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P8_46 | P8_46 | gpio2_7 | gpio8_1 | gpio0_80 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P9_11 | P9_11 | gpio0_30 | gpio8_17 | gpio0_1 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P9_12 | P9_12 | gpio1_28 | gpio5_0 | gpio0_45 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P9_13 | P9_13 | gpio0_31 | gpio6_12 | gpio0_2 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P9_14 | P9_14 | gpio1_18 | gpio4_25 | gpio0_93 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P9_15 | P9_15 | gpio1_16 | gpio3_12 | gpio0_47 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P9_16 | P9_16 | gpio1_19 | gpio4_26 | gpio0_94 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P9_17 | P9_17 | gpio0_5 | gpio7_17 | gpio0_28 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P9_18 | P9_18 | gpio0_4 | gpio7_16 | gpio0_40 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P9_19 | P9_19 | gpio0_13 | gpio7_3 | gpio0_78 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P9_20 | P9_20 | gpio0_12 | gpio7_4 | gpio0_77 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P9_21 | P9_21 | gpio0_3 | gpio3_3 | gpio0_39 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P9_22 | P9_22 | gpio0_2 | gpio6_19 | gpio0_38 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P9_23 | P9_23 | gpio1_17 | gpio7_11 | gpio0_10 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P9_24 | P9_24 | gpio0_15 | gpio6_15 | gpio0_13 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P9_25 | P9_25 | gpio3_21 | gpio6_17 | gpio0_127 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P9_26 | P9_26 | gpio0_14 | gpio6_14 | gpio0_12 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P9_27 | P9_27 | gpio3_19 | gpio4_15 | gpio0_46 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P9_28 | P9_28 | gpio3_17 | gpio4_17 | gpio1_11 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P9_29 | P9_29 | gpio3_15 | gpio5_11 | gpio0_53 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P9_30 | P9_30 | gpio3_16 | gpio5_12 | gpio0_44 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P9_31 | P9_31 | gpio3_14 | gpio5_10 | gpio0_52 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P9_33 | P9_33 | NA | NA | gpio0_50 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P9_35 | P9_35 | NA | NA | gpio0_55 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P9_36 | P9_36 | NA | NA | gpio0_56 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P9_37 | P9_37 | NA | NA | gpio0_57 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P9_38 | P9_38 | NA | NA | gpio0_58 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P9_39 | P9_39 | NA | NA | gpio0_54 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P9_40 | P9_40 | NA | NA | gpio0_81 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P9_41 | P9_41 | gpio0_20 | gpio6_20 | gpio1_0 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P9_91 | P9_91 | gpio3_20 | NA | NA | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P9_42 | P9_42 | gpio0_7 | gpio4_18 | gpio0_123 | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_P9_92 | P9_92 | gpio3_18 | NA | NA | - +----------------------------+-------------+----------+-----------+-----------+ - | /sys/class/leds/led_A15 | A15 | gpio0_19 | NA | NA | - +----------------------------+-------------+----------+-----------+-----------+ - -I2C ----- - -Compatibility layer provides simple I2C bone bus nodes for creating compatible overlays for Black, AI and AI-64. The format followed for these nodes is '''bone_i2c_#'''. For the definitions, you can see `bbai-bone-buses.dtsi#L388 <https://github.com/lorforlinux/BeagleBoard-DeviceTrees/blob/97a6f0daa9eab09633a2064f68a53b107d6e3968/src/arm/bbai-bone-buses.dtsi#L388>`_ & `bbb-bone-buses.dtsi#L403 <https://github.com/lorforlinux/BeagleBoard-DeviceTrees/blob/97a6f0daa9eab09633a2064f68a53b107d6e3968/src/arm/bbb-bone-buses.dtsi#L403>`_. - -.. table:: Bone bus I2C - - +------------------+--------------+--------+-------+------------+-----------------+--------+-----------------------------------------------------------------------------------------------------------+ - | SYSFS | DT symbol | Black | AI | AI-64 | SCL | SDA | Overlay | - +==================+==============+========+=======+============+=================+========+===========================================================================================================+ - | /dev/bone/i2c/0 | bone_i2c_0 | I2C0 | I2C1 | TBD | .. centered:: NA (On-board) | - +------------------+--------------+--------+-------+------------+-----------------+--------+-----------------------------------------------------------------------------------------------------------+ - | /dev/bone/i2c/1 | bone_i2c_1 | I2C1 | I2C5 | MAIN_I2C6 | P9.17 | P9.18 | `BONE-I2C1.dts <https://github.com/lorforlinux/bb.org-overlays/blob/bone_i2c/src/arm/BONE-I2C1.dts>`_ | - +------------------+--------------+--------+-------+------------+-----------------+--------+-----------------------------------------------------------------------------------------------------------+ - | /dev/bone/i2c/2 | bone_i2c_2 | I2C2 | I2C4 | MAIN_I2C3 | P9.19 | P9.20 | `BONE-I2C2.dts <https://github.com/lorforlinux/bb.org-overlays/blob/bone_i2c/src/arm/BONE-I2C2.dts>`_ | - +------------------+--------------+--------+-------+------------+-----------------+--------+-----------------------------------------------------------------------------------------------------------+ - | /dev/bone/i2c/2a | bone_i2c_2a | I2C2 | N/A | TBD | P9.21 | P9.22 | `BONE-I2C2A.dts <https://github.com/lorforlinux/bb.org-overlays/blob/bone_i2c/src/arm/BONE-I2C2A.dts>`_ | - +------------------+--------------+--------+-------+------------+-----------------+--------+-----------------------------------------------------------------------------------------------------------+ - | /dev/bone/i2c/3 | bone_i2c_3 | I2C1 | I2C3 | MAIN_I2C4 | P9.24 | P9.26 | `BONE-I2C3.dts <https://github.com/lorforlinux/bb.org-overlays/blob/bone_i2c/src/arm/BONE-I2C3.dts>`_ | - +------------------+--------------+--------+-------+------------+-----------------+--------+-----------------------------------------------------------------------------------------------------------+ +----------------- + +.. table:: Bone keys and LEDs + + +------------------------+-------------+----------+-----------+-----------+ + | LED | Header pin | Black | AI | AI-64 | + +========================+=============+==========+===========+===========+ + | /sys/class/leds/P8_03 | P8_03 | gpio1_6 | gpio1_24 | gpio0_20 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P8_04 | P8_04 | gpio1_7 | gpio1_25 | gpio0_48 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P8_05 | P8_05 | gpio1_2 | gpio7_1 | gpio0_33 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P8_06 | P8_06 | gpio1_3 | gpio7_2 | gpio0_34 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P8_07 | P8_07 | gpio2_2 | gpio6_5 | gpio0_15 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P8_08 | P8_08 | gpio2_3 | gpio6_6 | gpio0_14 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P8_09 | P8_09 | gpio2_5 | gpio6_18 | gpio0_17 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P8_10 | P8_10 | gpio2_4 | gpio6_4 | gpio0_16 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P8_11 | P8_11 | gpio1_13 | gpio3_11 | gpio0_60 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P8_12 | P8_12 | gpio1_12 | gpio3_10 | gpio0_59 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P8_13 | P8_13 | gpio0_23 | gpio4_11 | gpio0_89 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P8_14 | P8_14 | gpio0_26 | gpio4_13 | gpio0_75 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P8_15 | P8_15 | gpio1_15 | gpio4_3 | gpio0_61 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P8_16 | P8_16 | gpio1_14 | gpio4_29 | gpio0_62 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P8_17 | P8_17 | gpio0_27 | gpio8_18 | gpio0_3 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P8_18 | P8_18 | gpio2_1 | gpio4_9 | gpio0_4 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P8_19 | P8_19 | gpio0_22 | gpio4_10 | gpio0_88 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P8_20 | P8_20 | gpio1_31 | gpio6_30 | gpio0_76 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P8_21 | P8_21 | gpio1_30 | gpio6_29 | gpio0_30 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P8_22 | P8_22 | gpio1_5 | gpio1_23 | gpio0_5 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P8_23 | P8_23 | gpio1_4 | gpio1_22 | gpio0_31 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P8_24 | P8_24 | gpio1_1 | gpio7_0 | gpio0_6 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P8_25 | P8_25 | gpio1_0 | gpio6_31 | gpio0_35 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P8_26 | P8_26 | gpio1_29 | gpio4_28 | gpio0_51 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P8_27 | P8_27 | gpio2_22 | gpio4_23 | gpio0_71 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P8_28 | P8_28 | gpio2_24 | gpio4_19 | gpio0_72 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P8_29 | P8_29 | gpio2_23 | gpio4_22 | gpio0_73 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P8_30 | P8_30 | gpio2_25 | gpio4_20 | gpio0_74 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P8_31 | P8_31 | gpio0_10 | gpio8_14 | gpio0_32 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P8_32 | P8_32 | gpio0_11 | gpio8_15 | gpio0_26 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P8_33 | P8_33 | gpio0_9 | gpio8_13 | gpio0_25 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P8_34 | P8_34 | gpio2_17 | gpio8_11 | gpio0_7 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P8_35 | P8_35 | gpio0_8 | gpio8_12 | gpio0_24 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P8_36 | P8_36 | gpio2_16 | gpio8_10 | gpio0_8 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P8_37 | P8_37 | gpio2_14 | gpio8_8 | gpio0_106 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P8_38 | P8_38 | gpio2_15 | gpio8_9 | gpio0_105 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P8_39 | P8_39 | gpio2_12 | gpio8_6 | gpio0_69 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P8_40 | P8_40 | gpio2_13 | gpio8_7 | gpio0_70 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P8_41 | P8_41 | gpio2_10 | gpio8_4 | gpio0_67 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P8_42 | P8_42 | gpio2_11 | gpio8_5 | gpio0_68 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P8_43 | P8_43 | gpio2_8 | gpio8_2 | gpio0_65 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P8_44 | P8_44 | gpio2_9 | gpio8_3 | gpio0_66 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P8_45 | P8_45 | gpio2_6 | gpio8_0 | gpio0_79 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P8_46 | P8_46 | gpio2_7 | gpio8_1 | gpio0_80 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P9_11 | P9_11 | gpio0_30 | gpio8_17 | gpio0_1 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P9_12 | P9_12 | gpio1_28 | gpio5_0 | gpio0_45 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P9_13 | P9_13 | gpio0_31 | gpio6_12 | gpio0_2 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P9_14 | P9_14 | gpio1_18 | gpio4_25 | gpio0_93 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P9_15 | P9_15 | gpio1_16 | gpio3_12 | gpio0_47 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P9_16 | P9_16 | gpio1_19 | gpio4_26 | gpio0_94 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P9_17 | P9_17 | gpio0_5 | gpio7_17 | gpio0_28 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P9_18 | P9_18 | gpio0_4 | gpio7_16 | gpio0_40 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P9_19 | P9_19 | gpio0_13 | gpio7_3 | gpio0_78 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P9_20 | P9_20 | gpio0_12 | gpio7_4 | gpio0_77 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P9_21 | P9_21 | gpio0_3 | gpio3_3 | gpio0_39 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P9_22 | P9_22 | gpio0_2 | gpio6_19 | gpio0_38 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P9_23 | P9_23 | gpio1_17 | gpio7_11 | gpio0_10 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P9_24 | P9_24 | gpio0_15 | gpio6_15 | gpio0_13 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P9_25 | P9_25 | gpio3_21 | gpio6_17 | gpio0_127 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P9_26 | P9_26 | gpio0_14 | gpio6_14 | gpio0_12 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P9_27 | P9_27 | gpio3_19 | gpio4_15 | gpio0_46 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P9_28 | P9_28 | gpio3_17 | gpio4_17 | gpio1_11 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P9_29 | P9_29 | gpio3_15 | gpio5_11 | gpio0_53 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P9_30 | P9_30 | gpio3_16 | gpio5_12 | gpio0_44 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P9_31 | P9_31 | gpio3_14 | gpio5_10 | gpio0_52 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P9_33 | P9_33 | NA | NA | gpio0_50 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P9_35 | P9_35 | NA | NA | gpio0_55 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P9_36 | P9_36 | NA | NA | gpio0_56 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P9_37 | P9_37 | NA | NA | gpio0_57 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P9_38 | P9_38 | NA | NA | gpio0_58 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P9_39 | P9_39 | NA | NA | gpio0_54 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P9_40 | P9_40 | NA | NA | gpio0_81 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P9_41 | P9_41 | gpio0_20 | gpio6_20 | gpio1_0 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/P9_42 | P9_42 | gpio0_7 | gpio4_18 | gpio0_123 | + +------------------------+-------------+----------+-----------+-----------+ + | /sys/class/leds/A15 | A15 | gpio0_19 | NA | NA | + +------------------------+-------------+----------+-----------+-----------+ + +.. _bone-i2c: + +|I2C| +***** + +Compatibility layer provides simple I2C bone bus nodes for creating compatible overlays for Black, AI and AI-64. The format followed for these nodes is **bone_i2c_#**. + +.. table:: Bone I2C + + +------------------+--------------+--------+-------+------------+-----------------+--------+---------------+ + | SYSFS | DT symbol | Black | AI | AI-64 | SCL | SDA | Overlay | + +==================+==============+========+=======+============+=================+========+===============+ + | /dev/bone/i2c/0 | bone_i2c_0 | I2C0 | I2C1 | TBD | .. centered:: N/A (On-board) | + +------------------+--------------+--------+-------+------------+-----------------+--------+---------------+ + | /dev/bone/i2c/1 | bone_i2c_1 | I2C1 | I2C5 | MAIN_I2C6 | P9.17 | P9.18 | BONE-I2C1.dts | + +------------------+--------------+--------+-------+------------+-----------------+--------+---------------+ + | /dev/bone/i2c/2 | bone_i2c_2 | I2C2 | I2C4 | MAIN_I2C3 | P9.19 | P9.20 | BONE-I2C2.dts | + +------------------+--------------+--------+-------+------------+-----------------+--------+---------------+ + | /dev/bone/i2c/3 | bone_i2c_3 | I2C1 | I2C3 | MAIN_I2C4 | P9.24 | P9.26 | BONE-I2C3.dts | + +------------------+--------------+--------+-------+------------+-----------------+--------+---------------+ + | /dev/bone/i2c/4 | bone_i2c_4 | I2C2 | N/A | MAIN_I2C3 | P9.21 | P9.22 | BONE-I2C4.dts | + +------------------+--------------+--------+-------+------------+-----------------+--------+---------------+ SPI @@ -342,9 +367,16 @@ CAN bone bus nodes allow creating compatible overlays for Black, AI and AI-64. F +------------------+--------+--------------------------+------------+--------+--------+--------------------------------------------------------------------------------------------------------+ | /dev/bone/can/1 | CAN1 | CAN2 | MAIN_MCAN4 | P9.26 | P9.24 | `BONE-CAN1.dts <https://github.com/lorforlinux/bb.org-overlays/blob/bone_can/src/arm/BONE-CAN1.dts>`_ | +------------------+--------+--------------------------+------------+--------+--------+--------------------------------------------------------------------------------------------------------+ - | /dev/bone/can/2 | - | CAN1 (rev A2 and later) | TBD | P8.8 | P8.7 | | + | /dev/bone/can/2 | - | CAN1 (rev A2 and later) | MAIN_MCAN5 | P8.08 | P8.07 | | + +------------------+--------+--------------------------+------------+--------+--------+--------------------------------------------------------------------------------------------------------+ + | /dev/bone/can/3 | - | - | MAIN_MCAN6 | P8.10 | P8.09 | | + +------------------+--------+--------------------------+------------+--------+--------+--------------------------------------------------------------------------------------------------------+ + | /dev/bone/can/4 | - | - | MAIN_MCAN7 | P8.05 | P8.06 | | +------------------+--------+--------------------------+------------+--------+--------+--------------------------------------------------------------------------------------------------------+ + +.. _bone-analog: + ADC ------- @@ -770,19 +802,22 @@ TODO<br> For each of the pins with a GPIO, there should be a symlink that comes from the names * + +.. _bone-methodology: + Methodology ---------------- +*************** The methodology for applied in the kernel and software images to expose the software interfaces is to be documented here. The most fundamental elements are the device tree entries, including overlays, and udev rules. Device Trees -------------- +============= udev rules --------------- +========================= 10-of-symlink.rules -********************** +------------------------ .. code-block::