Re: Enable Display/Splash on Phycore am335x with barebox 2020.01.0

2020-08-12 Thread Ahmad Fatoum
Hello Holger,

On 8/12/20 11:51 AM, Sascha Hauer wrote:
> On Wed, Aug 12, 2020 at 07:36:58AM +, Koelle, Holger wrote:
>> So my Question :  Is it possible to enable the drm (gpu) unit in

Sidenote: you usually don't touch the GPU in the bootloader, only
the display controller.

>> Barebox 2020.01.0 at the am335x phycore board or is it not supported?
> 
> We don't have a framebuffer driver for am335x, so you won't have any
> luck getting a picture out of the hardware with barebox.

Unless *hint* someone *hint* feels like implementing support. :-)

Cheers
Ahmad

-- 
Pengutronix e.K.   | |
Steuerwalder Str. 21   | http://www.pengutronix.de/  |
31137 Hildesheim, Germany  | Phone: +49-5121-206917-0|
Amtsgericht Hildesheim, HRA 2686   | Fax:   +49-5121-206917- |

___
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox


Re: Enable Display/Splash on Phycore am335x with barebox 2020.01.0

2020-08-12 Thread Sascha Hauer
Hi Holger,

On Wed, Aug 12, 2020 at 07:36:58AM +, Koelle, Holger wrote:
> Hi everybody,
> 
> This week i've tried to enable our Display (which working without
> problems in Linuxkernel 4.19.94) in Barebox without success.
> 
> I've patched the Devicetree similar to am335x-evm.dts with our display
> timings and the other values. But I got no fb0 device or a matching
> driver for the panel/gpu.
> In the drivers section I can't find any driver which matching tilcdc
> and am335x-tilcdc like described in the barebox documentation.
> 
> Of_dump shows that the panel is there, but drvinfo says there is no
> driver.I've tried to use the simple-panel driver but without
> success...
> 
> So my Question :  Is it possible to enable the drm (gpu) unit in
> Barebox 2020.01.0 at the am335x phycore board or is it not supported?

We don't have a framebuffer driver for am335x, so you won't have any
luck getting a picture out of the hardware with barebox. The
simple-panel driver is only for the panel itself, but not for the
framebuffer.

Sascha

-- 
Pengutronix e.K.   | |
Steuerwalder Str. 21   | http://www.pengutronix.de/  |
31137 Hildesheim, Germany  | Phone: +49-5121-206917-0|
Amtsgericht Hildesheim, HRA 2686   | Fax:   +49-5121-206917- |

___
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox


Enable Display/Splash on Phycore am335x with barebox 2020.01.0

2020-08-12 Thread Koelle, Holger
Hi everybody,

This week i've tried to enable our Display (which working without problems in 
Linuxkernel 4.19.94) in Barebox without success.

I've patched the Devicetree similar to am335x-evm.dts with our display timings 
and the other values. But I got no fb0 device or a matching driver for the 
panel/gpu.
In the drivers section I can't find any driver which matching tilcdc and 
am335x-tilcdc like described in the barebox documentation.

Of_dump shows that the panel is there, but drvinfo says there is no driver.I've 
tried to use the simple-panel driver but without success...


So my Question :  Is it possible to enable the drm (gpu) unit in Barebox 
2020.01.0 at the am335x phycore board or is it not supported?


Regards,

H.Kölle

___
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox


Re: Barebox 2020.01.0 and Device Tree from Linux Kernel 5.4

2020-01-28 Thread Ahmad Fatoum
Hello,

(please keep the barebox mailing list in CC)

