mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 19:30:30 +09:00
spicc: add dma and enhance features of axg/txhd/g12a/g12b.
PD#164751: spicc: add dma and enhance features of axg/txhd/g12a/g12b. 1. fix TESTREG bits defination error; 2. fix cs-gpio error in slave setup; 3. reset fifo to avoid successive fifo error before tansfer; 4. add enhance feature of cs-preload delay control; 5. add auto io delay control; 6. add enhance feature of tt/ti delay control; 7. fix clk error which occurred certainly when sencond spicc added; 8. surpport both auto core clk and fixed core clk rate setting: set dts "fixed_core_rate = <200000000(example)>" to use fixed core rate. otherwise, to use auto core clk. 9. support loop-back mode; 10. support DMA transfer; 11. must delete 1000M from parent clk. 12. It will be wrong when enhance divider=2. we have to add a flag CLK_DIVIDER_PROHIBIT_ZERO to shield against it. Change-Id: I820a52e6d31d3fe2e3615a0f4c5a07c17d11914d Signed-off-by: Sunny Luo <sunny.luo@amlogic.com>
This commit is contained in:
@@ -31,6 +31,9 @@ Required properties:
|
||||
"amlogic,meson-gx-spicc" on Amlogic GX and compatible SoCs.
|
||||
"amlogic,meson-txlx-spicc" on Amlogic TXLX and compatible SoCs
|
||||
"amlogic,meson-axg-spicc" on Amlogic AXG and compatible SoCs
|
||||
"amlogic,meson-g12a-spicc" on Amlogic G12A and compatible SoCs
|
||||
"amlogic,meson-g12b-spicc", "amlogic,meson-g12a-spicc"
|
||||
on Amlogic G12B and compatible SoCs
|
||||
- reg: physical base address and length of the controller registers
|
||||
- interrupts: The interrupt specifier
|
||||
- clock-names: Must contain "core"
|
||||
@@ -55,7 +58,7 @@ Example :
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
spicc_a: spi@13000 {
|
||||
spicc0: spi@13000 {
|
||||
compatible = "amlogic,meson-txlx-spicc";
|
||||
reg = <0x0 0x13000 0x0 0x3c>;
|
||||
interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
|
||||
@@ -63,16 +66,56 @@ Example :
|
||||
clock-names = "core";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
spicc_b: spi@15000 {
|
||||
spicc1: spi@15000 {
|
||||
compatible = "amlogic,meson-txlx-spicc";
|
||||
reg = <0x0 0x15000 0x0 0x3c>;
|
||||
interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clkc CLKID_SPICC1>;
|
||||
clock-names = "core";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
spicc0: spi@13000 {
|
||||
compatible = "amlogic,meson-axg-spicc";
|
||||
reg = <0x0 0x13000 0x0 0x40>;
|
||||
interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clkc CLKID_SPICC0>,
|
||||
<&clkc CLKID_SPICC_COMP>;
|
||||
clock-names = "core", "delay";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
spicc1: spi@15000 {
|
||||
compatible = "amlogic,meson-axg-spicc";
|
||||
reg = <0x0 0x15000 0x0 0x40>;
|
||||
interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clkc CLKID_SPICC1>,
|
||||
<&clkc CLKID_SPICC_COMP>;
|
||||
clock-names = "core", "delay";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
spicc0: spi@13000 {
|
||||
compatible = "amlogic,meson-g12a-spicc";
|
||||
reg = <0x0 0x13000 0x0 0x40>;
|
||||
interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clkc CLKID_SPICC0_COMP>;
|
||||
clock-names = "core";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
spicc1: spi@15000 {
|
||||
compatible = "amlogic,meson-g12a-spicc";
|
||||
reg = <0x0 0x15000 0x0 0x40>;
|
||||
interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <&clkc CLKID_SPICC1_COMP>;
|
||||
clock-names = "core";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user