Example #1
0
uint8_t w25q80bv_get_status(void)
{
  uint8_t value;

  gpio_clear(PORT_SSP0_SSEL, PIN_SSP0_SSEL);
  ssp_transfer(SSP0_NUM, W25Q80BV_READ_STATUS1);
  value = ssp_transfer(SSP0_NUM, 0xFF);
  gpio_set(PORT_SSP0_SSEL, PIN_SSP0_SSEL);

  return value;
}
Example #2
0
int command_lpc_ssp(struct cli *t, int argc, char **argv)
{
	int i;
	char *end;
	uint8_t rb, tb;
	bool_t flag;
	if(argc) {
		if(!strcmp("speak", argv[0])) {
			if(argc > 1) {
				printf("exchanging %d words:\n", argc - 1);
				//csel_scp(1);
				for(i = 1; i < argc; i++) {
					if(scan_byte(argv[i], &tb)) {
						rb = ssp_transfer(tb);
						printf(" %02x -> %02x\n", tb, rb);
					} else {
						printf(" %s invalid\n", argv[i]);
						break;
					}
				}
				//csel_scp(0);
			}
		} else if (!strcmp("trace", argv[0])) {
			if(argc > 1) {
				if(scan_bool(argv[1], &flag)) {
					ssp_enable_trace(flag);
				}
			} else {
				ssp_enable_trace(BOOL_TRUE);
			}
		}
	}
	return 0;
}
Example #3
0
void lcdWrite(uint8_t cd, uint8_t data) {
    uint16_t frame = 0x0;

    frame = cd << 8;
    frame |= data;

	ssp_transfer(LCD_SSP, frame );
}
Example #4
0
/* Release power down / Device ID */  
uint8_t w25q80bv_get_device_id(void)
{
  uint8_t value;

  gpio_clear(PORT_SSP0_SSEL, PIN_SSP0_SSEL);
  ssp_transfer(SSP0_NUM, W25Q80BV_DEVICE_ID);

  /* Read 3 dummy bytes */
  value = ssp_transfer(SSP0_NUM, 0xFF);
  value = ssp_transfer(SSP0_NUM, 0xFF);
  value = ssp_transfer(SSP0_NUM, 0xFF);
  /* Read Device ID shall return 0x13 for W25Q80BV */
  value = ssp_transfer(SSP0_NUM, 0xFF);
  
  gpio_set(PORT_SSP0_SSEL, PIN_SSP0_SSEL);

  return value;
}
Example #5
0
void w25q80bv_get_unique_id(w25q80bv_unique_id_t* unique_id)
{
  int i;
  uint8_t value;
  uint32_t addr;

  gpio_clear(PORT_SSP0_SSEL, PIN_SSP0_SSEL);

  if(device_id == W25Q80BV_DEVICE_ID_RES)
  {
    ssp_transfer(SSP0_NUM, W25Q80BV_UNIQUE_ID);

    /* Read 4 dummy bytes */
    for(i=0; i<4; i++)
    value = ssp_transfer(SSP0_NUM, 0xFF);

    /* Read Unique ID 64bits (8*8) */
    for(i=0; i<8; i++)
    {
      value = ssp_transfer(SSP0_NUM, 0xFF);
      unique_id->id_8b[i]  = value;
    }
  }else if(device_id == S25FL032P_DEVICE_ID_RES)
  {
    addr = S25FL032P_OTP_SN1_ADDR;
    ssp_transfer(SSP0_NUM, S25FL032P_READ_OTP);
    ssp_transfer(SSP0_NUM, (addr & 0xFF0000) >> 16);
    ssp_transfer(SSP0_NUM, (addr & 0xFF00) >> 8);
    ssp_transfer(SSP0_NUM, addr & 0xFF);
    ssp_transfer(SSP0_NUM, 0xFF); /* Dummy byte */
    
    /* Read Unique ID 64bits (8*8) */
    for(i=0; i<8; i++)
    {
      value = ssp_transfer(SSP0_NUM, 0xFF);
      unique_id->id_8b[i]  = value;
    }
  }