-
Notifications
You must be signed in to change notification settings - Fork 5.2k
BCM270X_DT: Use bcm283x.dtsi, bcm2835.dtsi and bcm2836.dtsi #1664
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
We do set CNTFRQ here: but that doesn't exist on 2708 (no arch timers). |
Sorry I messed up: we set it in bcm2709.dtsi and bcm2710.dtsi. I'll wait and see what @pelwell thinks about this PR before I spend more time on it. |
I think the changes look good. All overlays still apply. It's just a shame that the multiple inclusions make it harder to follow. If the bindings say not to include "clock-frequency" then we should take it out. |
Do you see a better/different way of doing it? |
Without trying a few options I wasn't going to suggest there was a better way, just observing that we've spread the information over more levels in the hierarchy, which is good for avoiding replication and less good for legibility. |
Version 2 Removed clock-frequency property on the bcm2709/bcm2710.dtsi timer nodes. |
Looks good to me. |
No objection here. Can you rebase? |
The mainline Device Tree files are quite close to downstream now. Let's use bcm283x.dtsi, bcm2835.dtsi and bcm2836.dtsi as base files for our dts files. Mainline dts files are based on these files: bcm2835-rpi.dtsi bcm2835.dtsi bcm2836.dtsi bcm283x.dtsi Current downstream are based on these: bcm2708.dtsi bcm2709.dtsi bcm2710.dtsi bcm2708_common.dtsi This patch introduces this dependency: bcm2708.dtsi bcm2709.dtsi bcm2708-rpi.dtsi bcm270x.dtsi bcm2835.dtsi bcm2836.dtsi bcm283x.dtsi And: bcm2710.dtsi bcm2708-rpi.dtsi bcm270x.dtsi bcm283x.dtsi bcm270x.dtsi contains the downstream bcm283x.dtsi diff. bcm2708-rpi.dtsi is the downstream version of bcm2835-rpi.dtsi. Other changes: - The led node has moved from /soc/leds to /leds. This is not a problem since the label is used to reference it. - The clk_osc reg property changes from 6 to 3. - The gpu nodes has their interrupt property set in the base file. - the clocks label does not point to the /clocks node anymore, but points to the cprman node. This is not a problem since the overlays that use the clock node refer to it directly: target-path = "/clocks"; - some nodes now have 2 labels since mainline and downstream differs in this respect: cprman/clocks, spi0/spi, gpu/vc4. - some nodes doesn't have an explicit status = "okay" since they're not disabled in the base file: watchdog and random. - gpiomem doesn't need an explicit status = "okay". - bcm2708-rpi-cm.dts got the hpd-gpios property from bcm2708_common.dtsi, it's now set directly in that file. - bcm2709-rpi-2-b.dts has the timer node moved from /soc/timer to /timer. - Removed clock-frequency property on the bcm{2709,2710}.dtsi timer nodes. Signed-off-by: Noralf Trønnes <[email protected]>
Rebased |
@MilhouseVH has reported an issue when building LibreELEC with this commit:
Any ideas? |
At first glance, this doesn't look good:
I also have the sdhost message, have to dig further |
Those messages were just deferred probing. I don't get this one on Pi2:
The node ordering in the DT has probably changed due to this patch. But I thought that driver load order was the important thing, since the devices are already present when we get to module loading. Do you know what kodi is trying to do when it crashes? |
Yes, open display and init GL. hello_triangle shows the failure more simply. |
firmware: arm_dt: Only mask interrupts for enabled DT nodes See: raspberrypi/linux#1664
Firmware has been pushed that fixes this. |
Thanks all, confirming LibreELEC now boots and starts Kodi on RPi1 and RPi2/3. |
firmware: arm_dt: Only mask interrupts for enabled DT nodes See: raspberrypi/linux#1664
- vcimage: Fix detection of coherent addresses after IS_ALIAS_L1L2_NONALLOCATING change See: http://forum.kodi.tv/showthread.php?tid=269814&pid=2435907#pid2435907 - firmware: platform: Remove max_usb_current and default to enabled - firmware: arm_dt: Only mask interrupts for enabled DT nodes See: raspberrypi/linux#1664 - firmware: ISP tuner: Lower rate at fast fps - firmware: resize: Fix for no padding giving incorrect pitch See: https://www.raspberrypi.org/forums/viewtopic.php?f=66&t=162349 - firmware: arm_dt: Populate the /serial-number property See: raspberrypi/linux#1670 - firmware: deinterlace: Provide a mode where frame flags are exclusively used - firmware: arm_loader: do not allow qpu usage when arm owns the 3d See: #669 - firmware: vcinclude: Fix macro for IS_ALIAS_L1L2_NONALLOCATING - firmware: platform: Don't set kernel name explicitly for recovery.elf - firmware: resize: Add a queue of input images to avoid dropped frames with opaque input - firmware: resize: Set the direct_input flag when using mmal opaque mode - firmware: arm_loader: Restrict automatic loading to LOWMEM See: raspberrypi/linux#1641 - firmware: RaspiVid: Make open_filename() unified for all outputs (video, imv, pts) See: raspberrypi/userland#338
firmware: arm_dt: Only mask interrupts for enabled DT nodes See: raspberrypi/linux#1664
The mainline Device Tree files are quite close to downstream now.
This is a proposal to take advantage of that and take yet another "mainline" step.
I have made a diff file: bcm270x.dtsi instead of patching bcm283x.dtsi directly. I don't know what's the best maintainable solution. One benefit is that it is overly clear how we differ from mainline. The changes could also be included in bcm2708-rpi.dtsi as well, but IMO that's not so good since we loose the distinction made in mainline.
I haven't followed downstream so close the last months, so I don't know if this has any side effects on the overlays.
There's some more details in the commit message.
This is the diff introduced by this patch that applies to all dts. I have removed phandle changes that are due to node order changes and lines without change.
The diff is produced like this, the resulting diff is sorted:
Resulting full diffs:
I have only boot tested on Pi1 B+.
One thing I discovered is that we set timer clock-frequency in bcm2708.dtsi and bcm2709.dtsi, but apparently this should be avoided:
Documentation/devicetree/bindings/arm/arch_timer.txt