Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
43eb5ab
irqchip: add S5L8740 GPIO EIC
andrew867 Aug 23, 2026
970ebf6
gpio: add S5L8740 banked GPIO and GPIOCMD
andrew867 Aug 23, 2026
7ac2340
i2c: s5l8702: complete xfers on IICCON IRQPEND
andrew867 Aug 23, 2026
8b53e1d
gpio: d1830: nIRQ keys, power-off, no rail writes at probe
andrew867 Aug 23, 2026
1b91f19
phy: s5l8702-usb2: use the s5l87xx sequence on N31
andrew867 Aug 23, 2026
16480b7
usb: dwc2/rndis: N31 FIFO split and Windows inbox RNDIS
andrew867 Aug 23, 2026
790b8b8
clk: s5l8702: ungate PWRCON on N31 without remuxing SYS
andrew867 Aug 23, 2026
cdc4dee
video: S5L8740 backlight and TinyDRM LCDIF handoff
andrew867 Aug 23, 2026
dd9bb19
arm: dts/defconfig: wire N31 EIC, GPIO, PMIC nIRQ, 87xx PHY
andrew867 Aug 23, 2026
b1386a0
arm: s5l87xx: disarm the SEC watchdog early
andrew867 Aug 23, 2026
37cee36
N31: FMSS/FTL modules, nimbus, audio, and expanded glass bring-up
andrew867 Aug 25, 2026
6403b68
s5l8702-aes: Fix CBC
user890104 Aug 24, 2026
9046ce0
s5l8702-aes: Set correct key size for UID and GID key types
user890104 Aug 24, 2026
f99c654
N31: require DT cpu/codec phandles for nano7-audio card
andrew867 Aug 25, 2026
1d8dca9
N31: sync ASoC Kconfig — select CS42 DAI, drop dummy wording
andrew867 Aug 25, 2026
928babf
N31: sync glass audio/DMA/FTL/MikeyBus from live bring-up tree
andrew867 Aug 27, 2026
12865cb
N31: sync glass Tristar/FMSS/FTL/PMIC/CS42 from live bring-up
andrew867 Aug 27, 2026
5c0bf2e
N31: CS-map FTL recover + nand rename, MikeyBus/nimbus/DTS sync
andrew867 Aug 27, 2026
00d2c42
N31: CXT fast-path FTL recovery, PMIC button debounce, style cleanup
andrew867 Aug 27, 2026
42b2c6a
N31: audio bring-up, FM/RDS command surface, I2C and IIS2 pad muxing
andrew867 Aug 28, 2026
cc1f7ee
N31: FTL recovery correctness -- VBA space, short reads, BTOC formats
andrew867 Aug 29, 2026
19d5f97
N31: pl080 -- stop the channel on a DMA error, claim only serviced IRQs
andrew867 Aug 29, 2026
5fd3df6
N31: audio -- analog stage power, mailbox reads, rate handling, no ja…
andrew867 Aug 29, 2026
6ea5bc1
N31: Bluetooth rail as a regulator, and PMIC button/rail work
andrew867 Aug 29, 2026
513e09a
N31: touch and remote -- SPI status encoding, Nimbus reports, MikeyBu…
andrew867 Aug 29, 2026
1c06a56
N31: platform glue -- GPIO keys, LCDIF clock, Tristar, shared header
andrew867 Aug 29, 2026
86e10e6
N31: device tree -- BT rail supply, panic=0, nodrm variant resync
andrew867 Aug 29, 2026
876747f
ftl: pick the BPB whose FAT is actually a FAT
andrew867 Aug 30, 2026
e1acaa4
ASoC: s5l8740-i2s: stop stamping a whole-SoC clock snapshot over CLKC…
andrew867 Aug 30, 2026
20b00ec
ASoC: cs42l81: make the codec state machine match the decomp
andrew867 Aug 30, 2026
6496ae3
n31: dts and gpio refresh from the working tree
andrew867 Aug 30, 2026
534d677
n31: fix the PCM period ceiling, expose SysCfg, and gate the diagnostics
andrew867 Sep 2, 2026
a4aa2c0
ftl: decode a VBA against the banks its superblock actually has
andrew867 Sep 2, 2026
41e1a37
ftl: make the checkpoint the only mount path, and stop sweeping for t…
andrew867 Sep 2, 2026
8609108
ftl: take the bring-up diagnostics off the mount path
andrew867 Sep 2, 2026
7b68357
ftl: close out the deferred items, and find the mount's real long pole
andrew867 Sep 2, 2026
8e8bd59
ftl: find the checkpoint where it moved to, and read it correctly
andrew867 Sep 3, 2026
95829b8
serial: samsung: program the S5L oversampling ratio, not just a divisor
andrew867 Sep 3, 2026
280d360
Bluetooth: hci_bcm: reset the BCM2078 before moving it off 115200
andrew867 Sep 3, 2026
9177921
N31: sync the glass drivers from the working tree
andrew867 Sep 4, 2026
7027480
ftl: retire the extent confirm now the diff replays from the base
andrew867 Sep 4, 2026
6969b49
ftl: a superblock is a vblock, not a plane
andrew867 Sep 4, 2026
96e4932
N31: sync the glass drivers from the working tree -- fast screen, col…
andrew867 Sep 7, 2026
ca20142
drm/tiny: s5l8740: one frame path, a binding, and the rail as a regul…
andrew867 Sep 8, 2026
06c4382
drm/panel: add the Apple iPod nano 7G panel; drm/tiny: s5l8740: MIPI …
andrew867 Sep 8, 2026
a6b4487
drm/tiny: s5l8740: claim the lit panel rail; host waits the right way…
andrew867 Sep 8, 2026
42efbc4
drm/panel: apple-n31: the backlight rides on the panel
andrew867 Sep 8, 2026
fbb0b12
gpio: d1830: screen_sleep, the whole sleep transition on request from…
andrew867 Sep 9, 2026
b5665bb
N31 screen sleep: wake to the level that was set, and to the last frame
andrew867 Sep 9, 2026
8c0a101
N31 storage: debug exports, the multi-address BTOC, and what read sta…
andrew867 Sep 10, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/panel/apple,n31-panel.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Apple iPod nano 7th generation display panel

