All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jonathan Cameron <jic23-KWPb1pKIrIJaa/9Udqfwiw@public.gmane.org>
To: Jean Delvare <khali-PUYAD+kWke1g9hUCZPvPmw@public.gmane.org>
Cc: i2c-GZX6beZjE8VD60Wz+7aTrA@public.gmane.org
Subject: Re: MAX1236 with smbus (CS5536 ACB0)
Date: Mon, 13 Oct 2008 12:11:37 +0100	[thread overview]
Message-ID: <48F32CE9.8000109@cam.ac.uk> (raw)
In-Reply-To: <20081013092548.3d58a320-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>




>>> root@OpenWrt:/# i2cdetect -y 0
>>>      0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
>>> 00:          -- -- -- -- -- -- -- -- -- -- -- -- --
>>> 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
>>> 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
>>> 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
>>> 40: -- -- -- -- -- -- -- -- -- -- -- -- 4c -- -- --
>>> 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
>>> 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
>>> 70: -- -- -- -- -- -- -- --    
>> but i cant access the MAX1236 on slave address 0x34.
>> (0x4c is the onbard LM90)
> 
> Maybe it's not wired properly?
> 
> If it is wired properly, then another possibility is that the MAX1236
> is doing clock stretching beyond what the CS5536 supports...
> 
>> Does "I2C no" means the CS5536 is a plain smbus without i2c support?
> 
> Yes and no. It means that the scx200_acb driver runs the CS5536 in
> SMBus mode without plain I2C support. But there is also the scx200_i2c
> driver (which I would love to see go away in favor of i2c-gpio but
> that's another story) which can use the same pins as GPIO to do plain
> I2C. If I read the MAX1236 datasheet properly, it uses transactions
> which aren't part of the SMBus set, so you may need to use the
> scx200_i2c driver, depending on what exactly you need to do with the
> MAX1236. There are still a few SMBus transactions which should work
> though, and that may be enough.
 

Hi,

A driver that should work with this chip is part of the
iio subsystem, so I have a fair bit of familiarity (though
only via 1238 rather than this exact model)

Done a bit of digging around and my original test code was

#include <fcntl.h>

#include "i2c-dev.h"

int main(int argc, char* argv[])
{
  
  struct i2c_smbus_ioctl_data arg;
  union i2c_smbus_data data;
  int adaptor_nr=atoi(argv[1]); //check this
  char filename[20];
  sprintf(filename,"/dev/i2c-%d",adaptor_nr);

  int file;
  if((file = open(filename, O_RDWR))<0)
    {
      printf("could not open /dev/i2c-%u\n", adaptor_nr);
      exit(-1);
    }
  if(ioctl(file,I2C_SLAVE, 0x34) < 0)
    {
      printf("could not set slave address \n");
      return -1;
    }
  
  arg.size = I2C_SMBUS_BYTE;
  arg.read_write = I2C_SMBUS_WRITE;
  arg.command = I2C_SMBUS_BYTE;
  
  data.byte = 8;
  arg.data = &data;
  
  char buf[2] = {0x79, 0x92};
  write(file,  buf,2);
  int i;
  for(i = 0; i < 20; i++)
    {
      read(file,buf,2);
      
      unsigned int a =0;
      a = (buf[0] & 0xF) << 8 | buf[1] ;
      printf("reading %u\n",a);

        sleep(1);
    }

}

No idea why I did it without using the smbus_write commands
though. The iio driver is i2c_transfers I'm afraid.

as for i2c detect, I've just blugeoned it into building for
the pxa271 board I'm using and it picks up a max1239 just fine.

Good luck!

Jonathan


_______________________________________________
i2c mailing list
i2c-GZX6beZjE8VD60Wz+7aTrA@public.gmane.org
http://lists.lm-sensors.org/mailman/listinfo/i2c

  parent reply	other threads:[~2008-10-13 11:11 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-13  1:20 MAX1236 with smbus (CS5536 ACB0) Andreas Seidler
     [not found] ` <48F2A270.8060307-bXdiauyh1GQ7K2kJdssfr+TW4wlIGRCZ@public.gmane.org>
2008-10-13  7:25   ` Jean Delvare
     [not found]     ` <20081013092548.3d58a320-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
2008-10-13 11:11       ` Jonathan Cameron [this message]
     [not found]         ` <48F32CE9.8000109-KWPb1pKIrIJaa/9Udqfwiw@public.gmane.org>
2008-10-15  1:13           ` Andreas Seidler
2008-10-15 11:10             ` Jonathan Cameron
     [not found]               ` <48F5CF88.2030500-KWPb1pKIrIJaa/9Udqfwiw@public.gmane.org>
2008-10-15 13:06                 ` Andreas Seidler
2008-10-15 15:14                   ` Jonathan Cameron
     [not found]                     ` <48F608E7.9040309-KWPb1pKIrIJaa/9Udqfwiw@public.gmane.org>
2008-10-15 17:23                       ` Andreas Seidler
2008-10-15  1:01       ` Andreas Seidler
2008-10-15  8:17         ` Jean Delvare
     [not found]           ` <20081015101736.34e1c11e-ig7AzVSIIG7kN2dkZ6Wm7A@public.gmane.org>
2008-10-16 18:12             ` Andreas Seidler
2008-10-16 18:29               ` Marco Costa
2008-10-16 21:25             ` Jordan Crouse
2008-10-28 20:27         ` Michelle Konzack

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=48F32CE9.8000109@cam.ac.uk \
    --to=jic23-kwpb1pkirijaa/9udqfwiw@public.gmane.org \
    --cc=i2c-GZX6beZjE8VD60Wz+7aTrA@public.gmane.org \
    --cc=khali-PUYAD+kWke1g9hUCZPvPmw@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.