On 1/27/20 3:02 PM, gianluca wrote:
> On 01/24/2020 05:13 PM, Ahmad Fatoum wrote:
>> Hello,
>>
>> On 1/24/20 4:32 PM, gianluca wrote:
>>> I was wondering if the device tree from (latest) Linux Kernel can be used 
>>> when building Barebox 2020.01.0 for iMX6 compatible custom board.
>>> For sure the include path and other stuff are quite different (kernel and 
>>> barebox), so I am pretty sure it will fail to build with some sort of 
>>> "foreign" device-tree.
>>
>> barebox already regularly imports Linux's device tree directories into its 
>> dts/ directory.
>> v2020.01.0 contains the v5.4-rc7 state.
>>
> 
> Good to hear...
> 
>> Another issue, will be the drivers to have full access from 
>> Barebox-Point-Of-View. If the device-tree properties and compatible strings 
>> are quite different, Barebox will fail to activating/probing/using the 
>> internal driver.
>>
>> barebox driver compatibles should be aligned with the kernel's.
>> If a barebox driver lacks handling for a property, the driver can be 
>> extended.
>>
>>> So I am asking:
>>> There is a "official" way to manage those differencies?
>>
>> I recently added a short section about this in the Documentation
>> (https://barebox.org/doc/latest/devicetree/index.html):
>>
>>   "For supporting architectures, barebox device trees are located in 
>> arch/$ARCH/dts.
>>    Usually the barebox board.dts imports the upstream device tree under 
>> dts/src/$ARCH
>>    with #include "$ARCH/board.dts" and then extends it with 
>> barebox-specifics like
>>    Barebox state, environment or boot-time device configuration."
>>
>> Take a look at arch/arm/dts/imx6q-marsboard.dts to see how that looks in 
>> practice.
>> The kernel device tree is reused as is and extended slightly for barebox use.
> 
> So, basically the device-tree stuff in Barebox are different from the Linux 
> kernel one only for the #include path?

The barebox device trees for ARM are in arch/arm/dts. Best practice
is that these device trees include the upstream device tree with just
the barebox changes custom.

> The biggest issue I've found here, is the compatibility of the device-tree 
> nodes for my board referring the standard imx6 board. For example:
> 
>  {
>     status = "okay";
> };
> 
> is good as you are using the standard pinout for uart3.
> 
> But, if I am using a different pinout layout for the same device, this is not 
> working at all.
> 
> Maybe I have to find the device-node parent, then looking for its 
> configuration, and if it fits my needs, ok I will use it.
> 
> Otherwise I have to redefine a new configuration node:
> 
> uart3 {
>     pinctrl = 
>     interrupts = ...
> };
> 
> But this does not work. uart3 is already defined into the parent node of 
> imx6q.dtsi.
> 
> In that case I need to redefine a new name:
> 
> my_uart3 {
>    pinctrl = ...
>    interrupts = ...
> };
> 
> _uart3 {
>    status = "okay";
> };
> 
> I hope you understand what I am trying to tell you.

You don't need to do this, you can just write

 {
pinctrl = ...;
status = "okay";
};

These properties will override the properties from earlier in the preprocessed 
file.

Cheers
Ahmad

> 
> Best regards,
> Gianluca


-- 
Pengutronix e.K.   | |
Steuerwalder Str. 21   | https://www.pengutronix.de/ |
31137 Hildesheim, Germany  | Phone: +49-5121-206917-0|
Amtsgericht Hildesheim, HRA 2686   | Fax:   +49-5121-206917- |

___
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox


Re: Barebox 2020.01.0 and Device Tree from Linux Kernel 5.4

2020-01-24 Thread Ahmad Fatoum
Hello,

On 1/24/20 4:32 PM, gianluca wrote:
> I was wondering if the device tree from (latest) Linux Kernel can be used 
> when building Barebox 2020.01.0 for iMX6 compatible custom board.
> For sure the include path and other stuff are quite different (kernel and 
> barebox), so I am pretty sure it will fail to build with some sort of 
> "foreign" device-tree.

barebox already regularly imports Linux's device tree directories into its dts/ 
directory.
v2020.01.0 contains the v5.4-rc7 state.

Another issue, will be the drivers to have full access from 
Barebox-Point-Of-View. If the device-tree properties and compatible strings are 
quite different, Barebox will fail to activating/probing/using the internal 
driver.

barebox driver compatibles should be aligned with the kernel's.
If a barebox driver lacks handling for a property, the driver can be extended.

> So I am asking:
> There is a "official" way to manage those differencies?

I recently added a short section about this in the Documentation
(https://barebox.org/doc/latest/devicetree/index.html):

  "For supporting architectures, barebox device trees are located in 
arch/$ARCH/dts.
   Usually the barebox board.dts imports the upstream device tree under 
dts/src/$ARCH
   with #include "$ARCH/board.dts" and then extends it with barebox-specifics 
like
   Barebox state, environment or boot-time device configuration."

Take a look at arch/arm/dts/imx6q-marsboard.dts to see how that looks in 
practice.
The kernel device tree is reused as is and extended slightly for barebox use.

> Am I forced to use TWO device-tree dts files (almost identical each other) ???
> 
> It seems it is like re-inventing the wheel...

No, as you can can extend the kernel device tree (see below).

> I think this procedure can be used with ALL supported boards present in 
> barebox source tree.
> 
> Actually I am using a slightly modified device-tree for my boards from 
> kernel, then adapted to be compiled for Barebox.
> Some nodes are "disabled" by default as status, so Barebox will activate them 
> when probing the real-hardware.

I think

#include 

 {
status = "okay";
};

is what you're after.

> I would like to keep my code to activate/deactivate device-tree drivers, but 
> without modifying the Kernel device-tree each time when I do a Kernel update.
> 
> Any hint will be very accepted.

HTH,
Ahmad

-- 
Pengutronix e.K.   | |
Steuerwalder Str. 21   | http://www.pengutronix.de/  |
31137 Hildesheim, Germany  | Phone: +49-5121-206917-0|
Amtsgericht Hildesheim, HRA 2686   | Fax:   +49-5121-206917- |

___
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox


Barebox 2020.01.0 and Device Tree from Linux Kernel 5.4

2020-01-24 Thread gianluca

Hello list!

I was wondering if the device tree from (latest) Linux Kernel can be 
used when building Barebox 2020.01.0 for iMX6 compatible custom board.


For sure the include path and other stuff are quite different (kernel 
and barebox), so I am pretty sure it will fail to build with some sort 
of "foreign" device-tree. Another issue, will be the drivers to have 
full access from Barebox-Point-Of-View. If the device-tree properties 
and compatible strings are quite different, Barebox will fail to 
activating/probing/using the internal driver.


So I am asking:
There is a "official" way to manage those differencies?

Am I forced to use TWO device-tree dts files (almost identical each 
other) ???


It seems it is like re-inventing the wheel...

I think this procedure can be used with ALL supported boards present in 
barebox source tree.


Actually I am using a slightly modified device-tree for my boards from 
kernel, then adapted to be compiled for Barebox.
Some nodes are "disabled" by default as status, so Barebox will activate 
them when probing the real-hardware.


I would like to keep my code to activate/deactivate device-tree drivers, 
but without modifying the Kernel device-tree each time when I do a 
Kernel update.


Any hint will be very accepted.

Regards,
--
Eurek s.r.l.  |
Electronic Engineering| http://www.eurek.it
via Celletta 8/B, 40026 Imola, Italy  | Phone: +39-(0)542-609120
p.iva 00690621206 - c.f. 04020030377  | Fax:   +39-(0)542-609212

___
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox


barebox-2020.01.0

2020-01-14 Thread Sascha Hauer
Hi All,

We have the first release in this decade ;)

>From the amount of patches it seems most of the work for this release
has gone into the SDHCI driver. A good bunch of the different implementations
for the same functionalities has been merged to a common code base.

Other than that Layerscape now has PCIe support, there are some more
Layerscape improvements as well.

As usual, see below for more details about the changes in this release.

Have Fun!
 Sascha


Ahmad Fatoum (42):
  ARM: i.MX6: Embedsky E9: remove inaccurate comment
  ARM: i.MX6: sabresd: remove inaccurate comment
  watchdog: always populate watchdog priority from device tree if possible
  watchdog: implement generic support for .running device parameter
  watchdog: imxwd: support .running device parameter on i.MX2+
  watchdog: f71808e: support .running device parameter
  ARM: dts: stm32mp: move alias to SoC device tree
  ARM: stm32mp157c-dk2: add optional DEBUG_LL print to entry point
  mfd: stpmic1: use register define from header
  watchdog: stm32_iwdg: return -ENOSYS on attempt to disable
  i2c: stm32: use device_reset_us helper instead of open-coding
  Documentation: boards: stm32mp: document boot error LED
  ARM: stm32mp: add helper for querying ram size
  ARM: stm32mp: add basic DDR controller driver
  ARM: stm32mp: add stm32mp_cpu_lowlevel_init with stack set up
  ARM: stm32mp: dk2: don't hard-code memory size
  nvmem: bsec: fix typo in function name (s/st32/stm32/)
  ARM: psci: factor out smc command into commands/
  ARM: psci: properly wire in command help
  commands: psci: make locally-used function static
  commands: smc: verify PSCI_POWER_ON with interprocessor handshake
  commands: smc: make command usable when ARM_PSCI is undefined
  mci: dove: fix dereference of nullable pointer
  ARM: cpu: dtb: remove unused declaration
  remoteproc: register a device for new remoteproc instances
  remoteproc: add support for starting st,stm32mp1-m4
  watchdog: stm32_iwdg: explicitly set .running to UNSUPPORTED
  scripts: imx: report file where error occurred
  net: designware: eqos: remove done TODO
  param: add dev_add_param_tristate(_ro) helpers
  watchdog: core: use new dev_add_param_tristate helper for .running param
  images: i.MX: rearrange image rules in preparation for boilerplate removal
  efi: add and use new efi_device_has_guid helper
  driver: add missing parentheses around macro argument
  efi: fix off-by-one in mem_malloc_init(..., end)
  x86: efi: lds: don't discard any relocation sections
  PCI: add driver_data member to struct pci_device_id
  PCI: copy over some Linux PCI helpers
  efi: turn set of defines into enumerations
  serial: add support for PCI NS16550 UARTs
  bus: efi: add basic ACPI bus infrastructure
  misc: add ACPI test driver

Andrey Smirnov (13):
  ARM: VFxxx: Display UID information on boot
  mci: imx-esdhc: Drop unnecessary type conversion
  mci: imx-esdhc: Drop unused type definition
  mci: imx-esdhc: Drop extra helper varaible
  mci: imx-esdhc-pbl: Don't setup DMA registers
  mci: imx-esdhc-pbl: Share initialization code
  mci: imx-esdhc-pbl: Drop 'wrap_wml' flag
  mci: imx-esdhc-pbl: Share IO accessors with regular driver
  mci: imx-esdhc-pbl: Use sdhci_transfer_data()
  mci: imx-esdhc-pbl: Use sdhci_set_cmd_xfer_mode()
  mci: imx-esdhc: Share code for esdhc_(setup|do)_data operations
  mci: imx-esdhc: Introduce esdhc_poll()
  mci: imx-esdhc: Share code for esdhc_send_cmd()

Antony Pavlov (1):
  i2c: gpio: use of_get_named_gpio() instead of of_get_named_gpio_flags()

Clement Leger (1):
  mtd: spi-nor: Add support for is25lp01g

Du Huanpeng (1):
  MIPS: Makefile: minor codingstyle fix

Florian Klink (4):
  scripts: use #!/usr/bin/env bash shebang instead of #!/bin/bash
  dts/scripts: use #!/usr/bin/env bash shebang instead of #!/bin/bash
  docs: use #!/usr/bin/env bash shebang instead of #!/bin/bash
  docs: use #!/usr/bin/env python shebang instead of #!/usr/bin/python

Lucas Stach (58):
  ARM: zynq: zedboard: enable MACB driver in defconfig
  ARM: zynq: add trivial image build mechanism
  ARM: zynq: use getopt in zynq_mkimage
  ARM: zynq: move header generation to zynq_mkimage
  ARM: zynq: add size check in zynq_mkimage
  ARM: zynq: zedboard: provide DTB
  net: macb: handle more clocks
  net: macb: add Zynq compatible
  ARM: zynq: move clock controller driver to drivers/clk
  clk: zynq: use base address of clock controller
  clk: zynq: improve PLL enable handling
  clk: zynq: fix up address from DT
  clk: zynq: partially sync with Linux
  ARM: zynq: switch to DT based probing
  clk: zynq: remove clkdevs
  ARM: zynq: switch to