avionic design with actual uboot and tooling
submodule of avionic design uboot bootloader and with included tools to get you started , read readme.md and readme-tk1-loader.md
This commit is contained in:
20
u-boot/doc/device-tree-bindings/i2c/i2c-cdns.txt
Normal file
20
u-boot/doc/device-tree-bindings/i2c/i2c-cdns.txt
Normal file
@@ -0,0 +1,20 @@
|
||||
Cadence I2C controller Device Tree Bindings
|
||||
-------------------------------------------
|
||||
|
||||
Required properties:
|
||||
- compatible : Should be "cdns,i2c-r1p10" or "xlnx,zynq-spi-r1p10".
|
||||
- reg : Physical base address and size of I2C registers map.
|
||||
- interrupts : Property with a value describing the interrupt
|
||||
number.
|
||||
- interrupt-parent : Must be core interrupt controller
|
||||
- clocks : Clock phandles (see clock bindings for details).
|
||||
|
||||
Example:
|
||||
i2c0: i2c@e0004000 {
|
||||
compatible = "cdns,i2c-r1p10";
|
||||
reg = <0xe0004000 0x1000>;
|
||||
clocks = <&clkc 38>;
|
||||
interrupts = <0 25 4>;
|
||||
interrupt-parent = <&intc>;
|
||||
status = "disabled";
|
||||
};
|
||||
37
u-boot/doc/device-tree-bindings/i2c/i2c-gpio.txt
Normal file
37
u-boot/doc/device-tree-bindings/i2c/i2c-gpio.txt
Normal file
@@ -0,0 +1,37 @@
|
||||
I2C gpio device binding
|
||||
=======================
|
||||
|
||||
Driver:
|
||||
- drivers/i2c/i2c-gpio.c
|
||||
|
||||
Software i2c device-tree node properties:
|
||||
Required:
|
||||
* #address-cells = <1>;
|
||||
* #size-cells = <0>;
|
||||
* compatible = "i2c-gpio";
|
||||
* gpios = <sda ...>, <scl ...>;
|
||||
|
||||
Optional:
|
||||
* i2c-gpio,delay-us = <5>;
|
||||
The resulting transfer speed can be adjusted by setting the delay[us]
|
||||
between gpio-toggle operations. Speed [Hz] = 1000000 / 4 * udelay[us],
|
||||
It not defined, then default is 5us (~50KHz).
|
||||
|
||||
Example:
|
||||
|
||||
i2c-gpio@1 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
compatible = "i2c-gpio";
|
||||
gpios = <&gpd1 0 GPIO_ACTIVE_HIGH>, /* SDA */
|
||||
<&gpd1 1 GPIO_ACTIVE_HIGH>; /* CLK */
|
||||
|
||||
i2c-gpio,delay-us = <5>;
|
||||
|
||||
some_device@5 {
|
||||
compatible = "some_device";
|
||||
reg = <0x5>;
|
||||
...
|
||||
};
|
||||
};
|
||||
60
u-boot/doc/device-tree-bindings/i2c/i2c-mux.txt
Normal file
60
u-boot/doc/device-tree-bindings/i2c/i2c-mux.txt
Normal file
@@ -0,0 +1,60 @@
|
||||
Common i2c bus multiplexer/switch properties.
|
||||
|
||||
An i2c bus multiplexer/switch will have several child busses that are
|
||||
numbered uniquely in a device dependent manner. The nodes for an i2c bus
|
||||
multiplexer/switch will have one child node for each child
|
||||
bus.
|
||||
|
||||
Required properties:
|
||||
- #address-cells = <1>;
|
||||
- #size-cells = <0>;
|
||||
|
||||
Required properties for child nodes:
|
||||
- #address-cells = <1>;
|
||||
- #size-cells = <0>;
|
||||
- reg : The sub-bus number.
|
||||
|
||||
Optional properties for child nodes:
|
||||
- Other properties specific to the multiplexer/switch hardware.
|
||||
- Child nodes conforming to i2c bus binding
|
||||
|
||||
|
||||
Example :
|
||||
|
||||
/*
|
||||
An NXP pca9548 8 channel I2C multiplexer at address 0x70
|
||||
with two NXP pca8574 GPIO expanders attached, one each to
|
||||
ports 3 and 4.
|
||||
*/
|
||||
|
||||
mux@70 {
|
||||
compatible = "nxp,pca9548";
|
||||
reg = <0x70>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
i2c@3 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <3>;
|
||||
|
||||
gpio1: gpio@38 {
|
||||
compatible = "nxp,pca8574";
|
||||
reg = <0x38>;
|
||||
#gpio-cells = <2>;
|
||||
gpio-controller;
|
||||
};
|
||||
};
|
||||
i2c@4 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <4>;
|
||||
|
||||
gpio2: gpio@38 {
|
||||
compatible = "nxp,pca8574";
|
||||
reg = <0x38>;
|
||||
#gpio-cells = <2>;
|
||||
gpio-controller;
|
||||
};
|
||||
};
|
||||
};
|
||||
28
u-boot/doc/device-tree-bindings/i2c/i2c.txt
Normal file
28
u-boot/doc/device-tree-bindings/i2c/i2c.txt
Normal file
@@ -0,0 +1,28 @@
|
||||
U-Boot I2C
|
||||
----------
|
||||
|
||||
U-Boot's I2C model has the concept of an offset within a chip (I2C target
|
||||
device). The offset can be up to 4 bytes long, but is normally 1 byte,
|
||||
meaning that offsets from 0 to 255 are supported by the chip. This often
|
||||
corresponds to register numbers.
|
||||
|
||||
Apart from the controller-specific I2C bindings, U-Boot supports a special
|
||||
property which allows the chip offset length to be selected.
|
||||
|
||||
Optional properties:
|
||||
- u-boot,i2c-offset-len - length of chip offset in bytes. If omitted the
|
||||
default value of 1 is used.
|
||||
|
||||
|
||||
Example
|
||||
-------
|
||||
|
||||
i2c4: i2c@12ca0000 {
|
||||
cros-ec@1e {
|
||||
reg = <0x1e>;
|
||||
compatible = "google,cros-ec";
|
||||
i2c-max-frequency = <100000>;
|
||||
u-boot,i2c-offset-len = <0>;
|
||||
ec-interrupt = <&gpx1 6 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
||||
23
u-boot/doc/device-tree-bindings/i2c/tegra20-i2c.txt
Normal file
23
u-boot/doc/device-tree-bindings/i2c/tegra20-i2c.txt
Normal file
@@ -0,0 +1,23 @@
|
||||
(Placeholder note while we locate the kernel Tegra20 bindings)
|
||||
|
||||
Added in U-Boot:
|
||||
|
||||
Required properties:
|
||||
- clocks : Two clocks must be given, each as a phandle to the Tegra's
|
||||
CAR node and the clock number as a parameter:
|
||||
- the I2C clock to use for the peripheral
|
||||
- the pll_p_out3 clock, which can be used for fast operation. This
|
||||
does not change and is the same for all I2C nodes.
|
||||
|
||||
Example:
|
||||
(TODO: merge with existing example):
|
||||
|
||||
i2c@7000c400 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "nvidia,tegra20-i2c";
|
||||
reg = <0x7000C400 0x100>;
|
||||
interrupts = < 116 >;
|
||||
/* PERIPH_ID_I2C2, PLL_P_OUT3 */
|
||||
clocks = <&tegra_car 54>, <&tegra_car 124>;
|
||||
};
|
||||
Reference in New Issue
Block a user