[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openbsd-arm
Subject:    Re: possible bug in sxitwi.c for orange pi one (H3)
From:       "Stephen Graf" <s_graf () telus ! net>
Date:       2017-09-26 21:16:50
Message-ID: 006e01d3370c$c6371430$52a53c90$ () telus ! net
[Download RAW message or body]

Artturi did all the coding and I helped with the testing.
I have built a thermostat and weather station on a NTC CHIP device with Linux but I \
prefer to use openbsd.  For my requirements an orange pi one seemed sufficient and so \
I started working to get openbsd running even though it is not officially supported.  \
My temperature, pressure, humidity sensor, BMW280, is on the i2c bus and so I had to \
get the sxitwi driver working. Artturi, who ported the sxitwi driver, has been \
extremely helpful (and patient) in setting up the clock structure and driver and code \
for the BME280 device. The orange pi one is an Allwinner H3 device and the driver was \
written for a10 and a20. The specs seemed to indicate that the a20 and h3 were very \
similar and it was not until the driver did not work that I discovered that there is \
a one bit difference that created a problem. Artturi has written code to take care of \
the change. How I go to where I am is too long a story for an email. Suffice it to \
say that I wrote my first computer program in 1966 (Fortran) and as an engineer have \
worked on both hardware and software development from microprocessors to large \
clusters of UNIX servers.

-----Original Message-----
From: owner-arm@openbsd.org [mailto:owner-arm@openbsd.org] On Behalf Of Alfred Morgan
Sent: Tuesday, September 26, 2017 1:34 PM
To: Stephen Graf <s_graf@telus.net>
Cc: arm@openbsd.org
Subject: Re: possible bug in sxitwi.c for orange pi one (H3)

Hi Stephen,

Congratulations on finding that driver bug detail. I would like to know more about \
how you were able to find such a thing. I am really interested in being able to get \
to the level to do what you just did. Would you care to share your detailed \
experience on how you were able to find this? Some questions that I have is how in \
depth is your knowledge in the hardware, OS, and C language? and how did you get to \
that knowledge level? I know you said you are "not an accomplished c programmer" but \
you seem to be getting along really well.

> Reading the H3 datasheet would lead me to believe that the switwi 
> driver
should work.

How did you come up with the idea to focus on the sxitwi driver?

> I modified the dtb and the sxitwi driver to set up H3 compatibility,
rebuilt
the kernel...

How did you know what/how to change in the dtb file? Did you cross-compile and how \
did you set that up? I imagine the development cycle is really slow having to \
cross-compile, copy files to an sd card, plug sd card into the pi, boot up, wait, and \
then... how do you know what is happening? maybe something in the dtb was wrong? how \
would you know exactly? and if something did go wrong then you would probably spend a \
massive amount of time hunting down the issue and then not to mention going through \
the bulky cycle of coding/compiling/copying/booting. How do you manage?

> I changed the code to set the bit after a status change and the data
started
flowing!

How did you figure a bit needed to be set after a status change when this fact is \
buried 445 pages deep in documentation?

Thanks,
--
-alfred


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic