SPI1 CS pin on Orange Pi Zero +2???


2 2

Recommended Posts


I'm working on getting a small touch screen working on my OPiZ+2.

It's a Waveshare 4.3 with a resistive touchpanel (using HDMI for displaying).

I've had some issues getting the touch panel to work, and just wanted to share my findings, and ask whether I have misunderstood something.


The waveshare wiki does provide a script for setting up the panel, but I think it's more aimed at a raspberry pi, and it didn't get the touch panel working.


I manually added spi-spidev and spi-add-cs1 to to armbianEnv.txt.

I also added the parameters:



(took me a bit to figure out that I had to use spi1 instead of spi0, but so far so good).

I also made a dts for the touchpanel chip - ads7846.dts: (using PA2 - never mind where it says PA7)



/ {
	compatible = "allwinner,sun4i-a10", "allwinner,sun7i-a20", "allwinner,sun8i-h3", "allwinner,sun50i-a64", "allwinner,sun50i-h5";

	fragment@0 {
		target = <&pio>;
		__overlay__ {
			ads7846_pins: ads7846_pins {
				pins= "PA2";
				function = "irq";

	fragment@1 {
		target = <&spi1>;
		__overlay__ {
			#address-cells = <1>;
			#size-cells = <0>;
			status = "okay";
			ads7846@0 {
				compatible = "ti,ads7846";
				reg = <0>; /* Chip Select 0 */ // vi prøver med 1
				status = "okay";
				pinctrl-names = "default";
				pinctrl-0 = <&ads7846_pins>;
				spi-max-frequency = <2000000>;
				interrupt-parent = <&pio>;
				interrupts = <0 2 2>; /* PA7 IRQ_TYPE_EDGE_FALLING */
				pendown-gpio = <&pio 0 2 0>; /* PA7 */

				/* driver defaults, optional */
				ti,x-min = /bits/ 16 <0>;
				ti,y-min = /bits/ 16 <0>;
				ti,x-max = /bits/ 16 <0x0FFF>;
				ti,y-max = /bits/ 16 <0x0FFF>;
				ti,pressure-min = /bits/ 16 <0>;
				ti,pressure-max = /bits/ 16 <0xFFFF>;
				ti,x-plate-ohms = /bits/ 16 <400>;



Anyways, I still could not get the touch to work.

After many hours of messing around, I found an image of the pins on the orange pi zero here:


which seems to indicate that SPI_CS is on pin PA13 - not PA10.......

The connector on the display has the CS connection on pin nr. 26.....

So I tried using wires between the OPi and the display connector, using pin nr. 24 (PA13) instead, and touch came to life!

So far so good - but does this mean I'm doing something wrong? Looking through the dts overlays, it seems that it SHOULD be PA10 for the SPI_CS....??

IS it possible to get the board to use PA10 instead of PA13, so I can connect the display directly on the board??





Link to post
Share on other sites

Armbian is a community driven open source project. Do you like to contribute your code?

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


2 2