forked from IQ.Lvbs/IQ.Pilot
IQ.Pilot Prebuilt Release @ ab07000
This commit is contained in:
7
panda/drivers/spi/.gitignore
vendored
Normal file
7
panda/drivers/spi/.gitignore
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
spidev.c
|
||||
*.ko
|
||||
*.cmd
|
||||
*.mod
|
||||
*.symvers
|
||||
*.order
|
||||
*.mod.c
|
||||
14
panda/drivers/spi/Makefile
Normal file
14
panda/drivers/spi/Makefile
Normal file
@@ -0,0 +1,14 @@
|
||||
obj-m += spidev_panda.o
|
||||
|
||||
KDIR := /lib/modules/$(shell uname -r)/build
|
||||
PWD := $(shell pwd)
|
||||
|
||||
# GCC9 bug, apply kernel patch instead?
|
||||
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0b999ae3614d09d97a1575936bcee884f912b10e
|
||||
ccflags-y := -Wno-missing-attributes
|
||||
|
||||
default:
|
||||
$(MAKE) -C $(KDIR) M=$(PWD) modules
|
||||
|
||||
clean:
|
||||
$(MAKE) -C $(KDIR) M=$(PWD) clean
|
||||
27
panda/drivers/spi/load.sh
Executable file
27
panda/drivers/spi/load.sh
Executable file
@@ -0,0 +1,27 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
|
||||
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null && pwd)"
|
||||
cd $DIR
|
||||
|
||||
make -j8
|
||||
|
||||
sudo su -c "echo spi0.0 > /sys/bus/spi/drivers/spidev/unbind" || true
|
||||
|
||||
sudo dmesg -C
|
||||
|
||||
#sudo rmmod -f spidev_panda
|
||||
sudo rmmod spidev_panda || true
|
||||
sudo insmod spidev_panda.ko
|
||||
|
||||
sudo su -c "echo 'file $DIR/spidev_panda.c +p' > /sys/kernel/debug/dynamic_debug/control"
|
||||
sudo su -c "echo 'file $DIR/spi_panda.h +p' > /sys/kernel/debug/dynamic_debug/control"
|
||||
|
||||
sudo lsmod
|
||||
|
||||
echo "loaded"
|
||||
ls -la /dev/spi*
|
||||
sudo chmod 666 /dev/spi*
|
||||
ipython -c "from panda import Panda; print(Panda.list())"
|
||||
KERN=1 ipython -c "from panda import Panda; print(Panda.list())"
|
||||
dmesg
|
||||
33
panda/drivers/spi/patch
Normal file
33
panda/drivers/spi/patch
Normal file
@@ -0,0 +1,33 @@
|
||||
53c53,54
|
||||
< #define SPIDEV_MAJOR 153 /* assigned */
|
||||
---
|
||||
> int SPIDEV_MAJOR = 0;
|
||||
> //#define SPIDEV_MAJOR 153 /* assigned */
|
||||
354a356,358
|
||||
>
|
||||
> #include "spi_panda.h"
|
||||
>
|
||||
413,414c417,419
|
||||
< retval = __put_user((spi->mode & SPI_LSB_FIRST) ? 1 : 0,
|
||||
< (__u8 __user *)arg);
|
||||
---
|
||||
> retval = panda_transfer(spidev, spi, arg);
|
||||
> //retval = __put_user((spi->mode & SPI_LSB_FIRST) ? 1 : 0,
|
||||
> // (__u8 __user *)arg);
|
||||
697,698d701
|
||||
< { .compatible = "rohm,dh2228fv" },
|
||||
< { .compatible = "lineartechnology,ltc2488" },
|
||||
831c834
|
||||
< .name = "spidev",
|
||||
---
|
||||
> .name = "spidev_panda",
|
||||
856c859
|
||||
< status = register_chrdev(SPIDEV_MAJOR, "spi", &spidev_fops);
|
||||
---
|
||||
> status = register_chrdev(0, "spi", &spidev_fops);
|
||||
860c863,865
|
||||
< spidev_class = class_create(THIS_MODULE, "spidev");
|
||||
---
|
||||
> SPIDEV_MAJOR = status;
|
||||
>
|
||||
> spidev_class = class_create(THIS_MODULE, "spidev_panda");
|
||||
12
panda/drivers/spi/pull-src.sh
Executable file
12
panda/drivers/spi/pull-src.sh
Executable file
@@ -0,0 +1,12 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
|
||||
DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null && pwd)"
|
||||
cd $DIR
|
||||
|
||||
rm -f spidev.c
|
||||
wget https://raw.githubusercontent.com/commaai/agnos-kernel-sdm845/master/drivers/spi/spidev.c
|
||||
|
||||
# diff spidev.c spidev_panda.c > patch
|
||||
# git diff --no-index spidev.c spidev_panda.c
|
||||
patch -o spidev_panda.c spidev.c -i patch
|
||||
Reference in New Issue
Block a user