Converting a 7i76e config to 7c81/7i76 pair

More
3 years 2 months ago #279334 by acondit
You seem all worried about not using the device tree. I don't believe the device tree is the only way to solve the problem.
The problem that is my immediate concern load_rt hm2_rpspi is working with spi on Bookworm. I now have a RaspberryPi OS 11 (Bullseye) disk that I can load when I need to run mesaflash.
My lower priority concern is trying to get mesaflash to run on Bookworm without device trees. I found the driver source for spi.c and spidev.c in the Bookworm preempt rt kernel that I am running.

Please Log in or Create an account to join the conversation.

More
3 years 2 months ago #279340 by Cant do this anymore bye all
As PCW said
"but mesaflash does require the SPI device driver "

Which you wont have if you can't load the device tree overlay.
Anyways good luck.

Please Log in or Create an account to join the conversation.

More
3 years 2 months ago #279367 by Cant do this anymore bye all
Playing around with Bookworm first mesaflash is without a board connected, second is with board connected.

rmurphy@rpi4-20230612:~$ cat /etc/debian_version
12.0
rmurphy@rpi4-20230612:~$ ls /dev/spi*
/dev/spidev0.0 /dev/spidev0.1
rmurphy@rpi4-20230612:~$ sudo mesaflash --device 7c81 --addr /dev/spidev0.0 --spi --readhmid
sudo: unable to resolve host rpi4-20230612: Name or service not known
unable to set bpw32, fallback to bpw8
Unexpected cookie at 0100..0110:
00000000 00000000 00000000
No 7C81 board found
rmurphy@rpi4-20230612:~$ sudo mesaflash --device 7c81 --addr /dev/spidev0.0 --spi --readhmid
sudo: unable to resolve host rpi4-20230612: Name or service not known
unable to set bpw32, fallback to bpw8
Configuration Name: HOSTMOT2

General configuration information:

BoardName : MESA7C81
FPGA Size: 9 KGates
FPGA Pins: 144
Number of IO Ports: 3
Width of one I/O port: 19
Clock Low frequency: 100.0000 MHz
Clock High frequency: 200.0000 MHz
IDROM Type: 3
Instance Stride 0: 4
Instance Stride 1: 64
Register Stride 0: 256
Register Stride 1: 256

Modules in configuration:

Module: DPLL
There are 1 of DPLL in configuration
Version: 0
Registers: 7
BaseAddress: 7000
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes

Module: WatchDog
There are 1 of WatchDog in configuration
Version: 0
Registers: 3
BaseAddress: 0C00
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes

Module: IOPort
There are 3 of IOPort in configuration
Version: 0
Registers: 5
BaseAddress: 1000
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes

Module: QCount
There are 1 of QCount in configuration
Version: 2
Registers: 5
BaseAddress: 3000
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes

Module: SSerial
There are 1 of SSerial in configuration
Version: 0
Registers: 6
BaseAddress: 5B00
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 64 bytes

Module: StepGen
There are 3 of StepGen in configuration
Version: 2
Registers: 10
BaseAddress: 2000
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes

Module: PWM
There are 2 of PWM in configuration
Version: 0
Registers: 5
BaseAddress: 4100
ClockFrequency: 200.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes

Module: InM
There are 2 of InM in configuration
Version: 0
Registers: 5
BaseAddress: 8500
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes

Module: LED
There are 1 of LED in configuration
Version: 0
Registers: 1
BaseAddress: 0200
ClockFrequency: 100.000 MHz
Register Stride: 256 bytes
Instance Stride: 4 bytes

Configuration pin-out:

IO Connections for P1+Serial -> 7C81_0
Pin# I/O Pri. func Sec. func Chan Sec. Pin func Sec. Pin Dir

P1-01/DB25-01 0 IOPort StepGen 0 Step/Table1 (Out)
P1-02/DB25-14 1 IOPort None
P1-03/DB25-02 2 IOPort None
P1-04/DB25-15 3 IOPort None
P1-05/DB25-03 4 IOPort None
P1-06/DB25-16 5 IOPort InM 0 Input0 (In)
P1-07/DB25-04 6 IOPort InM 0 Input1 (In)
P1-08/DB25-17 7 IOPort InM 0 Input2 (In)
P1-09/DB25-05 8 IOPort InM 0 Input3 (In)
P1-11/DB25-06 9 IOPort QCount 0 Quad-A (In)
P1-13/DB25-07 10 IOPort QCount 0 Quad-B (In)
P1-15/DB25-08 11 IOPort QCount 0 Quad-IDX (In)
P1-17/DB25-09 12 IOPort None
P1-19/DB25-10 13 IOPort StepGen 0 Dir/Table2 (Out)
P1-21/DB25-11 14 IOPort None
P1-23/DB25-12 15 IOPort StepGen 2 Step/Table1 (Out)
P1-25/DB25-13 16 IOPort StepGen 2 Dir/Table2 (Out)
P5 3,6 17 IOPort SSerial 0 TXData0 (Out)
P6 3,6 18 IOPort SSerial 0 TXData1 (Out)

