Kabouik has quit [Remote host closed the connection]
vakkov has joined #neo900
merlin1991 has quit [Remote host closed the connection]
merlin1991 has joined #neo900
vakkov has quit [Ping timeout: 265 seconds]
vakkov has joined #neo900
itbaron has joined #neo900
jonsger has joined #neo900
brendafdez has joined #neo900
vakkov has quit [Ping timeout: 272 seconds]
vakkov has joined #neo900
tomeff has quit [Ping timeout: 255 seconds]
tomeff has joined #neo900
Pali has joined #neo900
jonsger has quit [Quit: jonsger]
arcean has joined #neo900
mzki has quit [Quit: leaving]
arcean has quit [Quit: App terminated!]
modem has quit [Remote host closed the connection]
<DocScrutinizer05>
email inquiry >> 2 Could you list which things will contain proprietary software/binary blobs?<< I honestly don't know if I'm able to explain to people that we don't even know which of the chips we use contain some contain any proprietary software. There's definitely some software in the 9-axis accelerometer, and afaik even Nokia's ALS has some software. The mixed signal programmable matrix chip SLG46721V (http://www.silego.com/buy/
<DocScrutinizer05>
index.php?main_page=product_info&cPath=56&products_id=323) evidently has some limited amount of software built in. --- What was the question?
<DocScrutinizer05>
the CPU has some hardcoded 'proprietary' bootloader in ROM that's unknown detail.
<DocScrutinizer05>
the PMIC probably also has some software inside
<DocScrutinizer05>
the LCD controller possibly has some software
<DocScrutinizer05>
the touchscreen controller evidently has a firmware
<DocScrutinizer05>
of course WLAN BT WWAN have firmware, luckily we presuably can update these
<DocScrutinizer05>
camera chip has some software I guess. Probably both of them
<DocScrutinizer05>
bq24xxx and bq27xxx both have software for sure
<DocScrutinizer05>
LP55321 probably has some software (microcode) to execute the LED pattern programs
<DocScrutinizer05>
thinking of it I realize I can't tell where 'software' starts and 'configuration' ends. Is a matrix with efuses already software? Or a mask programmed ROM? Or a hardwired sequence of sequential (or parallel) operations of the logic blocks in a CPLD or ASIC or standard IC
<edwin>
if its hardwired I'd say its not software cause you can't change it
<DocScrutinizer05>
I can't change either of the above mentioned, except maybe for the WLAN, WWAN, BT stuff
<edwin>
to be software I think it should be changable, and be able to run a Turing complete language
<DocScrutinizer05>
how would I know what's inside a chip?
<edwin>
is there a way to know if it has a firmware update interface?
<DocScrutinizer05>
hiw would I run a test for turing completeness against a chip like BQ27200?
<DocScrutinizer05>
no
modem has joined #neo900
<DocScrutinizer05>
if those chips have any such firmware update interface then it's not documented by the chip manufacturer
<DocScrutinizer05>
some datasheets mention something like "don't write to registers 8 - 26 since that could destroy the chip"
<DocScrutinizer05>
is that a hidden firmware update feature? I don't know
<edwin>
so presumably they are some undocumented fuses or config registers, but hmm even 1 bit can suffice to update the firmware no?
<DocScrutinizer05>
I guess that question in that email is being asked without a clear idea what's the actual question
<DocScrutinizer05>
just like "how many of that foods do contain genes?"
<edwin>
I think classifying the chips based on what you know about them is the best you can do:
<edwin>
- this chip requires firmware to be uploaded to it in order to boot/perform its function
<edwin>
- this chip can boot/perform its function with its existing firmware, and provides a firmware update function
<edwin>
- the update function can be performed by executing software on the main CPU
<edwin>
- the update would require some extra pins or settings that are not done on your board (?)
<edwin>
- this chip can have its firmware updated only with extra hardware (JTAG? programming an EPROM?)
<edwin>
- this chip's datasheet doesn't mention the existence of firmware
<DocScrutinizer05>
thanks, that makes sense. Yes
<edwin>
so for example AFAIK the raspberry Pi requires firmware to be uploaded for its GPU otherwise the thing won't even boot
<edwin>
that'd be #1 there
<edwin>
my Radeon GPU has a firmware obviously , and there is a way to update it
<edwin>
but it works with the factory firmware and has open source drivers
<edwin>
so that'd be #2 there
<DocScrutinizer05>
so we have presumably 1 module that needs upload of some firmware: WLAN+BT. And we have one module that has on-board firmware that can get updated: WWAN cell modem
<edwin>
for the FSF I think #1 would be a huge problem, #2 is probably something they can live it (perhaps if you cripple the update interface like on that laptop, although that wouldn't help much)
<edwin>
how about the GPU? I think thats mentioned on the webpage already
<DocScrutinizer05>
we have a chip we will program permanently (SLG46721V) and we have a MCU we will also program permanently with a bootloader that allows user to upload own code for NFC
<DocScrutinizer05>
we don't care about FSF
<DocScrutinizer05>
GPU needs proprietary firmware for 3G part of opengl-es
<DocScrutinizer05>
2G is FOSS afaik
<edwin>
if you don't need 3D it'll still boot though right?
<DocScrutinizer05>
yes
<edwin>
good point about FOSS for GPU, I think thats important to mention too
<edwin>
there's a difference between firmware blob, and userspace blob
<edwin>
and kernel blob
<edwin>
if I got it right you'll only need firmware blobs for Neo900
<DocScrutinizer05>
there's particularly a difference between code that executes on linux CPU and data of unknown nature (maybe some program?) that I need to upload into a chip and never again will see it
<edwin>
no userspace or kernel blobs are required (with the exception of 3D?)
<DocScrutinizer05>
aaah, that's your definition. Yes
<DocScrutinizer05>
no blobs in linux userspace or kernel
<DocScrutinizer05>
only some data files to upload to a module, via a FOSS interface and driver
<DocScrutinizer05>
(with exception of 3D)
<edwin>
having open source firmware would of course be nice, but you can't really do anything about it. Are you aware of alternative chips which have open source firmware ?
<DocScrutinizer05>
no
<DocScrutinizer05>
seems there are none. Atheros WLAN isn't meant for embedded
<DocScrutinizer05>
their embedded series is notably not FOSS
<edwin>
I think the only place where it might seem you have a choice is the GPU, different GPUs have various reverse engineered drivers in various states. But changing the GPU means you have to change the CPU and the whole SoC...
<edwin>
maybe the GPU is not so hopeless after all
<DocScrutinizer05>
I know
<edwin>
DocScrutinizer05: 2G is FOSS afaik
<edwin>
^you probably meant 2D
<DocScrutinizer05>
yes
<edwin>
bbl
<Wizzup>
There is a 2d unit in the neo900?
<DocScrutinizer05>
the PVR library is only 2D in FOSS version, afaik
<DocScrutinizer05>
there's a 3D unit in Neo900 resp OMAP3: called PowerVR GX530(?)
* Wizzup
checks elinux.org/N900
<DocScrutinizer05>
PowerVR SGX530
<DocScrutinizer05>
pvrsrvkm omaplfb
<Wizzup>
ah, if you use a specific ddx
<DocScrutinizer05>
ddx?
<Wizzup>
device dependent x driver (like xf86-video-foo)
<DocScrutinizer05>
o.O
<DocScrutinizer05>
how's SGX530 existence and the driver library for OpenGL-ES related to X?
<DocScrutinizer05>
related maybe, not depending on X anyway
<Wizzup>
well, I'm confused regardless. for some gpus you need to use a specific ddx to get accel
<DocScrutinizer05>
some special X11 might depend on OpenGL
<Wizzup>
like with xf86-video-radeon
<Wizzup>
I mean, I expect the 2D to not be done using opengl/opengles?
<Wizzup>
Some units have dedicated 2d units
<Wizzup>
I guess the powervr does 2d as well
<Wizzup>
I mostly know too little about the situation - don't mind me :D
<DocScrutinizer05>
yes, you need to use a enabled game to make use of the Okulus rift. That doesn't mean okulus rift depends on that game
<Wizzup>
huh? :)
<DocScrutinizer05>
when you want to use 3D under X11, you might need a special X11 that supports acceleration from SGX530 hardware via OpenGL-ES library
<DocScrutinizer05>
and then you need a special app that makes use of the 3D accel provided by the special X11
<Wizzup>
A X11 driver, not a special Xorg X11, but yes
Mentalysion has joined #neo900
<DocScrutinizer05>
I don't know if OpenGL-ES lib actually might have dependencies on X11
SylvieLorxu has joined #neo900
<DocScrutinizer05>
I doubt it though
<Wizzup>
Linux graphics situation is not trivial. You can do 3d without X, but it's not typical
<Wizzup>
I just wondered what part in the neo900 would do the accelerated *2D*
<DocScrutinizer05>
yes, of course
<Wizzup>
but perhaps you were not talking about accelerated 2d
<Wizzup>
and just about mode setting/output
<DocScrutinizer05>
I talked about PVR
<DocScrutinizer05>
which has only 2D FOSS OpenGL-ES lib
<Wizzup>
that surprises me :-) cool
<DocScrutinizer05>
since we don't ship OS, I can't say who does what with the PVR
<Wizzup>
Not sure what 2d opengl-es is, though
Mentalysion is now known as MentalWar2100
<Wizzup>
OpenGL and OpenGL-ES are both 3D acceleration APIs. While it is true you can use them for 2D acceleration (GLAMOR, or mplayer video scaling), it doesn't happen too often
<Wizzup>
Typically one does accelerated graphics in X, although for some time DirectFB was an interesting alternative
<DocScrutinizer05>
*sigh*
<Wizzup>
What am I missing here?
<Wizzup>
I just just don't understand 2D FOSS OpenGL-ES lib
<DocScrutinizer05>
the facts I mentioned above
<Wizzup>
What is a 2D OpenGL-ES lib?
<DocScrutinizer05>
well, prolly a lib that has reduced functionality
<Wizzup>
Do you have a link? Nevermind if the conversation seems useless, I just think there's some misunderstanding here
<DocScrutinizer05>
I got no link. And I don't think there's a missunderstanding.
<DocScrutinizer05>
ImageTech/TI provides a BLOB that does OpenGL-ES 2.0 with 3D functions, and afaik there's a FOSS version that only can do 2D functions
<Wizzup>
Ok, I challenge the existance of a 2D OpenGL-ES lib, since OpenGL(-ES) is inherently 3D
<Wizzup>
but OK, sounds awesome.
<Wizzup>
Would be nice if that exists.
* DocScrutinizer05
headdesks
<Wizzup>
I think you'll find that what I am saying is less odd than you think it is :-/
<DocScrutinizer05>
what's unclear in a lib that can't do the 3D-related function calls
<Wizzup>
Any 2D done with OpenGL is inherently 3D, just a projection onto 2D. That is what is unclear.
<DocScrutinizer05>
I never had a look into it since I'm not a developer of that stuff and never used it either, but to me it's pretty obvious what it means when a math lib can't do real but only integer math, or a lib can't do the 3D stuff but only the 2D bits
<DocScrutinizer05>
for simplifying this, let's just assume that for arbitrary function calls in FOSS OpenGL-ES, Z<>0 is not allowed
MentalWar2100 has quit [Quit: No Ping reply in 180 seconds.]
<Wizzup>
That is possible, but I would find it very interesting if that was done
Mentalysion has joined #neo900
<Wizzup>
But yeah, not impossible.
<Wizzup>
but it would be quite odd
<DocScrutinizer05>
sorry, I'm busy
<Wizzup>
okay, np
<DocScrutinizer05>
what's odd in no Z-buffer supported, no shading, no perspective, no... dunno what shit - fog, younameit
<DocScrutinizer05>
find the FOSS OpenGL implementation for PowerVR and you'll find the details in the readme there, I'd guess
<ds2>
what about textures?
delphi is now known as trx
tomeff_ has joined #neo900
tomeff has quit [Read error: Connection reset by peer]
tomeff_ is now known as tomeff
paulk-collins has joined #neo900
<edwin>
how about render acceleration?
<edwin>
that can be done either by the Xorg DDX, or through OpenGL by using glamor to translate the 2D RENDER calls to OpenGL calls
<edwin>
there are also hardware overlays for video playback
<edwin>
and hardware decode of certain video formats