Hello,
I successfully used the zed_oled device under /dev/ with the original SD Card that came with the board. Therefore I used the post from ZynqGeek (http://www.zedboard.org/content/zedboard-oled) and the Octave/Matlab script from the first reply.
Now I wanted to add the OLED ability to my own Planahead/Linux project. Therefore I added the PMOD driver to the kernel (menuconfig -> devices-> PMOD -> PMODOLED) and included the following into the devicetree (Kernel documentation pmodoled.txt) :
zed_oled {
compatible = "dglnt,pmodoled-gpio";
/* GPIO Pins */
vbat-gpio = <&gpio 55 0>;
vdd-gpio = <&gpio 56 0>;
res-gpio = <&gpio 57 0>;
dc-gpio = <&gpio 58 0>;
/* SPI-GPIOs */
spi-bus-num = <2>;
spi-sclk-gpio = <&gpio 59 0>;
spi-sdin-gpio = <&gpio 60 0>;
};
Thereby gpio referece to:
gpio: gpio@e000a000 {
tcompatible = "xlnx,ps7-gpio-1.00.a";
treg = <0xe000a000 0x1000>;
tinterrupts = <0 20 0>;
tinterrupt-parent = <&gic>;
tgpio-controller;
t#gpio-cells = <2>;
};
At this point I ask myself is a real hardware SPI0 or SPI1 of the PS connected to those pins, since it seems to be an SPI connection towards the OLED and do I have to configure that within Planahead. Or in the other case is the SPI imitated by the Linux driver? I also had a look into the schematic and constrain file to make sure the Signals are connected to the right pins:
NET OLED_DC LOC = U10 | IOSTANDARD=LVCMOS33; # "OLED-DC"
NET OLED_RES LOC = U9 | IOSTANDARD=LVCMOS33; # "OLED-RES"
NET OLED_SCLK LOC = AB12 | IOSTANDARD=LVCMOS33; # "OLED-SCLK"
NET OLED_SDIN LOC = AA12 | IOSTANDARD=LVCMOS33; # "OLED-SDIN"
NET OLED_VBAT LOC = U11 | IOSTANDARD=LVCMOS33; # "OLED-VBAT"
NET OLED_VDD LOC = U12 | IOSTANDARD=LVCMOS33; # "OLED-VDD"
Still Iu2019m stuck since no device entry is created within the dev folder and no entry of the oled can be seen within /proc/device-tree/amba@0/... Or /proc/iomem/. There an SPI e000d000 is stated even if not declared within the devicetree, but unsure if it is related to the OLED.
Thanks for help
eactor