IO Connections for P2+Serial -> 7C81_1
Pin# I/O Pri. func Sec. func Chan Sec. Pin func Sec. Pin Dir

P2-01/DB25-01 19 IOPort StepGen 1 Step/Table1 (Out)
P2-02/DB25-14 20 IOPort None
P2-03/DB25-02 21 IOPort None
P2-04/DB25-15 22 IOPort InM 1 Input0 (In)
P2-05/DB25-03 23 IOPort InM 1 Input1 (In)
P2-06/DB25-16 24 IOPort InM 1 Input2 (In)
P2-07/DB25-04 25 IOPort InM 1 Input3 (In)
P2-08/DB25-17 26 IOPort InM 1 Input4 (In)
P2-09/DB25-05 27 IOPort InM 1 Input5 (In)
P2-11/DB25-06 28 IOPort None
P2-13/DB25-07 29 IOPort None
P2-15/DB25-08 30 IOPort None
P2-17/DB25-09 31 IOPort None
P2-19/DB25-10 32 IOPort StepGen 1 Dir/Table2 (Out)
P2-21/DB25-11 33 IOPort None
P2-23/DB25-12 34 IOPort PWM 0 PWM (Out)
P2-25/DB25-13 35 IOPort None
P5 TXEN 36 IOPort SSerial 0 TXEn0 (Out)
P6 TXEN 37 IOPort SSerial 0 TXEn1 (Out)

IO Connections for P7+Serial -> 7C81_2
Pin# I/O Pri. func Sec. func Chan Sec. Pin func Sec. Pin Dir

P7-01/DB25-01 38 IOPort None
P7-02/DB25-14 39 IOPort None
P7-03/DB25-02 40 IOPort None
P7-04/DB25-15 41 IOPort None
P7-05/DB25-03 42 IOPort None
P7-06/DB25-16 43 IOPort None
P7-07/DB25-04 44 IOPort None
P7-08/DB25-17 45 IOPort None
P7-09/DB25-05 46 IOPort None
P7-11/DB25-06 47 IOPort None
P7-13/DB25-07 48 IOPort None
P7-15/DB25-08 49 IOPort None
P7-17/DB25-09 50 IOPort None
P7-19/DB25-10 51 IOPort None
P7-21/DB25-11 52 IOPort None
P7-23/DB25-12 53 IOPort None
P7-25/DB25-13 54 IOPort None
P5 1,2 55 IOPort SSerial 0 RXData0 (In)
P6 1,2 56 IOPort SSerial 0 RXData1 (In)

Please Log in or Create an account to join the conversation.

More
2 years 2 months ago - 2 years 2 months ago #308181 by acondit
After about a year, I am back to trying to get this to work. I have updated to Bookworm.
I enable spi in config.
I have been able to talk to the 7c81/7i76 with mesaflash.
I edited my 7i76e hal file replacing 7i76e with 7c81.
When I tried to start linuxcnc I got an error associated with this line:
loadrt hm2_eth board_ip="10.10.10.10" config="num_encoders=0 num_pwmgens=0 num_stepgens=3 sserial_port_0=0xxxxx"
I assume I need to replace hm2_eth with hm2_rspi and take out the board_ip="10.10.10.10"
Anything else I need to do?
Thanks in advance,
Alan
Last edit: 2 years 2 months ago by acondit. Reason: Add a little more info

Please Log in or Create an account to join the conversation.

More
2 years 2 months ago #308185 by PCW
That should about do it as long as you have 7C81+7I76 firmware installed on the 7C81

Please Log in or Create an account to join the conversation.

More
2 years 2 months ago #308215 by acondit
I did:
sudo mesaflash --device 7c81 --spi --addr /dev/spidev0.0 --write 7c81_7i76x2d.bit
and
sudo mesaflash --device 7c81 --spi --addr /dev/spidev0.0 --reload
when I tried to run linuxcnc I got an error about no hm2_rspi.so found.
How do I make sure hm2_rspi is on my system?

Please Log in or Create an account to join the conversation.

Time to create page: 0.256 seconds
Powered by Kunena Forum