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:
34
u-boot/doc/device-tree-bindings/spi/soft-spi.txt
Normal file
34
u-boot/doc/device-tree-bindings/spi/soft-spi.txt
Normal file
@@ -0,0 +1,34 @@
|
||||
Soft SPI
|
||||
|
||||
The soft SPI bus implementation allows the use of GPIO pins to simulate a
|
||||
SPI bus. No SPI host is required for this to work. The down-side is that the
|
||||
performance will typically be much lower than a real SPI bus.
|
||||
|
||||
The soft SPI node requires the following properties:
|
||||
|
||||
compatible: "u-boot,soft-spi"
|
||||
soft_spi_cs: GPIO number to use for SPI chip select (output)
|
||||
soft_spi_sclk: GPIO number to use for SPI clock (output)
|
||||
soft_spi_mosi: GPIO number to use for SPI MOSI line (output)
|
||||
soft_spi_miso GPIO number to use for SPI MISO line (input)
|
||||
spi-delay-us: Number of microseconds of delay between each CS transition
|
||||
|
||||
The GPIOs should be specified as required by the GPIO controller referenced.
|
||||
The first cell holds the phandle of the controller and the second cell
|
||||
typically holds the GPIO number.
|
||||
|
||||
|
||||
Example:
|
||||
|
||||
soft-spi {
|
||||
compatible = "u-boot,soft-spi";
|
||||
cs-gpio = <&gpio 235 0>; /* Y43 */
|
||||
sclk-gpio = <&gpio 225 0>; /* Y31 */
|
||||
mosi-gpio = <&gpio 227 0>; /* Y33 */
|
||||
miso-gpio = <&gpio 224 0>; /* Y30 */
|
||||
spi-delay-us = <1>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
cs@0 {
|
||||
};
|
||||
};
|
||||
19
u-boot/doc/device-tree-bindings/spi/spi-ath79.txt
Normal file
19
u-boot/doc/device-tree-bindings/spi/spi-ath79.txt
Normal file
@@ -0,0 +1,19 @@
|
||||
Binding for Qualcomm Atheros AR7xxx/AR9xxx SPI controller
|
||||
|
||||
Required properties:
|
||||
- compatible: has to be "qca,<soc-type>-spi", "qca,ar7100-spi" as fallback.
|
||||
- reg: Base address and size of the controllers memory area
|
||||
- #address-cells: <1>, as required by generic SPI binding.
|
||||
- #size-cells: <0>, also as required by generic SPI binding.
|
||||
|
||||
Child nodes as per the generic SPI binding.
|
||||
|
||||
Example:
|
||||
|
||||
spi@1f000000 {
|
||||
compatible = "qca,ar9132-spi", "qca,ar7100-spi";
|
||||
reg = <0x1f000000 0x10>;
|
||||
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
94
u-boot/doc/device-tree-bindings/spi/spi-bus.txt
Normal file
94
u-boot/doc/device-tree-bindings/spi/spi-bus.txt
Normal file
@@ -0,0 +1,94 @@
|
||||
SPI (Serial Peripheral Interface) busses
|
||||
|
||||
SPI busses can be described with a node for the SPI master device
|
||||
and a set of child nodes for each SPI slave on the bus. For this
|
||||
discussion, it is assumed that the system's SPI controller is in
|
||||
SPI master mode. This binding does not describe SPI controllers
|
||||
in slave mode.
|
||||
|
||||
The SPI master node requires the following properties:
|
||||
- #address-cells - number of cells required to define a chip select
|
||||
address on the SPI bus.
|
||||
- #size-cells - should be zero.
|
||||
- compatible - name of SPI bus controller following generic names
|
||||
recommended practice.
|
||||
- cs-gpios - (optional) gpios chip select.
|
||||
No other properties are required in the SPI bus node. It is assumed
|
||||
that a driver for an SPI bus device will understand that it is an SPI bus.
|
||||
However, the binding does not attempt to define the specific method for
|
||||
assigning chip select numbers. Since SPI chip select configuration is
|
||||
flexible and non-standardized, it is left out of this binding with the
|
||||
assumption that board specific platform code will be used to manage
|
||||
chip selects. Individual drivers can define additional properties to
|
||||
support describing the chip select layout.
|
||||
|
||||
Optional property:
|
||||
- num-cs : total number of chipselects
|
||||
|
||||
If cs-gpios is used the number of chip select will automatically increased
|
||||
with max(cs-gpios > hw cs)
|
||||
|
||||
So if for example the controller has 2 CS lines, and the cs-gpios
|
||||
property looks like this:
|
||||
|
||||
cs-gpios = <&gpio1 0 0> <0> <&gpio1 1 0> <&gpio1 2 0>;
|
||||
|
||||
Then it should be configured so that num_chipselect = 4 with the
|
||||
following mapping:
|
||||
|
||||
cs0 : &gpio1 0 0
|
||||
cs1 : native
|
||||
cs2 : &gpio1 1 0
|
||||
cs3 : &gpio1 2 0
|
||||
|
||||
SPI slave nodes must be children of the SPI master node and can
|
||||
contain the following properties.
|
||||
- reg - (required) chip select address of device.
|
||||
- compatible - (required) name of SPI device following generic names
|
||||
recommended practice
|
||||
- spi-max-frequency - (required) Maximum SPI clocking speed of device in Hz
|
||||
- spi-cpol - (optional) Empty property indicating device requires
|
||||
inverse clock polarity (CPOL) mode
|
||||
- spi-cpha - (optional) Empty property indicating device requires
|
||||
shifted clock phase (CPHA) mode
|
||||
- spi-cs-high - (optional) Empty property indicating device requires
|
||||
chip select active high
|
||||
- spi-3wire - (optional) Empty property indicating device requires
|
||||
3-wire mode.
|
||||
- spi-tx-bus-width - (optional) The bus width(number of data wires) that
|
||||
used for MOSI. Defaults to 1 if not present.
|
||||
- spi-rx-bus-width - (optional) The bus width(number of data wires) that
|
||||
used for MISO. Defaults to 1 if not present.
|
||||
- spi-half-duplex - (optional) Indicates that the SPI bus should wait for
|
||||
a header byte before reading data from the slave.
|
||||
|
||||
Some SPI controllers and devices support Dual and Quad SPI transfer mode.
|
||||
It allows data in SPI system transferred in 2 wires(DUAL) or 4 wires(QUAD).
|
||||
Now the value that spi-tx-bus-width and spi-rx-bus-width can receive is
|
||||
only 1(SINGLE), 2(DUAL) and 4(QUAD).
|
||||
Dual/Quad mode is not allowed when 3-wire mode is used.
|
||||
|
||||
If a gpio chipselect is used for the SPI slave the gpio number will be passed
|
||||
via the cs_gpio
|
||||
|
||||
SPI example for an MPC5200 SPI bus:
|
||||
spi@f00 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "fsl,mpc5200b-spi","fsl,mpc5200-spi";
|
||||
reg = <0xf00 0x20>;
|
||||
interrupts = <2 13 0 2 14 0>;
|
||||
interrupt-parent = <&mpc5200_pic>;
|
||||
|
||||
ethernet-switch@0 {
|
||||
compatible = "micrel,ks8995m";
|
||||
spi-max-frequency = <1000000>;
|
||||
reg = <0>;
|
||||
};
|
||||
|
||||
codec@1 {
|
||||
compatible = "ti,tlv320aic26";
|
||||
spi-max-frequency = <100000>;
|
||||
reg = <1>;
|
||||
};
|
||||
};
|
||||
28
u-boot/doc/device-tree-bindings/spi/spi-cadence.txt
Normal file
28
u-boot/doc/device-tree-bindings/spi/spi-cadence.txt
Normal file
@@ -0,0 +1,28 @@
|
||||
Cadence QSPI controller device tree bindings
|
||||
--------------------------------------------
|
||||
|
||||
Required properties:
|
||||
- compatible : should be "cadence,qspi".
|
||||
- reg : 1.Physical base address and size of SPI registers map.
|
||||
2. Physical base address & size of NOR Flash.
|
||||
- clocks : Clock phandles (see clock bindings for details).
|
||||
- sram-size : spi controller sram size.
|
||||
- status : enable in requried dts.
|
||||
|
||||
connected flash properties
|
||||
--------------------------
|
||||
|
||||
- spi-max-frequency : Max supported spi frequency.
|
||||
- page-size : Flash page size.
|
||||
- block-size : Flash memory block size.
|
||||
- tshsl-ns : Added delay in master reference clocks (ref_clk) for
|
||||
the length that the master mode chip select outputs
|
||||
are de-asserted between transactions.
|
||||
- tsd2d-ns : Delay in master reference clocks (ref_clk) between one
|
||||
chip select being de-activated and the activation of
|
||||
another.
|
||||
- tchsh-ns : Delay in master reference clocks between last bit of
|
||||
current transaction and de-asserting the device chip
|
||||
select (n_ss_out).
|
||||
- tslch-ns : Delay in master reference clocks between setting
|
||||
n_ss_out low and first bit transfer
|
||||
26
u-boot/doc/device-tree-bindings/spi/spi-zynq-qspi.txt
Normal file
26
u-boot/doc/device-tree-bindings/spi/spi-zynq-qspi.txt
Normal file
@@ -0,0 +1,26 @@
|
||||
Xilinx Zynq QSPI controller Device Tree Bindings
|
||||
-------------------------------------------------
|
||||
|
||||
Required properties:
|
||||
- compatible : Should be "xlnx,zynq-qspi-1.0".
|
||||
- reg : Physical base address and size of QSPI registers map.
|
||||
- interrupts : Property with a value describing the interrupt
|
||||
number.
|
||||
- interrupt-parent : Must be core interrupt controller
|
||||
- clock-names : List of input clock names - "ref_clk", "pclk"
|
||||
(See clock bindings for details).
|
||||
- clocks : Clock phandles (see clock bindings for details).
|
||||
|
||||
Optional properties:
|
||||
- num-cs : Number of chip selects used.
|
||||
|
||||
Example:
|
||||
qspi@e000d000 {
|
||||
compatible = "xlnx,zynq-qspi-1.0";
|
||||
clock-names = "ref_clk", "pclk";
|
||||
clocks = <&clkc 10>, <&clkc 43>;
|
||||
interrupt-parent = <&intc>;
|
||||
interrupts = <0 19 4>;
|
||||
num-cs = <1>;
|
||||
reg = <0xe000d000 0x1000>;
|
||||
} ;
|
||||
32
u-boot/doc/device-tree-bindings/spi/spi-zynq.txt
Normal file
32
u-boot/doc/device-tree-bindings/spi/spi-zynq.txt
Normal file
@@ -0,0 +1,32 @@
|
||||
Cadence SPI controller Device Tree Bindings
|
||||
-------------------------------------------
|
||||
|
||||
Required properties:
|
||||
- compatible : Should be "cdns,spi-r1p6" or "xlnx,zynq-spi-r1p6".
|
||||
- reg : Physical base address and size of SPI registers map.
|
||||
- interrupts : Property with a value describing the interrupt
|
||||
number.
|
||||
- interrupt-parent : Must be core interrupt controller
|
||||
- clock-names : List of input clock names - "ref_clk", "pclk"
|
||||
(See clock bindings for details).
|
||||
- clocks : Clock phandles (see clock bindings for details).
|
||||
- spi-max-frequency : Maximum SPI clocking speed of device in Hz
|
||||
|
||||
Optional properties:
|
||||
- num-cs : Number of chip selects used.
|
||||
If a decoder is used, this will be the number of
|
||||
chip selects after the decoder.
|
||||
- is-decoded-cs : Flag to indicate whether decoder is used or not.
|
||||
|
||||
Example:
|
||||
|
||||
spi@e0007000 {
|
||||
compatible = "xlnx,zynq-spi-r1p6";
|
||||
clock-names = "ref_clk", "pclk";
|
||||
clocks = <&clkc 26>, <&clkc 35>;
|
||||
interrupt-parent = <&intc>;
|
||||
interrupts = <0 49 4>;
|
||||
num-cs = <4>;
|
||||
is-decoded-cs = <0>;
|
||||
reg = <0xe0007000 0x1000>;
|
||||
} ;
|
||||
4
u-boot/doc/device-tree-bindings/spi/spi_altera.txt
Normal file
4
u-boot/doc/device-tree-bindings/spi/spi_altera.txt
Normal file
@@ -0,0 +1,4 @@
|
||||
Altera SPI
|
||||
|
||||
Required properties:
|
||||
- compatible : should be "altr,spi-1.0".
|
||||
Reference in New Issue
Block a user