What is name of gpio hardware on a rock64?
#1
The driver code checks for it, and will return a valid answer if its a bcm2709, bcm2835, bcm2836, or a bcm2837. Code is:
Code:
#define CPUINFO_BUFSIZE (16*1024) // Should be large enough for now static platform_t check_platform(void) { FILE *fp; char *buf; size_t fsize; platform_t rv = RPI_UNSUPPORTED; if(!(buf = rtapi_kmalloc(CPUINFO_BUFSIZE, RTAPI_GFP_KERNEL))) { rtapi_print_msg(RPSPI_ERR, "hm2_rpspi: No dynamic memory\n"); return RPI_UNSUPPORTED; } if(!(fp = fopen("/proc/cpuinfo", "r"))) { rtapi_print_msg(RPSPI_ERR, "hm2_rpspi: Failed to open /proc/cpuinfo\n"); goto check_exit; } fsize = fread(buf, 1, CPUINFO_BUFSIZE - 1, fp); fclose(fp); // we have truncated cpuinfo return unsupported if(!fsize || fsize == CPUINFO_BUFSIZE - 1) { rtapi_print_msg(RPSPI_ERR, "hm2_rpspi: Platform detection memory buffer too small\n"); goto check_exit; } /* NUL terminate the buffer */ buf[fsize] = '\0'; if(strstr(buf, "BCM2708")) { rv = RPI_1; } else if(strstr(buf, "BCM2709")) { rv = RPI_2; //for RPI 3 too } else if(strstr(buf, "BCM2835")) { // starting with 4.8 kernels revision tag has board details char *rev_val = strstr(buf, "Revision"); if(rev_val) { char *rev_start = strstr(rev_val, ": "); unsigned long rev = strtol(rev_start + 2, NULL, 16); if(rev <= 0xffff) rv = RPI_1; // pre pi2 revision scheme else { switch((rev & 0xf000) >> 12) { case 0: //bcm2835 rv = RPI_1; break; case 1: //bcm2836 case 2: //bcm2837 rv = RPI_2; // peripheral base is same on pi2/3 break; default: break; } } } } check_exit: rtapi_kfree(buf); return rv; } And all the c style indenting has been stripped, so how do I post code?  This sucks.



Thanks everybody.

Cheers, Gene83
  Reply


Messages In This Thread
What is name of gpio hardware on a rock64? - by gene83 - 10-04-2017, 12:04 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  irradium (based on crux linux) Rock64 riscv64, aarch64 mara 14 21,648 09-27-2026, 11:55 AM
Last Post: mara
  rAudio for Rock64 V2/Pine A64+ shinzuka 14 5,185 07-31-2026, 03:20 AM
Last Post: shinzuka
  DietPi OS for ROCK64 MichaIng 43 97,906 07-22-2026, 01:47 PM
Last Post: MichaIng
  Rock64 v3 Tx/RX and GPIO connections for 3dprinter MinimumJargon 2 2,151 01-28-2026, 04:04 AM
Last Post: alicesphere
  Rock64 - not booting after Armbian update helpmerock 7 7,680 01-24-2026, 04:44 PM
Last Post: ff255
  Xen hypervisor on Rock64 tumbleweed 6 13,670 11-03-2025, 09:25 AM
Last Post: darkfader
  can rock64 4gb ram run entirely on free software? heocb 1 4,044 01-07-2025, 05:47 AM
Last Post: KC9UDX
  Upgrading ancient Rock64 timxjr1300 1 4,232 11-26-2024, 09:47 AM
Last Post: dmitrymyadzelets
  arch rock64 does not boot nemnob 1 5,108 09-20-2024, 11:18 AM
Last Post: AwU2HBg
Smile First Lakka image for Rock64! Luke 47 118,736 09-01-2024, 06:05 AM
Last Post: RaymondDay

Forum Jump:


Users browsing this thread: 1 Guest(s)