maintainers:
- Andrew Green <me@andrewgreen.ca>

description: |
The 240x432 DCS command-mode panel of the Apple iPod nano 7th generation
(N31), on a MIPI DSI link from the S5L8740 display controller. Two panel
variants exist and are told apart by the first byte of manufacturer
register 0xA1; the driver reads it and picks the initialisation sequence.

allOf:
- $ref: panel-common.yaml#

properties:
compatible:
const: apple,n31-panel

reg:
maxItems: 1

reset-gpios:
maxItems: 1
description: Panel reset, SoC pad 15, released before the rail comes up.

enable-gpios:
maxItems: 1
description: |
Panel enable, SoC pad 14, driven high after the initialisation
sequence and low before the power-off sequence.

power-supply:
description: The panel's rail, PMU_LDO_7 on the D1830 PMIC.

backlight: true

required:
- compatible
- reg
- reset-gpios
- power-supply

additionalProperties: false

examples:
- |
#include <dt-bindings/gpio/gpio.h>

dsi {
#address-cells = <1>;
#size-cells = <0>;

panel@0 {
compatible = "apple,n31-panel";
reg = <0>;
reset-gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
enable-gpios = <&gpio 14 GPIO_ACTIVE_HIGH>;
power-supply = <&display_rail>;
backlight = <&backlight>;
};
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/display/samsung,s5l8740-lcdif.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Samsung S5L8740 display controller

maintainers:
- Andrew Green <me@andrewgreen.ca>

description: |
The display path of the S5L8740 (Apple iPod nano 7th generation) is four
blocks that only make sense together. The LCDIF carries pixels to a DCS
command-mode panel over a MIPI DSI host. The frame itself is composed
from DRAM by a layer compositor and pushed through the LCDIF transfer
gate, which the driver cycles once per frame. An LCDIF reset has to
cycle two gates in the clock controller, which is why that block is a
named window here rather than a clock phandle: the clock controller
binding for this SoC does not expose those gates.

The DSI host window makes the node a MIPI DSI host; the panel is its
child, on channel 0, described by its own binding.

properties:
compatible:
const: samsung,s5l8740-lcdif

reg:
items:
- description: LCDIF register window
- description: clock controller window (two gates cycled on reset)
- description: MIPI DSI host window
- description: layer compositor window

reg-names:
items:
- const: lcdif
- const: clkcon
- const: dsi
- const: compositor

"#address-cells":
const: 1

"#size-cells":
const: 0

patternProperties:
"^panel@0$":
type: object
$ref: panel/apple,n31-panel.yaml#
unevaluatedProperties: false

required:
- compatible
- reg
- reg-names
- "#address-cells"
- "#size-cells"

additionalProperties: false

examples:
- |
#include <dt-bindings/gpio/gpio.h>

display@38300000 {
compatible = "samsung,s5l8740-lcdif";
reg = <0x38300000 0x10000>, <0x3c500000 0x100>,
<0x3d800000 0x1000>, <0x38900000 0x2000>;
reg-names = "lcdif", "clkcon", "dsi", "compositor";
#address-cells = <1>;
#size-cells = <0>;

panel@0 {
compatible = "apple,n31-panel";
reg = <0>;
reset-gpios = <&gpio 15 GPIO_ACTIVE_LOW>;
enable-gpios = <&gpio 14 GPIO_ACTIVE_HIGH>;
power-supply = <&display_rail>;
};
};
3 changes: 2 additions & 1 deletion arch/arm/boot/dts/samsung/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,8 @@ dtb-$(CONFIG_ARCH_S3C64XX) += \
dtb-$(CONFIG_ARCH_S5L87XX) += \
s5l8702-n46.dtb \
s5l8723-n20.dtb \
s5l8740-n31.dtb
s5l8740-n31.dtb \
s5l8740-n31-nodrm.dtb
dtb-$(CONFIG_ARCH_S5PV210) += \
s5pv210-aquila.dtb \
s5pv210-fascinate4g.dtb \
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/boot/dts/samsung/s5l8702-n46.dts
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@
};

usbotg: usb@38400000 {
compatible = "apple,s5l87xx-usb";
compatible = "apple,s5l8702-usb", "apple,s5l87xx-usb";
reg = <0x38400000 0x40000>;
interrupt-parent = <&vic0>;
interrupts = <19>;
Expand Down
Loading