Add lscanfd.ko (6965e5fa1627)

lscanfd.ko is in driver/net/can/ls_can.

usage:
insmod lscanfd.ko
insmod lscanfd_platform.ko
This commit is contained in:
tao89959
2024-08-12 20:22:20 +08:00
committed by loongson
parent 79c4598505
commit b212174b4f
18 changed files with 264 additions and 37 deletions
@@ -25,6 +25,8 @@
spi1 = &spi1;
spi2 = &spi2;
spi3 = &spi3;
ethernet0 = &gmac0;
ethernet1 = &gmac1;
};
cpus {
@@ -123,6 +125,10 @@
pinctrl-single,bits = <0x10 0x000000a0 0xf00000f0>;
};
gmac1_pins: pinmux_G44_G55_as_gmac1 {
pinctrl-single,bits = <0x8 0x55000000 0xff000000
0xc 0x00005555 0x0000ffff>;
};
i2c0_pins: pinmux_G48_G49_as_i2c0 {
pinctrl-single,bits = <0xc 0x0000000f 0x0000000f>;
};
@@ -151,6 +157,10 @@
pinctrl-single,bits = <0x10 0x000000ff 0x000000ff>;
};
spi2_cs_as_gpio: pinmux_G64_G66_as_spi2 {
pinctrl-single,bits = <0x10 0x0000003f 0x000000ff>;
};
can0_pins: pinmux_G68_G69_as_can0 {
pinctrl-single,bits = <0x10 0x00000f00 0x00000f00>;
};
@@ -436,8 +446,8 @@
interrupt-names = "macirq";
dma-mask = <0xffffffff 0xffffffff>;
phy-mode = "rgmii";
// pinctrl-0 = <&gmac1_pins>;
// pinctrl-names = "default";
pinctrl-0 = <&gmac1_pins>;
pinctrl-names = "default";
snps,pbl = <32>;
status = "disabled";
};
@@ -483,46 +493,58 @@
};
can0: can@0x16110000 {
compatible = "ls,lscanfd";
compatible = "loongson,ls-canfd";
reg = <0 0x16110000 0 0x400>;
ls,clock-frequency = <200000000>;
ls,canfd-dmarx;
interrupt-parent = <&icu>;
interrupts = <8>;
pinctrl-0 = <&can0_pins>;
pinctrl-names = "default";
dmas = <&dma 0 0xaae>;
dma-names = "rx";
status = "disabled";
};
can1: can@0x16111000 {
compatible = "ls,lscanfd";
compatible = "loongson,ls-canfd";
reg = <0 0x16110400 0 0x400>;
ls,clock-frequency = <200000000>;
ls,canfd-dmarx;
interrupt-parent = <&icu>;
interrupts = <9>;
pinctrl-0 = <&can1_pins>;
pinctrl-names = "default";
dmas = <&dma 1 0xaae>;
dma-names = "rx";
status = "disabled";
};
can2: can@0x16112000 {
compatible = "ls,lscanfd";
compatible = "loongson,ls-canfd";
reg = <0 0x16110800 0 0x400>;
ls,clock-frequency = <200000000>;
ls,canfd-dmarx;
interrupt-parent = <&icu>;
interrupts = <10>;
pinctrl-0 = <&can2_pins>;
pinctrl-names = "default";
dmas = <&dma 2 0xaae>;
dma-names = "rx";
status = "disabled";
};
can3: can@0x16113000 {
compatible = "ls,lscanfd";
compatible = "loongson,ls-canfd";
reg = <0 0x16110c00 0 0x400>;
ls,clock-frequency = <200000000>;
ls,canfd-dmarx;
interrupt-parent = <&icu>;
interrupts = <11>;
pinctrl-0 = <&can3_pins>;
pinctrl-names = "default";
dmas = <&dma 3 0xaae>;
dma-names = "rx";
status = "disabled";
};
@@ -622,7 +644,7 @@
status = "disabled";
};
iodma: iodma@0x1612c000{
dma: dma@0x1612c000{
compatible = "loongson,lsia-dma";
reg = <0 0x1612c000 0 0x100>;
#config-nr = <2>;
@@ -788,8 +810,8 @@
audio: audio@0x16114000 {
compatible = "loongson,ls-pcm-generic-audio";
reg = <0 0x16114000 0 0x4000>;
dmas = <&iodma 0 0xaf
&iodma 1 0xbf>;
dmas = <&dma 0 0xaf
&dma 1 0xbf>;
dma-names = "i2s_record", "i2s_play";
dma-mask = <0xffffffff 0xffffffff>;
status = "disabled";