* [PATCH 3/6] arm64: dts: ti: k3-j721s2-mcu-wakeup: Add support of OSPI
From: Aswath Govindraju @ 2022-01-25 13:11 UTC (permalink / raw)
Cc: linux-kernel, devicetree, Rob Herring, Tero Kristo,
Vignesh Raghavendra, Nishanth Menon, Aswath Govindraju
In-Reply-To: <20220125131113.727-1-a-govindraju@ti.com>
Add support for two instance of OSPI in J721S2 SoC.
Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
---
.../boot/dts/ti/k3-j721s2-mcu-wakeup.dtsi | 40 +++++++++++++++++++
1 file changed, 40 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/k3-j721s2-mcu-wakeup.dtsi b/arch/arm64/boot/dts/ti/k3-j721s2-mcu-wakeup.dtsi
index 7521963719ff..569db20f356f 100644
--- a/arch/arm64/boot/dts/ti/k3-j721s2-mcu-wakeup.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-j721s2-mcu-wakeup.dtsi
@@ -299,4 +299,44 @@
ti,cpts-periodic-outputs = <2>;
};
};
+
+ fss: syscon@47000000 {
+ compatible = "syscon", "simple-mfd";
+ reg = <0x0 0x47000000 0x0 0x100>;
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ ospi0: spi@47040000 {
+ compatible = "ti,am654-ospi", "cdns,qspi-nor";
+ reg = <0x00 0x47040000 0x00 0x100>,
+ <0x5 0x0000000 0x1 0x0000000>;
+ interrupts = <GIC_SPI 840 IRQ_TYPE_LEVEL_HIGH>;
+ cdns,fifo-depth = <256>;
+ cdns,fifo-width = <4>;
+ cdns,trigger-address = <0x0>;
+ clocks = <&k3_clks 109 5>;
+ assigned-clocks = <&k3_clks 109 5>;
+ assigned-clock-parents = <&k3_clks 109 7>;
+ assigned-clock-rates = <166666666>;
+ power-domains = <&k3_pds 109 TI_SCI_PD_EXCLUSIVE>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ ospi1: spi@47050000 {
+ compatible = "ti,am654-ospi", "cdns,qspi-nor";
+ reg = <0x00 0x47050000 0x00 0x100>,
+ <0x7 0x0000000 0x1 0x0000000>;
+ interrupts = <GIC_SPI 841 IRQ_TYPE_LEVEL_HIGH>;
+ cdns,fifo-depth = <256>;
+ cdns,fifo-width = <4>;
+ cdns,trigger-address = <0x0>;
+ clocks = <&k3_clks 110 5>;
+ power-domains = <&k3_pds 110 TI_SCI_PD_EXCLUSIVE>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ };
+
+ };
};
--
2.17.1
^ permalink raw reply related
* [PATCH 1/6] arm64: dts: ti: k3-j721s2-main: Add support for USB
From: Aswath Govindraju @ 2022-01-25 13:11 UTC (permalink / raw)
Cc: linux-kernel, devicetree, Rob Herring, Tero Kristo,
Vignesh Raghavendra, Nishanth Menon, Aswath Govindraju
In-Reply-To: <20220125131113.727-1-a-govindraju@ti.com>
Add support for single instance of USB 3.0 controller in J721S2 SoC.
Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
---
arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi | 42 ++++++++++++++++++++++
1 file changed, 42 insertions(+)
diff --git a/arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi b/arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi
index b04db1d3ab61..e651f0af1aaa 100644
--- a/arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi
+++ b/arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi
@@ -26,6 +26,20 @@
};
};
+ scm_conf: scm-conf@104000 {
+ compatible = "ti,j721e-system-controller", "syscon", "simple-mfd";
+ reg = <0x00 0x00104000 0x00 0x18000>;
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges = <0x00 0x00 0x00104000 0x18000>;
+
+ usb_serdes_mux: mux-controller@0 {
+ compatible = "mmio-mux";
+ #mux-control-cells = <1>;
+ mux-reg-masks = <0x0 0x8000000>; /* USB0 to SERDES0 lane 1/3 mux */
+ };
+ };
+
gic500: interrupt-controller@1800000 {
compatible = "arm,gic-v3";
#address-cells = <2>;
@@ -683,6 +697,34 @@
};
};
+ usbss0: cdns-usb@4104000 {
+ compatible = "ti,j721e-usb";
+ reg = <0x00 0x04104000 0x00 0x100>;
+ clocks = <&k3_clks 360 16>, <&k3_clks 360 15>;
+ clock-names = "ref", "lpm";
+ assigned-clocks = <&k3_clks 360 16>; /* USB2_REFCLK */
+ assigned-clock-parents = <&k3_clks 360 17>;
+ power-domains = <&k3_pds 360 TI_SCI_PD_EXCLUSIVE>;
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+ dma-coherent;
+
+ usb0: usb@6000000 {
+ compatible = "cdns,usb3";
+ reg = <0x00 0x06000000 0x00 0x10000>,
+ <0x00 0x06010000 0x00 0x10000>,
+ <0x00 0x06020000 0x00 0x10000>;
+ reg-names = "otg", "xhci", "dev";
+ interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 102 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "host", "peripheral", "otg";
+ maximum-speed = "super-speed";
+ dr_mode = "otg";
+ };
+ };
+
main_mcan0: can@2701000 {
compatible = "bosch,m_can";
reg = <0x00 0x02701000 0x00 0x200>,
--
2.17.1
^ permalink raw reply related
* 回复: [EXT] Re: [PATCH v15 00/13] amphion video decoder/encoder driver
From: Ming Qian @ 2022-01-25 13:10 UTC (permalink / raw)
To: Hans Verkuil, mchehab@kernel.org, shawnguo@kernel.org,
robh+dt@kernel.org, s.hauer@pengutronix.de
Cc: kernel@pengutronix.de, festevam@gmail.com, dl-linux-imx,
Aisheng Dong, linux-media@vger.kernel.org,
linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
linux-arm-kernel@lists.infradead.org
In-Reply-To: <2c3fcd05-35da-02e4-cd69-4a6e369d7005@xs4all.nl>
> Hi Ming,
>
> Can you take a look at the kernel test robot warnings? I suspect you're
> missing a header (linux/vmalloc.h?) for vzalloc et al that the alpha
> architecture doesn't automatically include.
>
> If it is just adding a single include in a single patch, then just post a 15.1 for
> that patch. If it is more complicated, then posting a v16 is easier.
>
> Regards,
>
> Hans
Got it, I'll deal with it asap
>
> On 25/01/2022 08:11, Ming Qian wrote:
> > Hi all,
> >
> > This patch series adds support for
> > the amphion video encoder and decoder
> > via the VPU block present in imx8q platforms.
> > Currently, support for IMX8QXP and IMX8QM is included.
> >
> > It features decoding for the following formats:
> > - H.264
> > - HEVC
> > - MPEG4
> > - MPEG2
> > - VC1
> > - VP8
> >
> > It features encoding for the following formats:
> > - H.264
> >
> > The driver creates a separate device node for the encoder and decoder.
> >
> > This driver is dependent on vpu firmwares.
> > The firmwares have been submitted to linux-firmware.
> > The firmware patch is since commit
> > b563148fd28623f6b6ce68bb06c3dd3bd138b058:
> > linux-firmware: Update firmware file for Intel Bluetooth 9462 (Fri Oct
> > 8 16:30:14 2021 +0530)
> >
> > and it's available in the git repository at:
> >
> > https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith
> > ub.com%2Fmingqian-0%2Flinux-
> firmware.git&data=04%7C01%7Cming.qian%
> >
> 40nxp.com%7C8f3d9dd4d58542650ac808d9dffb4ef4%7C686ea1d3bc2b4c6fa9
> 2cd99
> >
> c5c301635%7C0%7C0%7C637787092725815979%7CUnknown%7CTWFpbGZsb
> 3d8eyJWIjo
> >
> iMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C30
> 00&
> > ;sdata=csybemVdVslZ%2FJx%2BLSD4dPU8WZzXcKcs35fYlf7u0oU%3D&
> ;reserved
> > =0
> >
> > for you to fetch changes up to
> bb3eee4f99589d4910dee4c053a3a685546b5dbb:
> > amphion: add VPU firmwares for NXP i.MX8Q SoCs (Tue Oct 12 15:09:57
> > 2021 +0800)
> >
> > encoder is tested with gstreamer
> > decoder is tested with gstreamer, but the following patches are required:
> > https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitl
> > ab.freedesktop.org%2Fgstreamer%2Fgstreamer%2F-
> %2Fmerge_requests%2F1379
> >
> &data=04%7C01%7Cming.qian%40nxp.com%7C8f3d9dd4d58542650ac80
> 8d9dffb
> >
> 4ef4%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C63778709272581
> 5979%7
> >
> CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJ
> BTiI6Ik1
> >
> haWwiLCJXVCI6Mn0%3D%7C3000&sdata=NsYaJTd%2F8iyxR43T5l8plOL4
> Fc0ZPnC
> > XctWhp2nVyyY%3D&reserved=0
> > https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgitl
> > ab.freedesktop.org%2Fgstreamer%2Fgstreamer%2F-
> %2Fmerge_requests%2F1381
> >
> &data=04%7C01%7Cming.qian%40nxp.com%7C8f3d9dd4d58542650ac80
> 8d9dffb
> >
> 4ef4%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C63778709272581
> 5979%7
> >
> CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJ
> BTiI6Ik1
> >
> haWwiLCJXVCI6Mn0%3D%7C3000&sdata=EpF9to1WlTCtvwQRFLqmBOe
> d0v7UxgJqW
> > TZOjvyYydY%3D&reserved=0
> >
> >
> > Tested-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
> >
> >
> > Changelog:
> >
> > v15
> > - fix issues detected by "checkpatch.pl --strict"
> > - encoder add ctrl V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE
> >
> > v14
> > - fix some errors according to Hans's comments
> >
> > v13
> > - make a workaround that avoid firmware entering wfi wrongly
> >
> > v12
> > - support reset decoder when starting a new stream
> > - don't append an empty last buffer, set last_buffer_dequeued
> > - improve the resolution change flow
> > - return all buffers if start_streaming fail
> > - fill encoder capture buffer's filed to none
> > - fix a bug in calculating bytesperline
> >
> > v11
> > - fix dt_binding_check error after upgrade dtschema
> > - remove "default y"
> > - add media device
> >
> > v10
> > - refine vpu log, remove custom logging infrastructure
> > - support non contiguous planes format nv12m instead of nv12
> > - rename V4L2_PIX_FMT_NV12_8L128 to V4L2_PIX_FMT_NV12MT_8L128
> > - rename V4L2_PIX_FMT_NV12_10BE_8L128 to
> > V4L2_PIX_FMT_NV12MT_10BE_8L128
> > - merge two module into one
> > - fix kernel panic in rmmod
> >
> > v9
> > - drop V4L2_BUF_FLAG_CODECCONFIG
> > - drop V4L2_EVENT_CODEC_ERROR
> > - drop V4L2_EVENT_SKIP - use the v4l2_buffer.sequence counter
> > - fix some build warnings with W=1 reported by kernel test robot
> >
> > v8
> > - move driver from driver/media/platform/imx/vpu-8q to
> > driver/media/platform/amphion
> > - rename driver name to amphion
> > - remove imx_vpu.h
> > - move the definition of V4L2_EVENT_CODEC_ERROR to videodev2.h
> > - move the definition of V4L2_EVENT_SKIP to videodev2.h
> >
> > v7
> > - fix build warnings with W=1 reported by kernel test robot
> >
> > v6:
> > - rename V4L2_PIX_FMT_NT8 to V4L2_PIX_FMT_NV12_8L128
> > - rename V4L2_PIX_FMT_NT10 to V4L2_PIX_FMT_NV12_10BE_8L128
> >
> > v5:
> > - move some definition from imx_vph.h to videodev2.h
> > - remove some unnecessary content
> > - add some documentation descriptions
> > - pass the lateset v4l2-compliance test
> >
> > v4:
> > - redefine the memory-region in devicetree bindings documentation
> > - use v4l2's mechanism to implement synchronize queuing ioctl
> > - remove the unnecessary mutex ioctl_sync
> > - don't notify source change event if the parameters are same as
> > previously established
> > - add flag V4L2_FMT_FLAG_DYN_RESOLUTION to decoder's capture format
> >
> > v3:
> > - don't make vpu device node a simple-bus
> > - trigger probing vpu core in the driver
> > - remove unnecessary vpu core index property
> >
> > v2:
> > - fix dt bindings build error
> > - split driver patch into several parts to avoid exceeding bytes limit
> >
> > Compliance
> > ==========
> > # v4l2-compliance -d /dev/video0
> > v4l2-compliance 1.21.0-4859, 64 bits, 64-bit time_t v4l2-compliance
> > SHA: 493af03f3c57 2021-10-08 17:23:11
> >
> > Compliance test for amphion-vpu device /dev/video0:
> >
> > Driver Info:
> > Driver name : amphion-vpu
> > Card type : amphion vpu decoder
> > Bus info : platform: amphion-vpu
> > Driver version : 5.15.0
> > Capabilities : 0x84204000
> > Video Memory-to-Memory Multiplanar
> > Streaming
> > Extended Pix Format
> > Device Capabilities
> > Device Caps : 0x04204000
> > Video Memory-to-Memory Multiplanar
> > Streaming
> > Extended Pix Format
> > Detected Stateful Decoder
> > Media Driver Info:
> > Driver name : amphion-vpu
> > Model : amphion-vpu
> > Serial :
> > Bus info : platform: amphion-vpu
> > Media version : 5.15.0
> > Hardware revision: 0x00000000 (0)
> > Driver version : 5.15.0
> > Interface Info:
> > ID : 0x0300000c
> > Type : V4L Video
> > Entity Info:
> > ID : 0x00000001 (1)
> > Name : amphion-vpu-decoder-source
> > Function : V4L2 I/O
> > Pad 0x01000002 : 0: Source
> > Link 0x02000008: to remote pad 0x1000004 of entity
> > 'amphion-vpu-decoder-proc' (Video Decoder): Data, Enabled, Immutable
> >
> > Required ioctls:
> > test MC information (see 'Media Driver Info' above): OK
> > test VIDIOC_QUERYCAP: OK
> > test invalid ioctls: OK
> >
> > Allow for multiple opens:
> > test second /dev/video0 open: OK
> > test VIDIOC_QUERYCAP: OK
> > test VIDIOC_G/S_PRIORITY: OK
> > test for unlimited opens: OK
> >
> > Debug ioctls:
> > test VIDIOC_DBG_G/S_REGISTER: OK (Not Supported)
> > test VIDIOC_LOG_STATUS: OK (Not Supported)
> >
> > Input ioctls:
> > test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
> > test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
> > test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
> > test VIDIOC_ENUMAUDIO: OK (Not Supported)
> > test VIDIOC_G/S/ENUMINPUT: OK (Not Supported)
> > test VIDIOC_G/S_AUDIO: OK (Not Supported)
> > Inputs: 0 Audio Inputs: 0 Tuners: 0
> >
> > Output ioctls:
> > test VIDIOC_G/S_MODULATOR: OK (Not Supported)
> > test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
> > test VIDIOC_ENUMAUDOUT: OK (Not Supported)
> > test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)
> > test VIDIOC_G/S_AUDOUT: OK (Not Supported)
> > Outputs: 0 Audio Outputs: 0 Modulators: 0
> >
> > Input/Output configuration ioctls:
> > test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
> > test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)
> > test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)
> > test VIDIOC_G/S_EDID: OK (Not Supported)
> >
> > Control ioctls:
> > test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK
> > test VIDIOC_QUERYCTRL: OK
> > test VIDIOC_G/S_CTRL: OK
> > test VIDIOC_G/S/TRY_EXT_CTRLS: OK
> > test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK
> > test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
> > Standard Controls: 3 Private Controls: 0
> >
> > Format ioctls:
> > test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK
> > test VIDIOC_G/S_PARM: OK (Not Supported)
> > test VIDIOC_G_FBUF: OK (Not Supported)
> > test VIDIOC_G_FMT: OK
> > test VIDIOC_TRY_FMT: OK
> > test VIDIOC_S_FMT: OK
> > test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported)
> > test Cropping: OK (Not Supported)
> > test Composing: OK
> > test Scaling: OK (Not Supported)
> >
> > Codec ioctls:
> > test VIDIOC_(TRY_)ENCODER_CMD: OK (Not Supported)
> > test VIDIOC_G_ENC_INDEX: OK (Not Supported)
> > test VIDIOC_(TRY_)DECODER_CMD: OK
> >
> > Buffer ioctls:
> > test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK
> > test VIDIOC_EXPBUF: OK
> > test Requests: OK (Not Supported)
> >
> > Total for amphion-vpu device /dev/video0: 46, Succeeded: 46, Failed:
> > 0, Warnings: 0
> >
> > # v4l2-compliance -d /dev/video1
> > v4l2-compliance 1.21.0-4859, 64 bits, 64-bit time_t v4l2-compliance
> > SHA: 493af03f3c57 2021-10-08 17:23:11
> >
> > Compliance test for amphion-vpu device /dev/video1:
> >
> > Driver Info:
> > Driver name : amphion-vpu
> > Card type : amphion vpu encoder
> > Bus info : platform: amphion-vpu
> > Driver version : 5.15.0
> > Capabilities : 0x84204000
> > Video Memory-to-Memory Multiplanar
> > Streaming
> > Extended Pix Format
> > Device Capabilities
> > Device Caps : 0x04204000
> > Video Memory-to-Memory Multiplanar
> > Streaming
> > Extended Pix Format
> > Detected Stateful Encoder
> > Media Driver Info:
> > Driver name : amphion-vpu
> > Model : amphion-vpu
> > Serial :
> > Bus info : platform: amphion-vpu
> > Media version : 5.15.0
> > Hardware revision: 0x00000000 (0)
> > Driver version : 5.15.0
> > Interface Info:
> > ID : 0x0300001a
> > Type : V4L Video
> > Entity Info:
> > ID : 0x0000000f (15)
> > Name : amphion-vpu-encoder-source
> > Function : V4L2 I/O
> > Pad 0x01000010 : 0: Source
> > Link 0x02000016: to remote pad 0x1000012 of entity
> > 'amphion-vpu-encoder-proc' (Video Encoder): Data, Enabled, Immutable
> >
> > Required ioctls:
> > test MC information (see 'Media Driver Info' above): OK
> > test VIDIOC_QUERYCAP: OK
> > test invalid ioctls: OK
> >
> > Allow for multiple opens:
> > test second /dev/video1 open: OK
> > test VIDIOC_QUERYCAP: OK
> > test VIDIOC_G/S_PRIORITY: OK
> > test for unlimited opens: OK
> >
> > Debug ioctls:
> > test VIDIOC_DBG_G/S_REGISTER: OK (Not Supported)
> > test VIDIOC_LOG_STATUS: OK (Not Supported)
> >
> > Input ioctls:
> > test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
> > test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
> > test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
> > test VIDIOC_ENUMAUDIO: OK (Not Supported)
> > test VIDIOC_G/S/ENUMINPUT: OK (Not Supported)
> > test VIDIOC_G/S_AUDIO: OK (Not Supported)
> > Inputs: 0 Audio Inputs: 0 Tuners: 0
> >
> > Output ioctls:
> > test VIDIOC_G/S_MODULATOR: OK (Not Supported)
> > test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
> > test VIDIOC_ENUMAUDOUT: OK (Not Supported)
> > test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)
> > test VIDIOC_G/S_AUDOUT: OK (Not Supported)
> > Outputs: 0 Audio Outputs: 0 Modulators: 0
> >
> > Input/Output configuration ioctls:
> > test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
> > test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)
> > test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)
> > test VIDIOC_G/S_EDID: OK (Not Supported)
> >
> > Control ioctls:
> > test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK
> > test VIDIOC_QUERYCTRL: OK
> > test VIDIOC_G/S_CTRL: OK
> > test VIDIOC_G/S/TRY_EXT_CTRLS: OK
> > test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK
> > test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
> > Standard Controls: 20 Private Controls: 0
> >
> > Format ioctls:
> > test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK
> > test VIDIOC_G/S_PARM: OK
> > test VIDIOC_G_FBUF: OK (Not Supported)
> > test VIDIOC_G_FMT: OK
> > test VIDIOC_TRY_FMT: OK
> > test VIDIOC_S_FMT: OK
> > test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported)
> > test Cropping: OK
> > test Composing: OK (Not Supported)
> > test Scaling: OK (Not Supported)
> >
> > Codec ioctls:
> > test VIDIOC_(TRY_)ENCODER_CMD: OK
> > test VIDIOC_G_ENC_INDEX: OK (Not Supported)
> > test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported)
> >
> > Buffer ioctls:
> > test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK
> > test VIDIOC_EXPBUF: OK
> > test Requests: OK (Not Supported)
> >
> > Total for amphion-vpu device /dev/video1: 46, Succeeded: 46, Failed:
> > 0, Warnings: 0
> >
> > # v4l2-compliance -d /dev/media0
> > v4l2-compliance 1.21.0-4859, 64 bits, 64-bit time_t v4l2-compliance
> > SHA: 493af03f3c57 2021-10-08 17:23:11
> >
> > Compliance test for amphion-vpu device /dev/media0:
> >
> > Media Driver Info:
> > Driver name : amphion-vpu
> > Model : amphion-vpu
> > Serial :
> > Bus info : platform: amphion-vpu
> > Media version : 5.15.0
> > Hardware revision: 0x00000000 (0)
> > Driver version : 5.15.0
> >
> > Required ioctls:
> > test MEDIA_IOC_DEVICE_INFO: OK
> > test invalid ioctls: OK
> >
> > Allow for multiple opens:
> > test second /dev/media0 open: OK
> > test MEDIA_IOC_DEVICE_INFO: OK
> > test for unlimited opens: OK
> >
> > Media Controller ioctls:
> > test MEDIA_IOC_G_TOPOLOGY: OK
> > Entities: 6 Interfaces: 2 Pads: 8 Links: 8
> > test MEDIA_IOC_ENUM_ENTITIES/LINKS: OK
> > test MEDIA_IOC_SETUP_LINK: OK
> >
> > Total for amphion-vpu device /dev/media0: 8, Succeeded: 8, Failed: 0,
> > Warnings: 0
> >
> > Ming Qian (13):
> > dt-bindings: media: amphion: add amphion video codec bindings
> > media: add nv12m_8l128 and nv12m_10be_8l128 video format.
> > media: amphion: add amphion vpu device driver
> > media: amphion: add vpu core driver
> > media: amphion: implement vpu core communication based on mailbox
> > media: amphion: add vpu v4l2 m2m support
> > media: amphion: add v4l2 m2m vpu encoder stateful driver
> > media: amphion: add v4l2 m2m vpu decoder stateful driver
> > media: amphion: implement windsor encoder rpc interface
> > media: amphion: implement malone decoder rpc interface
> > ARM64: dts: freescale: imx8q: add imx vpu codec entries
> > firmware: imx: scu-pd: imx8q: add vpu mu resources
> > MAINTAINERS: add AMPHION VPU CODEC V4L2 driver entry
> >
> > .../bindings/media/amphion,vpu.yaml | 180 ++
> > .../media/v4l/pixfmt-yuv-planar.rst | 28 +-
> > MAINTAINERS | 9 +
> > .../arm64/boot/dts/freescale/imx8-ss-vpu.dtsi | 72 +
> > arch/arm64/boot/dts/freescale/imx8qxp-mek.dts | 17 +
> > arch/arm64/boot/dts/freescale/imx8qxp.dtsi | 24 +
> > arch/arm64/configs/defconfig | 1 +
> > drivers/firmware/imx/scu-pd.c | 4 +
> > drivers/media/platform/Kconfig | 19 +
> > drivers/media/platform/Makefile | 2 +
> > drivers/media/platform/amphion/Makefile | 20 +
> > drivers/media/platform/amphion/vdec.c | 1694 +++++++++++++++++
> > drivers/media/platform/amphion/venc.c | 1364 +++++++++++++
> > drivers/media/platform/amphion/vpu.h | 356 ++++
> > drivers/media/platform/amphion/vpu_cmds.c | 436 +++++
> > drivers/media/platform/amphion/vpu_cmds.h | 25 +
> > drivers/media/platform/amphion/vpu_codec.h | 68 +
> > drivers/media/platform/amphion/vpu_color.c | 183 ++
> > drivers/media/platform/amphion/vpu_core.c | 870 +++++++++
> > drivers/media/platform/amphion/vpu_core.h | 15 +
> > drivers/media/platform/amphion/vpu_dbg.c | 495 +++++
> > drivers/media/platform/amphion/vpu_defs.h | 187 ++
> > drivers/media/platform/amphion/vpu_drv.c | 260 +++
> > drivers/media/platform/amphion/vpu_helpers.c | 413 ++++
> > drivers/media/platform/amphion/vpu_helpers.h | 74 +
> > drivers/media/platform/amphion/vpu_imx8q.c | 271 +++
> > drivers/media/platform/amphion/vpu_imx8q.h | 115 ++
> > drivers/media/platform/amphion/vpu_malone.c | 1625
> ++++++++++++++++
> > drivers/media/platform/amphion/vpu_malone.h | 44 +
> > drivers/media/platform/amphion/vpu_mbox.c | 118 ++
> > drivers/media/platform/amphion/vpu_mbox.h | 16 +
> > drivers/media/platform/amphion/vpu_msgs.c | 385 ++++
> > drivers/media/platform/amphion/vpu_msgs.h | 14 +
> > drivers/media/platform/amphion/vpu_rpc.c | 257 +++
> > drivers/media/platform/amphion/vpu_rpc.h | 456 +++++
> > drivers/media/platform/amphion/vpu_v4l2.c | 720 +++++++
> > drivers/media/platform/amphion/vpu_v4l2.h | 55 +
> > drivers/media/platform/amphion/vpu_windsor.c | 1169 ++++++++++++
> > drivers/media/platform/amphion/vpu_windsor.h | 37 +
> > drivers/media/v4l2-core/v4l2-ioctl.c | 2 +
> > include/uapi/linux/videodev2.h | 2 +
> > 41 files changed, 12099 insertions(+), 3 deletions(-) create mode
> > 100644 Documentation/devicetree/bindings/media/amphion,vpu.yaml
> > create mode 100644 arch/arm64/boot/dts/freescale/imx8-ss-vpu.dtsi
> > create mode 100644 drivers/media/platform/amphion/Makefile
> > create mode 100644 drivers/media/platform/amphion/vdec.c
> > create mode 100644 drivers/media/platform/amphion/venc.c
> > create mode 100644 drivers/media/platform/amphion/vpu.h
> > create mode 100644 drivers/media/platform/amphion/vpu_cmds.c
> > create mode 100644 drivers/media/platform/amphion/vpu_cmds.h
> > create mode 100644 drivers/media/platform/amphion/vpu_codec.h
> > create mode 100644 drivers/media/platform/amphion/vpu_color.c
> > create mode 100644 drivers/media/platform/amphion/vpu_core.c
> > create mode 100644 drivers/media/platform/amphion/vpu_core.h
> > create mode 100644 drivers/media/platform/amphion/vpu_dbg.c
> > create mode 100644 drivers/media/platform/amphion/vpu_defs.h
> > create mode 100644 drivers/media/platform/amphion/vpu_drv.c
> > create mode 100644 drivers/media/platform/amphion/vpu_helpers.c
> > create mode 100644 drivers/media/platform/amphion/vpu_helpers.h
> > create mode 100644 drivers/media/platform/amphion/vpu_imx8q.c
> > create mode 100644 drivers/media/platform/amphion/vpu_imx8q.h
> > create mode 100644 drivers/media/platform/amphion/vpu_malone.c
> > create mode 100644 drivers/media/platform/amphion/vpu_malone.h
> > create mode 100644 drivers/media/platform/amphion/vpu_mbox.c
> > create mode 100644 drivers/media/platform/amphion/vpu_mbox.h
> > create mode 100644 drivers/media/platform/amphion/vpu_msgs.c
> > create mode 100644 drivers/media/platform/amphion/vpu_msgs.h
> > create mode 100644 drivers/media/platform/amphion/vpu_rpc.c
> > create mode 100644 drivers/media/platform/amphion/vpu_rpc.h
> > create mode 100644 drivers/media/platform/amphion/vpu_v4l2.c
> > create mode 100644 drivers/media/platform/amphion/vpu_v4l2.h
> > create mode 100644 drivers/media/platform/amphion/vpu_windsor.c
> > create mode 100644 drivers/media/platform/amphion/vpu_windsor.h
> >
> >
> > base-commit: e783362eb54cd99b2cac8b3a9aeac942e6f6ac07
^ permalink raw reply
* [PATCH 2/2] iommu/ipmmu-vmsa: Add support for R-Car Gen4
From: Yoshihiro Shimoda @ 2022-01-25 12:56 UTC (permalink / raw)
To: joro, will, robh+dt
Cc: iommu, devicetree, linux-renesas-soc, Yoshihiro Shimoda
In-Reply-To: <20220125125602.4144793-1-yoshihiro.shimoda.uh@renesas.com>
Add support for R-Car Gen4 like r8a779f0 (R-Car S4-8). The IPMMU
hardware design of r8a779f0 is the same as r8a779a0. So, rename
"r8a779a0" to "rcar_gen4".
Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
---
drivers/iommu/ipmmu-vmsa.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/drivers/iommu/ipmmu-vmsa.c b/drivers/iommu/ipmmu-vmsa.c
index ca752bdc710f..6c4314c2e9bf 100644
--- a/drivers/iommu/ipmmu-vmsa.c
+++ b/drivers/iommu/ipmmu-vmsa.c
@@ -719,6 +719,7 @@ static int ipmmu_init_platform_device(struct device *dev,
static const struct soc_device_attribute soc_needs_opt_in[] = {
{ .family = "R-Car Gen3", },
+ { .family = "R-Car Gen4", },
{ .family = "RZ/G2", },
{ /* sentinel */ }
};
@@ -743,7 +744,7 @@ static bool ipmmu_device_is_allowed(struct device *dev)
unsigned int i;
/*
- * R-Car Gen3 and RZ/G2 use the allow list to opt-in devices.
+ * R-Car Gen3, Gen4 and RZ/G2 use the allow list to opt-in devices.
* For Other SoCs, this returns true anyway.
*/
if (!soc_device_match(soc_needs_opt_in))
@@ -926,7 +927,7 @@ static const struct ipmmu_features ipmmu_features_rcar_gen3 = {
.utlb_offset_base = 0,
};
-static const struct ipmmu_features ipmmu_features_r8a779a0 = {
+static const struct ipmmu_features ipmmu_features_rcar_gen4 = {
.use_ns_alias_offset = false,
.has_cache_leaf_nodes = true,
.number_of_contexts = 16,
@@ -982,7 +983,10 @@ static const struct of_device_id ipmmu_of_ids[] = {
.data = &ipmmu_features_rcar_gen3,
}, {
.compatible = "renesas,ipmmu-r8a779a0",
- .data = &ipmmu_features_r8a779a0,
+ .data = &ipmmu_features_rcar_gen4,
+ }, {
+ .compatible = "renesas,rcar-gen4-ipmmu",
+ .data = &ipmmu_features_rcar_gen4,
}, {
/* Terminator */
},
--
2.25.1
^ permalink raw reply related
* [PATCH 1/2] dt-bindings: iommu: renesas,ipmmu-vmsa: add r8a779f0 support
From: Yoshihiro Shimoda @ 2022-01-25 12:56 UTC (permalink / raw)
To: joro, will, robh+dt
Cc: iommu, devicetree, linux-renesas-soc, Yoshihiro Shimoda
In-Reply-To: <20220125125602.4144793-1-yoshihiro.shimoda.uh@renesas.com>
Document the compatible values for the IPMMU-VMSA blocks in
the Renesas R-Car S4-8 (R8A779F0) SoC and R-Car Gen4.
Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
---
.../devicetree/bindings/iommu/renesas,ipmmu-vmsa.yaml | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/Documentation/devicetree/bindings/iommu/renesas,ipmmu-vmsa.yaml b/Documentation/devicetree/bindings/iommu/renesas,ipmmu-vmsa.yaml
index ce0c715205c6..5159a87f3fa7 100644
--- a/Documentation/devicetree/bindings/iommu/renesas,ipmmu-vmsa.yaml
+++ b/Documentation/devicetree/bindings/iommu/renesas,ipmmu-vmsa.yaml
@@ -44,6 +44,10 @@ properties:
- renesas,ipmmu-r8a77990 # R-Car E3
- renesas,ipmmu-r8a77995 # R-Car D3
- renesas,ipmmu-r8a779a0 # R-Car V3U
+ - items:
+ - enum:
+ - renesas,ipmmu-r8a779f0 # R-Car S4-8
+ - const: renesas,rcar-gen4-ipmmu-vmsa # R-Car Gen4
reg:
maxItems: 1
--
2.25.1
^ permalink raw reply related
* [PATCH 0/2] iommu/ipmmu-vmsa: Add support for R-Car Gen4
From: Yoshihiro Shimoda @ 2022-01-25 12:56 UTC (permalink / raw)
To: joro, will, robh+dt
Cc: iommu, devicetree, linux-renesas-soc, Yoshihiro Shimoda
This patch series is based on renesas-drivers-2022-01-11-v5.16 [1].
Note that we have to prepare the following registers' setting
in a bootloader (U-Boot) because the registers are protected.
Otherwise, data mismatch happened if dmatest with the ipmmu is running.
=> mw eed01500 0xc0000000; mw eed41500 0xc0000000
[1]
https://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers.git/tag/?h=renesas-drivers-2022-01-11-v5.16
Yoshihiro Shimoda (2):
dt-bindings: iommu: renesas,ipmmu-vmsa: add r8a779f0 support
iommu/ipmmu-vmsa: Add support for R-Car Gen4
.../devicetree/bindings/iommu/renesas,ipmmu-vmsa.yaml | 4 ++++
drivers/iommu/ipmmu-vmsa.c | 10 +++++++---
2 files changed, 11 insertions(+), 3 deletions(-)
--
2.25.1
^ permalink raw reply
* Re: [PATCH v2 1/2] soc: mediatek: pwrap: add pwrap driver for MT8186 SoC
From: Johnson Wang @ 2022-01-25 12:51 UTC (permalink / raw)
To: Matthias Brugger, robh+dt
Cc: devicetree, linux-kernel, linux-arm-kernel, linux-mediatek,
angelogioacchino.delregno, Project_Global_Chrome_Upstream_Group
In-Reply-To: <f5486d12-b048-c062-e571-cf39da7e4c1b@gmail.com>
Hi Matthias,
On Tue, 2022-01-18 at 14:17 +0100, Matthias Brugger wrote:
>
> On 18/01/2022 10:25, Johnson Wang wrote:
> > Hi Matthias,
> >
> > On Fri, 2022-01-14 at 16:46 +0100, Matthias Brugger wrote:
> > >
> > > On 07/01/2022 11:46, Johnson Wang wrote:
> > > > MT8186 are highly integrated SoC and use PMIC_MT6366 for
> > > > power management. This patch adds pwrap master driver to
> > > > access PMIC_MT6366.
> > > >
> > >
> > > It seems this new arbiter is significantly different from the
> > > version
> > > 1. Please
> > > explain that in the commit message.
> > >
> > > > Signed-off-by: Johnson Wang <johnson.wang@mediatek.com>
> > > > ---
> > > > drivers/soc/mediatek/mtk-pmic-wrap.c | 72
> > > > ++++++++++++++++++++++++++++
> > > > 1 file changed, 72 insertions(+)
> > > >
> > > > diff --git a/drivers/soc/mediatek/mtk-pmic-wrap.c
> > > > b/drivers/soc/mediatek/mtk-pmic-wrap.c
> > > > index 952bc554f443..78866ebf7f04 100644
> > > > --- a/drivers/soc/mediatek/mtk-pmic-wrap.c
> > > > +++ b/drivers/soc/mediatek/mtk-pmic-wrap.c
> > > > @@ -30,6 +30,7 @@
> > > > #define PWRAP_GET_WACS_REQ(x) (((x) >> 19) &
> > > > 0x00000001)
> > > > #define PWRAP_STATE_SYNC_IDLE0 BIT(20)
> > > > #define PWRAP_STATE_INIT_DONE0 BIT(21)
> > > > +#define PWRAP_STATE_INIT_DONE0_V2 BIT(22)
> > >
> > > That's a strange name, does it come from the datasheet
> > > description?
> >
> > Thanks for your review.
> >
> > No, there is only PWRAP_STATE_INIT_DONE0 in MT8186 datasheet.
> > However, it's the 22nd bit in MT8186 and the 21st bit in other
> > SoCs.
> > So we changed its name to avoid redefinition of
> > PWRAP_STATE_INIT_DONE0.
> >
> > Could you give us some suggestion on proper definition naming?
> > Do you think PWRAP_STATE_INIT_DONE0_MT8186 will be a better choice?
> >
>
> Is this a difference that only will show up on the PMIC-wrapper of
> MT8186 or
> will other SoCs include the same IP? If not, then
> PWRAP_STATE_INIT_DONE0_MT8186
> should be fine. Otherwise we would need a better name.
>
In fact, we don't know whether following SoCs will include
the same IP in the future.
Can we just replace _V2 with _MT8186 this time or
please give us some suggestion on it.
Thanks for your response.
> > >
> > > > #define PWRAP_STATE_INIT_DONE1 BIT(15)
> > > >
> > > > /* macro for WACS FSM */
> > > > @@ -77,6 +78,8 @@
> > > > #define PWRAP_CAP_INT1_EN BIT(3)
> > > > #define PWRAP_CAP_WDT_SRC1 BIT(4)
> > > > #define PWRAP_CAP_ARB BIT(5)
> > > > +#define PWRAP_CAP_MONITOR_V2 BIT(6)
> > >
> > > Not used capability, please delete.
> > >
> > >
> > > Regards,
> > > Matthias
> >
> > PWRAP_CAP_MONITOR_V2 is not used right now.
> > We can remove it in next version.
> > But this capability will be added when we need it.
> >
>
> That's OK, we should add capability definitions once they are added
> to the
> driver, not before that.
>
> Thanks,
> Matthias
^ permalink raw reply
* Re: [PATCH v15 00/13] amphion video decoder/encoder driver
From: Hans Verkuil @ 2022-01-25 12:25 UTC (permalink / raw)
To: Ming Qian, mchehab, shawnguo, robh+dt, s.hauer
Cc: kernel, festevam, linux-imx, aisheng.dong, linux-media,
linux-kernel, devicetree, linux-arm-kernel
In-Reply-To: <2c3fcd05-35da-02e4-cd69-4a6e369d7005@xs4all.nl>
On 25/01/2022 13:07, Hans Verkuil wrote:
> Hi Ming,
>
> Can you take a look at the kernel test robot warnings? I suspect you're missing
> a header (linux/vmalloc.h?) for vzalloc et al that the alpha architecture doesn't
> automatically include.
>
> If it is just adding a single include in a single patch, then just post a 15.1 for
> that patch. If it is more complicated, then posting a v16 is easier.
Follow up: checkpatch.pl --strict is now OK, and so are sparse and smatch. So it's
just this and an Ack for the firmware patch that needs to be resolved.
Regards,
Hans
>
> Regards,
>
> Hans
>
> On 25/01/2022 08:11, Ming Qian wrote:
>> Hi all,
>>
>> This patch series adds support for
>> the amphion video encoder and decoder
>> via the VPU block present in imx8q platforms.
>> Currently, support for IMX8QXP and IMX8QM is included.
>>
>> It features decoding for the following formats:
>> - H.264
>> - HEVC
>> - MPEG4
>> - MPEG2
>> - VC1
>> - VP8
>>
>> It features encoding for the following formats:
>> - H.264
>>
>> The driver creates a separate device node for the encoder and decoder.
>>
>> This driver is dependent on vpu firmwares.
>> The firmwares have been submitted to linux-firmware.
>> The firmware patch is since commit
>> b563148fd28623f6b6ce68bb06c3dd3bd138b058:
>> linux-firmware: Update firmware file for Intel Bluetooth 9462
>> (Fri Oct 8 16:30:14 2021 +0530)
>>
>> and it's available in the git repository at:
>> https://github.com/mingqian-0/linux-firmware.git
>>
>> for you to fetch changes up to bb3eee4f99589d4910dee4c053a3a685546b5dbb:
>> amphion: add VPU firmwares for NXP i.MX8Q SoCs
>> (Tue Oct 12 15:09:57 2021 +0800)
>>
>> encoder is tested with gstreamer
>> decoder is tested with gstreamer, but the following patches are required:
>> https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1379
>> https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1381
>>
>>
>> Tested-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
>>
>>
>> Changelog:
>>
>> v15
>> - fix issues detected by "checkpatch.pl --strict"
>> - encoder add ctrl V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE
>>
>> v14
>> - fix some errors according to Hans's comments
>>
>> v13
>> - make a workaround that avoid firmware entering wfi wrongly
>>
>> v12
>> - support reset decoder when starting a new stream
>> - don't append an empty last buffer, set last_buffer_dequeued
>> - improve the resolution change flow
>> - return all buffers if start_streaming fail
>> - fill encoder capture buffer's filed to none
>> - fix a bug in calculating bytesperline
>>
>> v11
>> - fix dt_binding_check error after upgrade dtschema
>> - remove "default y"
>> - add media device
>>
>> v10
>> - refine vpu log, remove custom logging infrastructure
>> - support non contiguous planes format nv12m instead of nv12
>> - rename V4L2_PIX_FMT_NV12_8L128 to V4L2_PIX_FMT_NV12MT_8L128
>> - rename V4L2_PIX_FMT_NV12_10BE_8L128 to V4L2_PIX_FMT_NV12MT_10BE_8L128
>> - merge two module into one
>> - fix kernel panic in rmmod
>>
>> v9
>> - drop V4L2_BUF_FLAG_CODECCONFIG
>> - drop V4L2_EVENT_CODEC_ERROR
>> - drop V4L2_EVENT_SKIP - use the v4l2_buffer.sequence counter
>> - fix some build warnings with W=1 reported by kernel test robot
>>
>> v8
>> - move driver from driver/media/platform/imx/vpu-8q to
>> driver/media/platform/amphion
>> - rename driver name to amphion
>> - remove imx_vpu.h
>> - move the definition of V4L2_EVENT_CODEC_ERROR to videodev2.h
>> - move the definition of V4L2_EVENT_SKIP to videodev2.h
>>
>> v7
>> - fix build warnings with W=1 reported by kernel test robot
>>
>> v6:
>> - rename V4L2_PIX_FMT_NT8 to V4L2_PIX_FMT_NV12_8L128
>> - rename V4L2_PIX_FMT_NT10 to V4L2_PIX_FMT_NV12_10BE_8L128
>>
>> v5:
>> - move some definition from imx_vph.h to videodev2.h
>> - remove some unnecessary content
>> - add some documentation descriptions
>> - pass the lateset v4l2-compliance test
>>
>> v4:
>> - redefine the memory-region in devicetree bindings documentation
>> - use v4l2's mechanism to implement synchronize queuing ioctl
>> - remove the unnecessary mutex ioctl_sync
>> - don't notify source change event if the parameters are same as previously established
>> - add flag V4L2_FMT_FLAG_DYN_RESOLUTION to decoder's capture format
>>
>> v3:
>> - don't make vpu device node a simple-bus
>> - trigger probing vpu core in the driver
>> - remove unnecessary vpu core index property
>>
>> v2:
>> - fix dt bindings build error
>> - split driver patch into several parts to avoid exceeding bytes limit
>>
>> Compliance
>> ==========
>> # v4l2-compliance -d /dev/video0
>> v4l2-compliance 1.21.0-4859, 64 bits, 64-bit time_t
>> v4l2-compliance SHA: 493af03f3c57 2021-10-08 17:23:11
>>
>> Compliance test for amphion-vpu device /dev/video0:
>>
>> Driver Info:
>> Driver name : amphion-vpu
>> Card type : amphion vpu decoder
>> Bus info : platform: amphion-vpu
>> Driver version : 5.15.0
>> Capabilities : 0x84204000
>> Video Memory-to-Memory Multiplanar
>> Streaming
>> Extended Pix Format
>> Device Capabilities
>> Device Caps : 0x04204000
>> Video Memory-to-Memory Multiplanar
>> Streaming
>> Extended Pix Format
>> Detected Stateful Decoder
>> Media Driver Info:
>> Driver name : amphion-vpu
>> Model : amphion-vpu
>> Serial :
>> Bus info : platform: amphion-vpu
>> Media version : 5.15.0
>> Hardware revision: 0x00000000 (0)
>> Driver version : 5.15.0
>> Interface Info:
>> ID : 0x0300000c
>> Type : V4L Video
>> Entity Info:
>> ID : 0x00000001 (1)
>> Name : amphion-vpu-decoder-source
>> Function : V4L2 I/O
>> Pad 0x01000002 : 0: Source
>> Link 0x02000008: to remote pad 0x1000004 of entity 'amphion-vpu-decoder-proc' (Video Decoder): Data, Enabled, Immutable
>>
>> Required ioctls:
>> test MC information (see 'Media Driver Info' above): OK
>> test VIDIOC_QUERYCAP: OK
>> test invalid ioctls: OK
>>
>> Allow for multiple opens:
>> test second /dev/video0 open: OK
>> test VIDIOC_QUERYCAP: OK
>> test VIDIOC_G/S_PRIORITY: OK
>> test for unlimited opens: OK
>>
>> Debug ioctls:
>> test VIDIOC_DBG_G/S_REGISTER: OK (Not Supported)
>> test VIDIOC_LOG_STATUS: OK (Not Supported)
>>
>> Input ioctls:
>> test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
>> test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
>> test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
>> test VIDIOC_ENUMAUDIO: OK (Not Supported)
>> test VIDIOC_G/S/ENUMINPUT: OK (Not Supported)
>> test VIDIOC_G/S_AUDIO: OK (Not Supported)
>> Inputs: 0 Audio Inputs: 0 Tuners: 0
>>
>> Output ioctls:
>> test VIDIOC_G/S_MODULATOR: OK (Not Supported)
>> test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
>> test VIDIOC_ENUMAUDOUT: OK (Not Supported)
>> test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)
>> test VIDIOC_G/S_AUDOUT: OK (Not Supported)
>> Outputs: 0 Audio Outputs: 0 Modulators: 0
>>
>> Input/Output configuration ioctls:
>> test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
>> test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)
>> test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)
>> test VIDIOC_G/S_EDID: OK (Not Supported)
>>
>> Control ioctls:
>> test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK
>> test VIDIOC_QUERYCTRL: OK
>> test VIDIOC_G/S_CTRL: OK
>> test VIDIOC_G/S/TRY_EXT_CTRLS: OK
>> test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK
>> test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
>> Standard Controls: 3 Private Controls: 0
>>
>> Format ioctls:
>> test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK
>> test VIDIOC_G/S_PARM: OK (Not Supported)
>> test VIDIOC_G_FBUF: OK (Not Supported)
>> test VIDIOC_G_FMT: OK
>> test VIDIOC_TRY_FMT: OK
>> test VIDIOC_S_FMT: OK
>> test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported)
>> test Cropping: OK (Not Supported)
>> test Composing: OK
>> test Scaling: OK (Not Supported)
>>
>> Codec ioctls:
>> test VIDIOC_(TRY_)ENCODER_CMD: OK (Not Supported)
>> test VIDIOC_G_ENC_INDEX: OK (Not Supported)
>> test VIDIOC_(TRY_)DECODER_CMD: OK
>>
>> Buffer ioctls:
>> test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK
>> test VIDIOC_EXPBUF: OK
>> test Requests: OK (Not Supported)
>>
>> Total for amphion-vpu device /dev/video0: 46, Succeeded: 46, Failed: 0, Warnings: 0
>>
>> # v4l2-compliance -d /dev/video1
>> v4l2-compliance 1.21.0-4859, 64 bits, 64-bit time_t
>> v4l2-compliance SHA: 493af03f3c57 2021-10-08 17:23:11
>>
>> Compliance test for amphion-vpu device /dev/video1:
>>
>> Driver Info:
>> Driver name : amphion-vpu
>> Card type : amphion vpu encoder
>> Bus info : platform: amphion-vpu
>> Driver version : 5.15.0
>> Capabilities : 0x84204000
>> Video Memory-to-Memory Multiplanar
>> Streaming
>> Extended Pix Format
>> Device Capabilities
>> Device Caps : 0x04204000
>> Video Memory-to-Memory Multiplanar
>> Streaming
>> Extended Pix Format
>> Detected Stateful Encoder
>> Media Driver Info:
>> Driver name : amphion-vpu
>> Model : amphion-vpu
>> Serial :
>> Bus info : platform: amphion-vpu
>> Media version : 5.15.0
>> Hardware revision: 0x00000000 (0)
>> Driver version : 5.15.0
>> Interface Info:
>> ID : 0x0300001a
>> Type : V4L Video
>> Entity Info:
>> ID : 0x0000000f (15)
>> Name : amphion-vpu-encoder-source
>> Function : V4L2 I/O
>> Pad 0x01000010 : 0: Source
>> Link 0x02000016: to remote pad 0x1000012 of entity 'amphion-vpu-encoder-proc' (Video Encoder): Data, Enabled, Immutable
>>
>> Required ioctls:
>> test MC information (see 'Media Driver Info' above): OK
>> test VIDIOC_QUERYCAP: OK
>> test invalid ioctls: OK
>>
>> Allow for multiple opens:
>> test second /dev/video1 open: OK
>> test VIDIOC_QUERYCAP: OK
>> test VIDIOC_G/S_PRIORITY: OK
>> test for unlimited opens: OK
>>
>> Debug ioctls:
>> test VIDIOC_DBG_G/S_REGISTER: OK (Not Supported)
>> test VIDIOC_LOG_STATUS: OK (Not Supported)
>>
>> Input ioctls:
>> test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
>> test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
>> test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
>> test VIDIOC_ENUMAUDIO: OK (Not Supported)
>> test VIDIOC_G/S/ENUMINPUT: OK (Not Supported)
>> test VIDIOC_G/S_AUDIO: OK (Not Supported)
>> Inputs: 0 Audio Inputs: 0 Tuners: 0
>>
>> Output ioctls:
>> test VIDIOC_G/S_MODULATOR: OK (Not Supported)
>> test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
>> test VIDIOC_ENUMAUDOUT: OK (Not Supported)
>> test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)
>> test VIDIOC_G/S_AUDOUT: OK (Not Supported)
>> Outputs: 0 Audio Outputs: 0 Modulators: 0
>>
>> Input/Output configuration ioctls:
>> test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
>> test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)
>> test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)
>> test VIDIOC_G/S_EDID: OK (Not Supported)
>>
>> Control ioctls:
>> test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK
>> test VIDIOC_QUERYCTRL: OK
>> test VIDIOC_G/S_CTRL: OK
>> test VIDIOC_G/S/TRY_EXT_CTRLS: OK
>> test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK
>> test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
>> Standard Controls: 20 Private Controls: 0
>>
>> Format ioctls:
>> test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK
>> test VIDIOC_G/S_PARM: OK
>> test VIDIOC_G_FBUF: OK (Not Supported)
>> test VIDIOC_G_FMT: OK
>> test VIDIOC_TRY_FMT: OK
>> test VIDIOC_S_FMT: OK
>> test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported)
>> test Cropping: OK
>> test Composing: OK (Not Supported)
>> test Scaling: OK (Not Supported)
>>
>> Codec ioctls:
>> test VIDIOC_(TRY_)ENCODER_CMD: OK
>> test VIDIOC_G_ENC_INDEX: OK (Not Supported)
>> test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported)
>>
>> Buffer ioctls:
>> test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK
>> test VIDIOC_EXPBUF: OK
>> test Requests: OK (Not Supported)
>>
>> Total for amphion-vpu device /dev/video1: 46, Succeeded: 46, Failed: 0, Warnings: 0
>>
>> # v4l2-compliance -d /dev/media0
>> v4l2-compliance 1.21.0-4859, 64 bits, 64-bit time_t
>> v4l2-compliance SHA: 493af03f3c57 2021-10-08 17:23:11
>>
>> Compliance test for amphion-vpu device /dev/media0:
>>
>> Media Driver Info:
>> Driver name : amphion-vpu
>> Model : amphion-vpu
>> Serial :
>> Bus info : platform: amphion-vpu
>> Media version : 5.15.0
>> Hardware revision: 0x00000000 (0)
>> Driver version : 5.15.0
>>
>> Required ioctls:
>> test MEDIA_IOC_DEVICE_INFO: OK
>> test invalid ioctls: OK
>>
>> Allow for multiple opens:
>> test second /dev/media0 open: OK
>> test MEDIA_IOC_DEVICE_INFO: OK
>> test for unlimited opens: OK
>>
>> Media Controller ioctls:
>> test MEDIA_IOC_G_TOPOLOGY: OK
>> Entities: 6 Interfaces: 2 Pads: 8 Links: 8
>> test MEDIA_IOC_ENUM_ENTITIES/LINKS: OK
>> test MEDIA_IOC_SETUP_LINK: OK
>>
>> Total for amphion-vpu device /dev/media0: 8, Succeeded: 8, Failed: 0, Warnings: 0
>>
>> Ming Qian (13):
>> dt-bindings: media: amphion: add amphion video codec bindings
>> media: add nv12m_8l128 and nv12m_10be_8l128 video format.
>> media: amphion: add amphion vpu device driver
>> media: amphion: add vpu core driver
>> media: amphion: implement vpu core communication based on mailbox
>> media: amphion: add vpu v4l2 m2m support
>> media: amphion: add v4l2 m2m vpu encoder stateful driver
>> media: amphion: add v4l2 m2m vpu decoder stateful driver
>> media: amphion: implement windsor encoder rpc interface
>> media: amphion: implement malone decoder rpc interface
>> ARM64: dts: freescale: imx8q: add imx vpu codec entries
>> firmware: imx: scu-pd: imx8q: add vpu mu resources
>> MAINTAINERS: add AMPHION VPU CODEC V4L2 driver entry
>>
>> .../bindings/media/amphion,vpu.yaml | 180 ++
>> .../media/v4l/pixfmt-yuv-planar.rst | 28 +-
>> MAINTAINERS | 9 +
>> .../arm64/boot/dts/freescale/imx8-ss-vpu.dtsi | 72 +
>> arch/arm64/boot/dts/freescale/imx8qxp-mek.dts | 17 +
>> arch/arm64/boot/dts/freescale/imx8qxp.dtsi | 24 +
>> arch/arm64/configs/defconfig | 1 +
>> drivers/firmware/imx/scu-pd.c | 4 +
>> drivers/media/platform/Kconfig | 19 +
>> drivers/media/platform/Makefile | 2 +
>> drivers/media/platform/amphion/Makefile | 20 +
>> drivers/media/platform/amphion/vdec.c | 1694 +++++++++++++++++
>> drivers/media/platform/amphion/venc.c | 1364 +++++++++++++
>> drivers/media/platform/amphion/vpu.h | 356 ++++
>> drivers/media/platform/amphion/vpu_cmds.c | 436 +++++
>> drivers/media/platform/amphion/vpu_cmds.h | 25 +
>> drivers/media/platform/amphion/vpu_codec.h | 68 +
>> drivers/media/platform/amphion/vpu_color.c | 183 ++
>> drivers/media/platform/amphion/vpu_core.c | 870 +++++++++
>> drivers/media/platform/amphion/vpu_core.h | 15 +
>> drivers/media/platform/amphion/vpu_dbg.c | 495 +++++
>> drivers/media/platform/amphion/vpu_defs.h | 187 ++
>> drivers/media/platform/amphion/vpu_drv.c | 260 +++
>> drivers/media/platform/amphion/vpu_helpers.c | 413 ++++
>> drivers/media/platform/amphion/vpu_helpers.h | 74 +
>> drivers/media/platform/amphion/vpu_imx8q.c | 271 +++
>> drivers/media/platform/amphion/vpu_imx8q.h | 115 ++
>> drivers/media/platform/amphion/vpu_malone.c | 1625 ++++++++++++++++
>> drivers/media/platform/amphion/vpu_malone.h | 44 +
>> drivers/media/platform/amphion/vpu_mbox.c | 118 ++
>> drivers/media/platform/amphion/vpu_mbox.h | 16 +
>> drivers/media/platform/amphion/vpu_msgs.c | 385 ++++
>> drivers/media/platform/amphion/vpu_msgs.h | 14 +
>> drivers/media/platform/amphion/vpu_rpc.c | 257 +++
>> drivers/media/platform/amphion/vpu_rpc.h | 456 +++++
>> drivers/media/platform/amphion/vpu_v4l2.c | 720 +++++++
>> drivers/media/platform/amphion/vpu_v4l2.h | 55 +
>> drivers/media/platform/amphion/vpu_windsor.c | 1169 ++++++++++++
>> drivers/media/platform/amphion/vpu_windsor.h | 37 +
>> drivers/media/v4l2-core/v4l2-ioctl.c | 2 +
>> include/uapi/linux/videodev2.h | 2 +
>> 41 files changed, 12099 insertions(+), 3 deletions(-)
>> create mode 100644 Documentation/devicetree/bindings/media/amphion,vpu.yaml
>> create mode 100644 arch/arm64/boot/dts/freescale/imx8-ss-vpu.dtsi
>> create mode 100644 drivers/media/platform/amphion/Makefile
>> create mode 100644 drivers/media/platform/amphion/vdec.c
>> create mode 100644 drivers/media/platform/amphion/venc.c
>> create mode 100644 drivers/media/platform/amphion/vpu.h
>> create mode 100644 drivers/media/platform/amphion/vpu_cmds.c
>> create mode 100644 drivers/media/platform/amphion/vpu_cmds.h
>> create mode 100644 drivers/media/platform/amphion/vpu_codec.h
>> create mode 100644 drivers/media/platform/amphion/vpu_color.c
>> create mode 100644 drivers/media/platform/amphion/vpu_core.c
>> create mode 100644 drivers/media/platform/amphion/vpu_core.h
>> create mode 100644 drivers/media/platform/amphion/vpu_dbg.c
>> create mode 100644 drivers/media/platform/amphion/vpu_defs.h
>> create mode 100644 drivers/media/platform/amphion/vpu_drv.c
>> create mode 100644 drivers/media/platform/amphion/vpu_helpers.c
>> create mode 100644 drivers/media/platform/amphion/vpu_helpers.h
>> create mode 100644 drivers/media/platform/amphion/vpu_imx8q.c
>> create mode 100644 drivers/media/platform/amphion/vpu_imx8q.h
>> create mode 100644 drivers/media/platform/amphion/vpu_malone.c
>> create mode 100644 drivers/media/platform/amphion/vpu_malone.h
>> create mode 100644 drivers/media/platform/amphion/vpu_mbox.c
>> create mode 100644 drivers/media/platform/amphion/vpu_mbox.h
>> create mode 100644 drivers/media/platform/amphion/vpu_msgs.c
>> create mode 100644 drivers/media/platform/amphion/vpu_msgs.h
>> create mode 100644 drivers/media/platform/amphion/vpu_rpc.c
>> create mode 100644 drivers/media/platform/amphion/vpu_rpc.h
>> create mode 100644 drivers/media/platform/amphion/vpu_v4l2.c
>> create mode 100644 drivers/media/platform/amphion/vpu_v4l2.h
>> create mode 100644 drivers/media/platform/amphion/vpu_windsor.c
>> create mode 100644 drivers/media/platform/amphion/vpu_windsor.h
>>
>>
>> base-commit: e783362eb54cd99b2cac8b3a9aeac942e6f6ac07
>
^ permalink raw reply
* Re: [PATCH v15 12/13] firmware: imx: scu-pd: imx8q: add vpu mu resources
From: Hans Verkuil @ 2022-01-25 12:24 UTC (permalink / raw)
To: shawnguo
Cc: kernel, festevam, linux-imx, aisheng.dong, linux-media,
linux-kernel, devicetree, linux-arm-kernel, Ming Qian, s.hauer
In-Reply-To: <8717d91000002047c7d0925f5eae66fc7f795e27.1643077283.git.ming.qian@nxp.com>
Shawn, can you Ack this? I think it makes sense if I take this one through the
media subsystem.
Alternatively, if you prefer to take this patch yourself, then let me know.
Regards,
Hans
On 25/01/2022 08:11, Ming Qian wrote:
> the vpu core depends on the mu resources.
> if they're missed, the vpu can't work.
>
> Signed-off-by: Ming Qian <ming.qian@nxp.com>
> Signed-off-by: Shijie Qin <shijie.qin@nxp.com>
> Signed-off-by: Zhou Peng <eagle.zhou@nxp.com>
> ---
> drivers/firmware/imx/scu-pd.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/firmware/imx/scu-pd.c b/drivers/firmware/imx/scu-pd.c
> index ff6569c4a53b..af3d057e6421 100644
> --- a/drivers/firmware/imx/scu-pd.c
> +++ b/drivers/firmware/imx/scu-pd.c
> @@ -155,6 +155,10 @@ static const struct imx_sc_pd_range imx8qxp_scu_pd_ranges[] = {
> { "vpu-pid", IMX_SC_R_VPU_PID0, 8, true, 0 },
> { "vpu-dec0", IMX_SC_R_VPU_DEC_0, 1, false, 0 },
> { "vpu-enc0", IMX_SC_R_VPU_ENC_0, 1, false, 0 },
> + { "vpu-enc1", IMX_SC_R_VPU_ENC_1, 1, false, 0 },
> + { "vpu-mu0", IMX_SC_R_VPU_MU_0, 1, false, 0 },
> + { "vpu-mu1", IMX_SC_R_VPU_MU_1, 1, false, 0 },
> + { "vpu-mu2", IMX_SC_R_VPU_MU_2, 1, false, 0 },
>
> /* GPU SS */
> { "gpu0-pid", IMX_SC_R_GPU_0_PID0, 4, true, 0 },
^ permalink raw reply
* Re: [PATCH v15 00/13] amphion video decoder/encoder driver
From: Hans Verkuil @ 2022-01-25 12:07 UTC (permalink / raw)
To: Ming Qian, mchehab, shawnguo, robh+dt, s.hauer
Cc: kernel, festevam, linux-imx, aisheng.dong, linux-media,
linux-kernel, devicetree, linux-arm-kernel
In-Reply-To: <cover.1643077283.git.ming.qian@nxp.com>
Hi Ming,
Can you take a look at the kernel test robot warnings? I suspect you're missing
a header (linux/vmalloc.h?) for vzalloc et al that the alpha architecture doesn't
automatically include.
If it is just adding a single include in a single patch, then just post a 15.1 for
that patch. If it is more complicated, then posting a v16 is easier.
Regards,
Hans
On 25/01/2022 08:11, Ming Qian wrote:
> Hi all,
>
> This patch series adds support for
> the amphion video encoder and decoder
> via the VPU block present in imx8q platforms.
> Currently, support for IMX8QXP and IMX8QM is included.
>
> It features decoding for the following formats:
> - H.264
> - HEVC
> - MPEG4
> - MPEG2
> - VC1
> - VP8
>
> It features encoding for the following formats:
> - H.264
>
> The driver creates a separate device node for the encoder and decoder.
>
> This driver is dependent on vpu firmwares.
> The firmwares have been submitted to linux-firmware.
> The firmware patch is since commit
> b563148fd28623f6b6ce68bb06c3dd3bd138b058:
> linux-firmware: Update firmware file for Intel Bluetooth 9462
> (Fri Oct 8 16:30:14 2021 +0530)
>
> and it's available in the git repository at:
> https://github.com/mingqian-0/linux-firmware.git
>
> for you to fetch changes up to bb3eee4f99589d4910dee4c053a3a685546b5dbb:
> amphion: add VPU firmwares for NXP i.MX8Q SoCs
> (Tue Oct 12 15:09:57 2021 +0800)
>
> encoder is tested with gstreamer
> decoder is tested with gstreamer, but the following patches are required:
> https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1379
> https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1381
>
>
> Tested-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
>
>
> Changelog:
>
> v15
> - fix issues detected by "checkpatch.pl --strict"
> - encoder add ctrl V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE
>
> v14
> - fix some errors according to Hans's comments
>
> v13
> - make a workaround that avoid firmware entering wfi wrongly
>
> v12
> - support reset decoder when starting a new stream
> - don't append an empty last buffer, set last_buffer_dequeued
> - improve the resolution change flow
> - return all buffers if start_streaming fail
> - fill encoder capture buffer's filed to none
> - fix a bug in calculating bytesperline
>
> v11
> - fix dt_binding_check error after upgrade dtschema
> - remove "default y"
> - add media device
>
> v10
> - refine vpu log, remove custom logging infrastructure
> - support non contiguous planes format nv12m instead of nv12
> - rename V4L2_PIX_FMT_NV12_8L128 to V4L2_PIX_FMT_NV12MT_8L128
> - rename V4L2_PIX_FMT_NV12_10BE_8L128 to V4L2_PIX_FMT_NV12MT_10BE_8L128
> - merge two module into one
> - fix kernel panic in rmmod
>
> v9
> - drop V4L2_BUF_FLAG_CODECCONFIG
> - drop V4L2_EVENT_CODEC_ERROR
> - drop V4L2_EVENT_SKIP - use the v4l2_buffer.sequence counter
> - fix some build warnings with W=1 reported by kernel test robot
>
> v8
> - move driver from driver/media/platform/imx/vpu-8q to
> driver/media/platform/amphion
> - rename driver name to amphion
> - remove imx_vpu.h
> - move the definition of V4L2_EVENT_CODEC_ERROR to videodev2.h
> - move the definition of V4L2_EVENT_SKIP to videodev2.h
>
> v7
> - fix build warnings with W=1 reported by kernel test robot
>
> v6:
> - rename V4L2_PIX_FMT_NT8 to V4L2_PIX_FMT_NV12_8L128
> - rename V4L2_PIX_FMT_NT10 to V4L2_PIX_FMT_NV12_10BE_8L128
>
> v5:
> - move some definition from imx_vph.h to videodev2.h
> - remove some unnecessary content
> - add some documentation descriptions
> - pass the lateset v4l2-compliance test
>
> v4:
> - redefine the memory-region in devicetree bindings documentation
> - use v4l2's mechanism to implement synchronize queuing ioctl
> - remove the unnecessary mutex ioctl_sync
> - don't notify source change event if the parameters are same as previously established
> - add flag V4L2_FMT_FLAG_DYN_RESOLUTION to decoder's capture format
>
> v3:
> - don't make vpu device node a simple-bus
> - trigger probing vpu core in the driver
> - remove unnecessary vpu core index property
>
> v2:
> - fix dt bindings build error
> - split driver patch into several parts to avoid exceeding bytes limit
>
> Compliance
> ==========
> # v4l2-compliance -d /dev/video0
> v4l2-compliance 1.21.0-4859, 64 bits, 64-bit time_t
> v4l2-compliance SHA: 493af03f3c57 2021-10-08 17:23:11
>
> Compliance test for amphion-vpu device /dev/video0:
>
> Driver Info:
> Driver name : amphion-vpu
> Card type : amphion vpu decoder
> Bus info : platform: amphion-vpu
> Driver version : 5.15.0
> Capabilities : 0x84204000
> Video Memory-to-Memory Multiplanar
> Streaming
> Extended Pix Format
> Device Capabilities
> Device Caps : 0x04204000
> Video Memory-to-Memory Multiplanar
> Streaming
> Extended Pix Format
> Detected Stateful Decoder
> Media Driver Info:
> Driver name : amphion-vpu
> Model : amphion-vpu
> Serial :
> Bus info : platform: amphion-vpu
> Media version : 5.15.0
> Hardware revision: 0x00000000 (0)
> Driver version : 5.15.0
> Interface Info:
> ID : 0x0300000c
> Type : V4L Video
> Entity Info:
> ID : 0x00000001 (1)
> Name : amphion-vpu-decoder-source
> Function : V4L2 I/O
> Pad 0x01000002 : 0: Source
> Link 0x02000008: to remote pad 0x1000004 of entity 'amphion-vpu-decoder-proc' (Video Decoder): Data, Enabled, Immutable
>
> Required ioctls:
> test MC information (see 'Media Driver Info' above): OK
> test VIDIOC_QUERYCAP: OK
> test invalid ioctls: OK
>
> Allow for multiple opens:
> test second /dev/video0 open: OK
> test VIDIOC_QUERYCAP: OK
> test VIDIOC_G/S_PRIORITY: OK
> test for unlimited opens: OK
>
> Debug ioctls:
> test VIDIOC_DBG_G/S_REGISTER: OK (Not Supported)
> test VIDIOC_LOG_STATUS: OK (Not Supported)
>
> Input ioctls:
> test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
> test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
> test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
> test VIDIOC_ENUMAUDIO: OK (Not Supported)
> test VIDIOC_G/S/ENUMINPUT: OK (Not Supported)
> test VIDIOC_G/S_AUDIO: OK (Not Supported)
> Inputs: 0 Audio Inputs: 0 Tuners: 0
>
> Output ioctls:
> test VIDIOC_G/S_MODULATOR: OK (Not Supported)
> test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
> test VIDIOC_ENUMAUDOUT: OK (Not Supported)
> test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)
> test VIDIOC_G/S_AUDOUT: OK (Not Supported)
> Outputs: 0 Audio Outputs: 0 Modulators: 0
>
> Input/Output configuration ioctls:
> test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
> test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)
> test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)
> test VIDIOC_G/S_EDID: OK (Not Supported)
>
> Control ioctls:
> test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK
> test VIDIOC_QUERYCTRL: OK
> test VIDIOC_G/S_CTRL: OK
> test VIDIOC_G/S/TRY_EXT_CTRLS: OK
> test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK
> test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
> Standard Controls: 3 Private Controls: 0
>
> Format ioctls:
> test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK
> test VIDIOC_G/S_PARM: OK (Not Supported)
> test VIDIOC_G_FBUF: OK (Not Supported)
> test VIDIOC_G_FMT: OK
> test VIDIOC_TRY_FMT: OK
> test VIDIOC_S_FMT: OK
> test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported)
> test Cropping: OK (Not Supported)
> test Composing: OK
> test Scaling: OK (Not Supported)
>
> Codec ioctls:
> test VIDIOC_(TRY_)ENCODER_CMD: OK (Not Supported)
> test VIDIOC_G_ENC_INDEX: OK (Not Supported)
> test VIDIOC_(TRY_)DECODER_CMD: OK
>
> Buffer ioctls:
> test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK
> test VIDIOC_EXPBUF: OK
> test Requests: OK (Not Supported)
>
> Total for amphion-vpu device /dev/video0: 46, Succeeded: 46, Failed: 0, Warnings: 0
>
> # v4l2-compliance -d /dev/video1
> v4l2-compliance 1.21.0-4859, 64 bits, 64-bit time_t
> v4l2-compliance SHA: 493af03f3c57 2021-10-08 17:23:11
>
> Compliance test for amphion-vpu device /dev/video1:
>
> Driver Info:
> Driver name : amphion-vpu
> Card type : amphion vpu encoder
> Bus info : platform: amphion-vpu
> Driver version : 5.15.0
> Capabilities : 0x84204000
> Video Memory-to-Memory Multiplanar
> Streaming
> Extended Pix Format
> Device Capabilities
> Device Caps : 0x04204000
> Video Memory-to-Memory Multiplanar
> Streaming
> Extended Pix Format
> Detected Stateful Encoder
> Media Driver Info:
> Driver name : amphion-vpu
> Model : amphion-vpu
> Serial :
> Bus info : platform: amphion-vpu
> Media version : 5.15.0
> Hardware revision: 0x00000000 (0)
> Driver version : 5.15.0
> Interface Info:
> ID : 0x0300001a
> Type : V4L Video
> Entity Info:
> ID : 0x0000000f (15)
> Name : amphion-vpu-encoder-source
> Function : V4L2 I/O
> Pad 0x01000010 : 0: Source
> Link 0x02000016: to remote pad 0x1000012 of entity 'amphion-vpu-encoder-proc' (Video Encoder): Data, Enabled, Immutable
>
> Required ioctls:
> test MC information (see 'Media Driver Info' above): OK
> test VIDIOC_QUERYCAP: OK
> test invalid ioctls: OK
>
> Allow for multiple opens:
> test second /dev/video1 open: OK
> test VIDIOC_QUERYCAP: OK
> test VIDIOC_G/S_PRIORITY: OK
> test for unlimited opens: OK
>
> Debug ioctls:
> test VIDIOC_DBG_G/S_REGISTER: OK (Not Supported)
> test VIDIOC_LOG_STATUS: OK (Not Supported)
>
> Input ioctls:
> test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
> test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
> test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
> test VIDIOC_ENUMAUDIO: OK (Not Supported)
> test VIDIOC_G/S/ENUMINPUT: OK (Not Supported)
> test VIDIOC_G/S_AUDIO: OK (Not Supported)
> Inputs: 0 Audio Inputs: 0 Tuners: 0
>
> Output ioctls:
> test VIDIOC_G/S_MODULATOR: OK (Not Supported)
> test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
> test VIDIOC_ENUMAUDOUT: OK (Not Supported)
> test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)
> test VIDIOC_G/S_AUDOUT: OK (Not Supported)
> Outputs: 0 Audio Outputs: 0 Modulators: 0
>
> Input/Output configuration ioctls:
> test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
> test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)
> test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)
> test VIDIOC_G/S_EDID: OK (Not Supported)
>
> Control ioctls:
> test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK
> test VIDIOC_QUERYCTRL: OK
> test VIDIOC_G/S_CTRL: OK
> test VIDIOC_G/S/TRY_EXT_CTRLS: OK
> test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK
> test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
> Standard Controls: 20 Private Controls: 0
>
> Format ioctls:
> test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK
> test VIDIOC_G/S_PARM: OK
> test VIDIOC_G_FBUF: OK (Not Supported)
> test VIDIOC_G_FMT: OK
> test VIDIOC_TRY_FMT: OK
> test VIDIOC_S_FMT: OK
> test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported)
> test Cropping: OK
> test Composing: OK (Not Supported)
> test Scaling: OK (Not Supported)
>
> Codec ioctls:
> test VIDIOC_(TRY_)ENCODER_CMD: OK
> test VIDIOC_G_ENC_INDEX: OK (Not Supported)
> test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported)
>
> Buffer ioctls:
> test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK
> test VIDIOC_EXPBUF: OK
> test Requests: OK (Not Supported)
>
> Total for amphion-vpu device /dev/video1: 46, Succeeded: 46, Failed: 0, Warnings: 0
>
> # v4l2-compliance -d /dev/media0
> v4l2-compliance 1.21.0-4859, 64 bits, 64-bit time_t
> v4l2-compliance SHA: 493af03f3c57 2021-10-08 17:23:11
>
> Compliance test for amphion-vpu device /dev/media0:
>
> Media Driver Info:
> Driver name : amphion-vpu
> Model : amphion-vpu
> Serial :
> Bus info : platform: amphion-vpu
> Media version : 5.15.0
> Hardware revision: 0x00000000 (0)
> Driver version : 5.15.0
>
> Required ioctls:
> test MEDIA_IOC_DEVICE_INFO: OK
> test invalid ioctls: OK
>
> Allow for multiple opens:
> test second /dev/media0 open: OK
> test MEDIA_IOC_DEVICE_INFO: OK
> test for unlimited opens: OK
>
> Media Controller ioctls:
> test MEDIA_IOC_G_TOPOLOGY: OK
> Entities: 6 Interfaces: 2 Pads: 8 Links: 8
> test MEDIA_IOC_ENUM_ENTITIES/LINKS: OK
> test MEDIA_IOC_SETUP_LINK: OK
>
> Total for amphion-vpu device /dev/media0: 8, Succeeded: 8, Failed: 0, Warnings: 0
>
> Ming Qian (13):
> dt-bindings: media: amphion: add amphion video codec bindings
> media: add nv12m_8l128 and nv12m_10be_8l128 video format.
> media: amphion: add amphion vpu device driver
> media: amphion: add vpu core driver
> media: amphion: implement vpu core communication based on mailbox
> media: amphion: add vpu v4l2 m2m support
> media: amphion: add v4l2 m2m vpu encoder stateful driver
> media: amphion: add v4l2 m2m vpu decoder stateful driver
> media: amphion: implement windsor encoder rpc interface
> media: amphion: implement malone decoder rpc interface
> ARM64: dts: freescale: imx8q: add imx vpu codec entries
> firmware: imx: scu-pd: imx8q: add vpu mu resources
> MAINTAINERS: add AMPHION VPU CODEC V4L2 driver entry
>
> .../bindings/media/amphion,vpu.yaml | 180 ++
> .../media/v4l/pixfmt-yuv-planar.rst | 28 +-
> MAINTAINERS | 9 +
> .../arm64/boot/dts/freescale/imx8-ss-vpu.dtsi | 72 +
> arch/arm64/boot/dts/freescale/imx8qxp-mek.dts | 17 +
> arch/arm64/boot/dts/freescale/imx8qxp.dtsi | 24 +
> arch/arm64/configs/defconfig | 1 +
> drivers/firmware/imx/scu-pd.c | 4 +
> drivers/media/platform/Kconfig | 19 +
> drivers/media/platform/Makefile | 2 +
> drivers/media/platform/amphion/Makefile | 20 +
> drivers/media/platform/amphion/vdec.c | 1694 +++++++++++++++++
> drivers/media/platform/amphion/venc.c | 1364 +++++++++++++
> drivers/media/platform/amphion/vpu.h | 356 ++++
> drivers/media/platform/amphion/vpu_cmds.c | 436 +++++
> drivers/media/platform/amphion/vpu_cmds.h | 25 +
> drivers/media/platform/amphion/vpu_codec.h | 68 +
> drivers/media/platform/amphion/vpu_color.c | 183 ++
> drivers/media/platform/amphion/vpu_core.c | 870 +++++++++
> drivers/media/platform/amphion/vpu_core.h | 15 +
> drivers/media/platform/amphion/vpu_dbg.c | 495 +++++
> drivers/media/platform/amphion/vpu_defs.h | 187 ++
> drivers/media/platform/amphion/vpu_drv.c | 260 +++
> drivers/media/platform/amphion/vpu_helpers.c | 413 ++++
> drivers/media/platform/amphion/vpu_helpers.h | 74 +
> drivers/media/platform/amphion/vpu_imx8q.c | 271 +++
> drivers/media/platform/amphion/vpu_imx8q.h | 115 ++
> drivers/media/platform/amphion/vpu_malone.c | 1625 ++++++++++++++++
> drivers/media/platform/amphion/vpu_malone.h | 44 +
> drivers/media/platform/amphion/vpu_mbox.c | 118 ++
> drivers/media/platform/amphion/vpu_mbox.h | 16 +
> drivers/media/platform/amphion/vpu_msgs.c | 385 ++++
> drivers/media/platform/amphion/vpu_msgs.h | 14 +
> drivers/media/platform/amphion/vpu_rpc.c | 257 +++
> drivers/media/platform/amphion/vpu_rpc.h | 456 +++++
> drivers/media/platform/amphion/vpu_v4l2.c | 720 +++++++
> drivers/media/platform/amphion/vpu_v4l2.h | 55 +
> drivers/media/platform/amphion/vpu_windsor.c | 1169 ++++++++++++
> drivers/media/platform/amphion/vpu_windsor.h | 37 +
> drivers/media/v4l2-core/v4l2-ioctl.c | 2 +
> include/uapi/linux/videodev2.h | 2 +
> 41 files changed, 12099 insertions(+), 3 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/media/amphion,vpu.yaml
> create mode 100644 arch/arm64/boot/dts/freescale/imx8-ss-vpu.dtsi
> create mode 100644 drivers/media/platform/amphion/Makefile
> create mode 100644 drivers/media/platform/amphion/vdec.c
> create mode 100644 drivers/media/platform/amphion/venc.c
> create mode 100644 drivers/media/platform/amphion/vpu.h
> create mode 100644 drivers/media/platform/amphion/vpu_cmds.c
> create mode 100644 drivers/media/platform/amphion/vpu_cmds.h
> create mode 100644 drivers/media/platform/amphion/vpu_codec.h
> create mode 100644 drivers/media/platform/amphion/vpu_color.c
> create mode 100644 drivers/media/platform/amphion/vpu_core.c
> create mode 100644 drivers/media/platform/amphion/vpu_core.h
> create mode 100644 drivers/media/platform/amphion/vpu_dbg.c
> create mode 100644 drivers/media/platform/amphion/vpu_defs.h
> create mode 100644 drivers/media/platform/amphion/vpu_drv.c
> create mode 100644 drivers/media/platform/amphion/vpu_helpers.c
> create mode 100644 drivers/media/platform/amphion/vpu_helpers.h
> create mode 100644 drivers/media/platform/amphion/vpu_imx8q.c
> create mode 100644 drivers/media/platform/amphion/vpu_imx8q.h
> create mode 100644 drivers/media/platform/amphion/vpu_malone.c
> create mode 100644 drivers/media/platform/amphion/vpu_malone.h
> create mode 100644 drivers/media/platform/amphion/vpu_mbox.c
> create mode 100644 drivers/media/platform/amphion/vpu_mbox.h
> create mode 100644 drivers/media/platform/amphion/vpu_msgs.c
> create mode 100644 drivers/media/platform/amphion/vpu_msgs.h
> create mode 100644 drivers/media/platform/amphion/vpu_rpc.c
> create mode 100644 drivers/media/platform/amphion/vpu_rpc.h
> create mode 100644 drivers/media/platform/amphion/vpu_v4l2.c
> create mode 100644 drivers/media/platform/amphion/vpu_v4l2.h
> create mode 100644 drivers/media/platform/amphion/vpu_windsor.c
> create mode 100644 drivers/media/platform/amphion/vpu_windsor.h
>
>
> base-commit: e783362eb54cd99b2cac8b3a9aeac942e6f6ac07
^ permalink raw reply
* Re: [PATCH] ARM: dts: rockchip: fix MMC compatibles for rk3288
From: Johan Jonker @ 2022-01-25 12:14 UTC (permalink / raw)
To: John Keeping, Heiko Stuebner
Cc: Rob Herring, linux-arm-kernel, linux-rockchip, devicetree,
linux-kernel
In-Reply-To: <20220125115007.3138311-1-john@metanate.com>
Hi John,
MMC aliases should go in the dts board files.
Sort on reg address, based on availability and without number gab.
(For rk3288 a lot of boards to change. That's why it wasn't done
yet...Could someone pick that up?)
Johan
On 1/25/22 12:50, John Keeping wrote:
> Prior to commit 4bac670aa5cb ("mmc: dw_mmc: rockchip: use common_caps")
> the mshcN aliases were used in an unusual way by the dw_mmc driver and
> affected behaviour. Now that this has been fixed, rename the mmc
> aliases to use the standard form.
>
> Signed-off-by: John Keeping <john@metanate.com>
> ---
> arch/arm/boot/dts/rk3288.dtsi | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi
> index aaaa61875701..50fa0a4652b5 100644
> --- a/arch/arm/boot/dts/rk3288.dtsi
> +++ b/arch/arm/boot/dts/rk3288.dtsi
> @@ -25,10 +25,10 @@ aliases {
> i2c3 = &i2c3;
> i2c4 = &i2c4;
> i2c5 = &i2c5;
> - mshc0 = &emmc;
> - mshc1 = &sdmmc;
> - mshc2 = &sdio0;
> - mshc3 = &sdio1;
> + mmc0 = &emmc;
> + mmc1 = &sdmmc;
> + mmc2 = &sdio0;
> + mmc3 = &sdio1;
> serial0 = &uart0;
> serial1 = &uart1;
> serial2 = &uart2;
^ permalink raw reply
* Re: [PATCH 6/8] nvmem: transformations: ethernet address offset support
From: Rafał Miłecki @ 2022-01-25 12:08 UTC (permalink / raw)
To: Michael Walle, linux-mtd, devicetree, linux-kernel,
linux-arm-kernel, netdev
Cc: Miquel Raynal, Richard Weinberger, Vignesh Raghavendra,
Rob Herring, Srinivas Kandagatla, Shawn Guo, Li Yang,
Frank Rowand, David S . Miller, Jakub Kicinski, Ansuel Smith,
Andrew Lunn
In-Reply-To: <20211228142549.1275412-7-michael@walle.cc>
On 28.12.2021 15:25, Michael Walle wrote:
> An nvmem cell might just contain a base MAC address. To generate a
> address of a specific interface, add a transformation to add an offset
> to this base address.
>
> Add a generic implementation and the first user of it, namely the sl28
> vpd storage.
>
> Signed-off-by: Michael Walle <michael@walle.cc>
> ---
> drivers/nvmem/transformations.c | 45 +++++++++++++++++++++++++++++++++
> 1 file changed, 45 insertions(+)
>
> diff --git a/drivers/nvmem/transformations.c b/drivers/nvmem/transformations.c
> index 61642a9feefb..15cd26da1f83 100644
> --- a/drivers/nvmem/transformations.c
> +++ b/drivers/nvmem/transformations.c
> @@ -12,7 +12,52 @@ struct nvmem_transformations {
> nvmem_cell_post_process_t pp;
> };
>
> +/**
> + * nvmem_transform_mac_address_offset() - Add an offset to a mac address cell
> + *
> + * A simple transformation which treats the index argument as an offset and add
> + * it to a mac address. This is useful, if the nvmem cell stores a base
> + * ethernet address.
> + *
> + * @index: nvmem cell index
> + * @data: nvmem data
> + * @bytes: length of the data
> + *
> + * Return: 0 or negative error code on failure.
> + */
> +static int nvmem_transform_mac_address_offset(int index, unsigned int offset,
> + void *data, size_t bytes)
> +{
> + if (bytes != ETH_ALEN)
> + return -EINVAL;
> +
> + if (index < 0)
> + return -EINVAL;
> +
> + if (!is_valid_ether_addr(data))
> + return -EINVAL;
> +
> + eth_addr_add(data, index);
> +
> + return 0;
> +}
> +
> +static int nvmem_kontron_sl28_vpd_pp(void *priv, const char *id, int index,
> + unsigned int offset, void *data,
> + size_t bytes)
> +{
> + if (!id)
> + return 0;
> +
> + if (!strcmp(id, "mac-address"))
> + return nvmem_transform_mac_address_offset(index, offset, data,
> + bytes);
> +
> + return 0;
> +}
> +
> static const struct nvmem_transformations nvmem_transformations[] = {
> + { .compatible = "kontron,sl28-vpd", .pp = nvmem_kontron_sl28_vpd_pp },
> {}
> };
I think it's a rather bad solution that won't scale well at all.
You'll end up with a lot of NVMEM device specific strings and code in a
NVMEM core.
You'll have a lot of duplicated code (many device specific functions
calling e.g. nvmem_transform_mac_address_offset()).
I think it also ignores fact that one NVMEM device can be reused in
multiple platforms / device models using different (e.g. vendor / device
specific) cells.
What if we have:
1. Foo company using "kontron,sl28-vpd" with NVMEM cells:
a. "mac-address"
b. "mac-address-2"
c. "mac-address-3"
2. Bar company using "kontron,sl28-vpd" with NVMEM cell:
a. "mac-address"
In the first case you don't want any transformation.
If you consider using transformations for ASCII formats too then it
causes another conflict issue. Consider two devices:
1. Foo company device with BIN format of MAC
2. Bar company device with ASCII format of MAC
Both may use exactly the same binding:
partition@0 {
compatible = "nvmem-cells";
reg = <0x0 0x100000>;
label = "bootloader";
#address-cells = <1>;
#size-cells = <1>;
mac-address@100 {
reg = <0x100 0x6>;
};
};
how are you going to handle them with proposed implementation? You can't
support both if you share "nvmem-cells" compatible string.
I think that what can solve those problems is assing "compatible" to
NVMEM cells.
Let me think about details of that possible solution.
^ permalink raw reply
* [PATCH] ARM: dts: rockchip: fix MMC compatibles for rk3288
From: John Keeping @ 2022-01-25 11:50 UTC (permalink / raw)
To: Heiko Stuebner
Cc: John Keeping, Rob Herring, linux-arm-kernel, linux-rockchip,
devicetree, linux-kernel
Prior to commit 4bac670aa5cb ("mmc: dw_mmc: rockchip: use common_caps")
the mshcN aliases were used in an unusual way by the dw_mmc driver and
affected behaviour. Now that this has been fixed, rename the mmc
aliases to use the standard form.
Signed-off-by: John Keeping <john@metanate.com>
---
arch/arm/boot/dts/rk3288.dtsi | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/arm/boot/dts/rk3288.dtsi b/arch/arm/boot/dts/rk3288.dtsi
index aaaa61875701..50fa0a4652b5 100644
--- a/arch/arm/boot/dts/rk3288.dtsi
+++ b/arch/arm/boot/dts/rk3288.dtsi
@@ -25,10 +25,10 @@ aliases {
i2c3 = &i2c3;
i2c4 = &i2c4;
i2c5 = &i2c5;
- mshc0 = &emmc;
- mshc1 = &sdmmc;
- mshc2 = &sdio0;
- mshc3 = &sdio1;
+ mmc0 = &emmc;
+ mmc1 = &sdmmc;
+ mmc2 = &sdio0;
+ mmc3 = &sdio1;
serial0 = &uart0;
serial1 = &uart1;
serial2 = &uart2;
--
2.35.0
^ permalink raw reply related
* Re: [v2 2/2] i2c: mediatek: Add i2c compatible for Mediatek MT8186
From: Qii Wang @ 2022-01-25 11:27 UTC (permalink / raw)
To: Kewei Xu, wsa
Cc: matthias.bgg, robh+dt, linux-i2c, devicetree, linux-arm-kernel,
linux-kernel, linux-mediatek, srv_heupstream, leilk.liu,
liguo.zhang, caiyu.chen, housong.zhang, yuhan.wei, ryan-jh.yu
In-Reply-To: <20220125110413.18988-3-kewei.xu@mediatek.com>
On Tue, 2022-01-25 at 19:04 +0800, Kewei Xu wrote:
> Add i2c compatible for MT8186. Compare to MT8192 i2c controller,
> MT8186 doesn't need handshake signal witch apdma.
>
> Signed-off-by: Kewei Xu <kewei.xu@mediatek.com>
Reviewed-by: Qii Wang <qii.wang@mediatek.com>
> ---
> drivers/i2c/busses/i2c-mt65xx.c | 14 ++++++++++++++
> 1 file changed, 14 insertions(+)
>
> diff --git a/drivers/i2c/busses/i2c-mt65xx.c
> b/drivers/i2c/busses/i2c-mt65xx.c
> index 9ea427f53083..aa4d21838e14 100644
> --- a/drivers/i2c/busses/i2c-mt65xx.c
> +++ b/drivers/i2c/busses/i2c-mt65xx.c
> @@ -397,6 +397,19 @@ static const struct mtk_i2c_compatible
> mt8183_compat = {
> .max_dma_support = 33,
> };
>
> +static const struct mtk_i2c_compatible mt8186_compat = {
> + .regs = mt_i2c_regs_v2,
> + .pmic_i2c = 0,
> + .dcm = 0,
> + .auto_restart = 1,
> + .aux_len_reg = 1,
> + .timing_adjust = 1,
> + .dma_sync = 0,
> + .ltiming_adjust = 1,
> + .apdma_sync = 0,
> + .max_dma_support = 36,
> +};
> +
> static const struct mtk_i2c_compatible mt8192_compat = {
> .quirks = &mt8183_i2c_quirks,
> .regs = mt_i2c_regs_v2,
> @@ -418,6 +431,7 @@ static const struct of_device_id
> mtk_i2c_of_match[] = {
> { .compatible = "mediatek,mt7622-i2c", .data = &mt7622_compat
> },
> { .compatible = "mediatek,mt8173-i2c", .data = &mt8173_compat
> },
> { .compatible = "mediatek,mt8183-i2c", .data = &mt8183_compat
> },
> + { .compatible = "mediatek,mt8186-i2c", .data = &mt8186_compat
> },
> { .compatible = "mediatek,mt8192-i2c", .data = &mt8192_compat
> },
> {}
> };
^ permalink raw reply
* Re: [v2 1/2] dt-bindings: i2c: update bindings for MT8186 SoC
From: Qii Wang @ 2022-01-25 11:26 UTC (permalink / raw)
To: Kewei Xu, wsa
Cc: matthias.bgg, robh+dt, linux-i2c, devicetree, linux-arm-kernel,
linux-kernel, linux-mediatek, srv_heupstream, leilk.liu,
liguo.zhang, caiyu.chen, housong.zhang, yuhan.wei, ryan-jh.yu
In-Reply-To: <20220125110413.18988-2-kewei.xu@mediatek.com>
On Tue, 2022-01-25 at 19:04 +0800, Kewei Xu wrote:
> Add a DT binding documentation for the MT8186 soc.
>
> Signed-off-by: Kewei Xu <kewei.xu@mediatek.com>
Reviewed-by: Qii Wang <qii.wang@mediatek.com>
> ---
> Documentation/devicetree/bindings/i2c/i2c-mt65xx.txt | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/Documentation/devicetree/bindings/i2c/i2c-mt65xx.txt
> b/Documentation/devicetree/bindings/i2c/i2c-mt65xx.txt
> index 5ea216ae7084..88f74a3c81ec 100644
> --- a/Documentation/devicetree/bindings/i2c/i2c-mt65xx.txt
> +++ b/Documentation/devicetree/bindings/i2c/i2c-mt65xx.txt
> @@ -14,6 +14,7 @@ Required properties:
> "mediatek,mt7629-i2c", "mediatek,mt2712-i2c": for MediaTek
> MT7629
> "mediatek,mt8173-i2c": for MediaTek MT8173
> "mediatek,mt8183-i2c": for MediaTek MT8183
> + "mediatek,mt8186-i2c": for MediaTek MT8186
> "mediatek,mt8192-i2c": for MediaTek MT8192
> "mediatek,mt8195-i2c", "mediatek,mt8192-i2c": for MediaTek
> MT8195
> "mediatek,mt8516-i2c", "mediatek,mt2712-i2c": for MediaTek
> MT8516
^ permalink raw reply
* [v2 1/2] dt-bindings: i2c: update bindings for MT8186 SoC
From: Kewei Xu @ 2022-01-25 11:04 UTC (permalink / raw)
To: wsa
Cc: matthias.bgg, robh+dt, linux-i2c, devicetree, linux-arm-kernel,
linux-kernel, linux-mediatek, srv_heupstream, leilk.liu, qii.wang,
liguo.zhang, caiyu.chen, housong.zhang, yuhan.wei, kewei.xu,
ryan-jh.yu
In-Reply-To: <20220125110413.18988-1-kewei.xu@mediatek.com>
Add a DT binding documentation for the MT8186 soc.
Signed-off-by: Kewei Xu <kewei.xu@mediatek.com>
---
Documentation/devicetree/bindings/i2c/i2c-mt65xx.txt | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/i2c/i2c-mt65xx.txt b/Documentation/devicetree/bindings/i2c/i2c-mt65xx.txt
index 5ea216ae7084..88f74a3c81ec 100644
--- a/Documentation/devicetree/bindings/i2c/i2c-mt65xx.txt
+++ b/Documentation/devicetree/bindings/i2c/i2c-mt65xx.txt
@@ -14,6 +14,7 @@ Required properties:
"mediatek,mt7629-i2c", "mediatek,mt2712-i2c": for MediaTek MT7629
"mediatek,mt8173-i2c": for MediaTek MT8173
"mediatek,mt8183-i2c": for MediaTek MT8183
+ "mediatek,mt8186-i2c": for MediaTek MT8186
"mediatek,mt8192-i2c": for MediaTek MT8192
"mediatek,mt8195-i2c", "mediatek,mt8192-i2c": for MediaTek MT8195
"mediatek,mt8516-i2c", "mediatek,mt2712-i2c": for MediaTek MT8516
--
2.25.1
^ permalink raw reply related
* [v2 2/2] i2c: mediatek: Add i2c compatible for Mediatek MT8186
From: Kewei Xu @ 2022-01-25 11:04 UTC (permalink / raw)
To: wsa
Cc: matthias.bgg, robh+dt, linux-i2c, devicetree, linux-arm-kernel,
linux-kernel, linux-mediatek, srv_heupstream, leilk.liu, qii.wang,
liguo.zhang, caiyu.chen, housong.zhang, yuhan.wei, kewei.xu,
ryan-jh.yu
In-Reply-To: <20220125110413.18988-1-kewei.xu@mediatek.com>
Add i2c compatible for MT8186. Compare to MT8192 i2c controller,
MT8186 doesn't need handshake signal witch apdma.
Signed-off-by: Kewei Xu <kewei.xu@mediatek.com>
---
drivers/i2c/busses/i2c-mt65xx.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/drivers/i2c/busses/i2c-mt65xx.c b/drivers/i2c/busses/i2c-mt65xx.c
index 9ea427f53083..aa4d21838e14 100644
--- a/drivers/i2c/busses/i2c-mt65xx.c
+++ b/drivers/i2c/busses/i2c-mt65xx.c
@@ -397,6 +397,19 @@ static const struct mtk_i2c_compatible mt8183_compat = {
.max_dma_support = 33,
};
+static const struct mtk_i2c_compatible mt8186_compat = {
+ .regs = mt_i2c_regs_v2,
+ .pmic_i2c = 0,
+ .dcm = 0,
+ .auto_restart = 1,
+ .aux_len_reg = 1,
+ .timing_adjust = 1,
+ .dma_sync = 0,
+ .ltiming_adjust = 1,
+ .apdma_sync = 0,
+ .max_dma_support = 36,
+};
+
static const struct mtk_i2c_compatible mt8192_compat = {
.quirks = &mt8183_i2c_quirks,
.regs = mt_i2c_regs_v2,
@@ -418,6 +431,7 @@ static const struct of_device_id mtk_i2c_of_match[] = {
{ .compatible = "mediatek,mt7622-i2c", .data = &mt7622_compat },
{ .compatible = "mediatek,mt8173-i2c", .data = &mt8173_compat },
{ .compatible = "mediatek,mt8183-i2c", .data = &mt8183_compat },
+ { .compatible = "mediatek,mt8186-i2c", .data = &mt8186_compat },
{ .compatible = "mediatek,mt8192-i2c", .data = &mt8192_compat },
{}
};
--
2.25.1
^ permalink raw reply related
* [v2 0/2] add i2c support for mt8186
From: Kewei Xu @ 2022-01-25 11:04 UTC (permalink / raw)
To: wsa
Cc: matthias.bgg, robh+dt, linux-i2c, devicetree, linux-arm-kernel,
linux-kernel, linux-mediatek, srv_heupstream, leilk.liu, qii.wang,
liguo.zhang, caiyu.chen, housong.zhang, yuhan.wei, kewei.xu,
ryan-jh.yu
V1:
Add i2c compatible for MT8186. Compare to MT8192 i2c controller,
MT8186 doesn't need handshake signal with apdma.
Kewei Xu (2):
dt-bindings: i2c: update bindings for MT8186 SoC
i2c: mediatek: Add i2c compatible for Mediatek MT8186
.../devicetree/bindings/i2c/i2c-mt65xx.txt | 1 +
drivers/i2c/busses/i2c-mt65xx.c | 14 ++++++++++++++
2 files changed, 15 insertions(+)
--
2.18.0
^ permalink raw reply
* Re: [PATCH 1/1] arm64: dts: imx8mq: fix lcdif port node
From: Fabio Estevam @ 2022-01-25 10:59 UTC (permalink / raw)
To: Alexander Stein
Cc: Rob Herring, Shawn Guo, Sascha Hauer, Peng Fan,
Guido Günther,
open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS,
moderated list:ARM/FREESCALE IMX / MXC ARM ARCHITECTURE
In-Reply-To: <20220125091646.2845111-1-alexander.stein@ew.tq-group.com>
Hi Alexander,
On Tue, Jan 25, 2022 at 6:16 AM Alexander Stein
<alexander.stein@ew.tq-group.com> wrote:
>
> The port node does not have a unit-address, remove it.
> This fixes the warnings:
> lcd-controller@30320000: 'port' is a required property
> lcd-controller@30320000: 'port@0' does not match any of the regexes:
> 'pinctrl-[0-9]+'
>
> Fixes: commit d0081bd02a03 ("arm64: dts: imx8mq: Add NWL MIPI DSI controller")
> Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com>
Reviewed-by: Fabio Estevam <festevam@gmail.com>
^ permalink raw reply
* Re: [PATCH 3/3] nvmem: core: Fix a conflict between MTD and NVMEM on wp-gpios property
From: Srinivas Kandagatla @ 2022-01-25 10:44 UTC (permalink / raw)
To: Christophe Kerello, miquel.raynal, richard, vigneshr, robh+dt
Cc: linux-mtd, linux-kernel, linux-stm32, devicetree, chenshumin86
In-Reply-To: <20220105135734.271313-4-christophe.kerello@foss.st.com>
On 05/01/2022 13:57, Christophe Kerello wrote:
> diff --git a/drivers/nvmem/core.c b/drivers/nvmem/core.c
> index e765d3d0542e..e11c74db64f9 100644
> --- a/drivers/nvmem/core.c
> +++ b/drivers/nvmem/core.c
> @@ -769,7 +769,7 @@ struct nvmem_device *nvmem_register(const struct nvmem_config *config)
>
> if (config->wp_gpio)
> nvmem->wp_gpio = config->wp_gpio;
> - else
> + else if (config->reg_write)
This is clearly not going to work for everyone.
A flag in nvmem_config to indicate that wp gpio is managed by provider
driver would be the right thing to do here.
> nvmem->wp_gpio = gpiod_get_optional(config->dev, "wp",
> GPIOD_OUT_HIGH);
--srini
^ permalink raw reply
* Re: [PATCH net-next v1 3/9] net: ethernet: mtk-star-emac: add support for MT8365 SoC
From: Bartosz Golaszewski @ 2022-01-25 10:21 UTC (permalink / raw)
To: Biao Huang
Cc: David Miller, Rob Herring, Fabien Parent, Jakub Kicinski,
Felix Fietkau, John Crispin, Sean Wang, Mark Lee,
Matthias Brugger, netdev, devicetree, Linux Kernel Mailing List,
Linux ARM, moderated list:ARM/Mediatek SoC..., Yinghua Pan,
srv_heupstream, Macpaul Lin
In-Reply-To: <20220120070226.1492-4-biao.huang@mediatek.com>
On Thu, Jan 20, 2022 at 8:02 AM Biao Huang <biao.huang@mediatek.com> wrote:
>
> Add Ethernet driver support for MT8365 SoC.
>
> Signed-off-by: Biao Huang <biao.huang@mediatek.com>
> Signed-off-by: Yinghua Pan <ot_yinghua.pan@mediatek.com>
> Signed-off-by: Fabien Parent <fparent@baylibre.com>
> ---
> drivers/net/ethernet/mediatek/mtk_star_emac.c | 75 ++++++++++++++++---
> 1 file changed, 64 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/net/ethernet/mediatek/mtk_star_emac.c b/drivers/net/ethernet/mediatek/mtk_star_emac.c
> index 7c2af775d601..403439782db9 100644
> --- a/drivers/net/ethernet/mediatek/mtk_star_emac.c
> +++ b/drivers/net/ethernet/mediatek/mtk_star_emac.c
> @@ -151,6 +151,7 @@ static const char *const mtk_star_clk_names[] = { "core", "reg", "trans" };
> #define MTK_STAR_REG_MAC_CLK_CONF 0x00ac
> #define MTK_STAR_MSK_MAC_CLK_CONF GENMASK(7, 0)
> #define MTK_STAR_BIT_CLK_DIV_10 0x0a
> +#define MTK_STAR_BIT_CLK_DIV_50 0x32
>
> /* Counter registers. */
> #define MTK_STAR_REG_C_RXOKPKT 0x0100
> @@ -183,9 +184,11 @@ static const char *const mtk_star_clk_names[] = { "core", "reg", "trans" };
> #define MTK_STAR_REG_C_RX_TWIST 0x0218
>
> /* Ethernet CFG Control */
> -#define MTK_PERICFG_REG_NIC_CFG_CON 0x03c4
> -#define MTK_PERICFG_MSK_NIC_CFG_CON_CFG_MII GENMASK(3, 0)
> -#define MTK_PERICFG_BIT_NIC_CFG_CON_RMII BIT(0)
> +#define MTK_PERICFG_REG_NIC_CFG0_CON 0x03c4
> +#define MTK_PERICFG_REG_NIC_CFG1_CON 0x03c8
> +#define MTK_PERICFG_REG_NIC_CFG_CON_V2 0x0c10
> +#define MTK_PERICFG_REG_NIC_CFG_CON_CFG_INTF GENMASK(3, 0)
> +#define MTK_PERICFG_BIT_NIC_CFG_CON_RMII 1
>
> /* Represents the actual structure of descriptors used by the MAC. We can
> * reuse the same structure for both TX and RX - the layout is the same, only
> @@ -234,6 +237,7 @@ struct mtk_star_ring {
> };
>
> struct mtk_star_compat {
> + int (*set_interface_mode)(struct net_device *ndev);
> unsigned char bit_clk_div;
> };
>
> @@ -909,13 +913,6 @@ static void mtk_star_init_config(struct mtk_star_priv *priv)
> priv->compat_data->bit_clk_div);
> }
>
> -static void mtk_star_set_mode_rmii(struct mtk_star_priv *priv)
> -{
> - regmap_update_bits(priv->pericfg, MTK_PERICFG_REG_NIC_CFG_CON,
> - MTK_PERICFG_MSK_NIC_CFG_CON_CFG_MII,
> - MTK_PERICFG_BIT_NIC_CFG_CON_RMII);
> -}
> -
> static int mtk_star_enable(struct net_device *ndev)
> {
> struct mtk_star_priv *priv = netdev_priv(ndev);
> @@ -1531,7 +1528,13 @@ static int mtk_star_probe(struct platform_device *pdev)
> return -ENODEV;
> }
>
> - mtk_star_set_mode_rmii(priv);
> + if (priv->compat_data->set_interface_mode) {
> + ret = priv->compat_data->set_interface_mode(ndev);
> + if (ret) {
> + dev_err(dev, "Failed to set phy interface, err = %d\n", ret);
> + return -EINVAL;
> + }
> + }
Shouldn't you still call mtk_star_set_mode_rmii(priv) if there's no callback?
>
> ret = dma_set_mask_and_coherent(dev, DMA_BIT_MASK(32));
> if (ret) {
> @@ -1564,10 +1567,58 @@ static int mtk_star_probe(struct platform_device *pdev)
> return devm_register_netdev(dev, ndev);
> }
>
> +static int mt8516_set_interface_mode(struct net_device *ndev)
> +{
> + struct mtk_star_priv *priv = netdev_priv(ndev);
> + struct device *dev = mtk_star_get_dev(priv);
> + unsigned int intf_val = 0;
No need to initialize.
> +
> + switch (priv->phy_intf) {
> + case PHY_INTERFACE_MODE_RMII:
> + intf_val = MTK_PERICFG_BIT_NIC_CFG_CON_RMII;
> + break;
> + default:
> + dev_err(dev, "This interface not supported\n");
> + return -EINVAL;
> + }
> +
> + regmap_update_bits(priv->pericfg, MTK_PERICFG_REG_NIC_CFG0_CON,
> + MTK_PERICFG_REG_NIC_CFG_CON_CFG_INTF,
> + intf_val);
> + return 0;
You can directly return regmap_update_bits().
> +}
> +
> +static int mt8365_set_interface_mode(struct net_device *ndev)
> +{
> + struct mtk_star_priv *priv = netdev_priv(ndev);
> + struct device *dev = mtk_star_get_dev(priv);
> + unsigned int intf_val = 0;
> +
> + switch (priv->phy_intf) {
> + case PHY_INTERFACE_MODE_RMII:
> + intf_val = MTK_PERICFG_BIT_NIC_CFG_CON_RMII;
> + break;
> + default:
> + dev_err(dev, "This interface not supported\n");
> + return -EINVAL;
> + }
> +
> + regmap_update_bits(priv->pericfg, MTK_PERICFG_REG_NIC_CFG_CON_V2,
> + MTK_PERICFG_REG_NIC_CFG_CON_CFG_INTF,
> + intf_val);
> + return 0;
> +}
Same as above.
> +
> static struct mtk_star_compat mtk_star_mt8516_compat = {
> + .set_interface_mode = mt8516_set_interface_mode,
> .bit_clk_div = MTK_STAR_BIT_CLK_DIV_10,
> };
>
> +static struct mtk_star_compat mtk_star_mt8365_compat = {
> + .set_interface_mode = mt8365_set_interface_mode,
> + .bit_clk_div = MTK_STAR_BIT_CLK_DIV_50,
> +};
> +
> static const struct of_device_id mtk_star_of_match[] = {
> { .compatible = "mediatek,mt8516-eth",
> .data = &mtk_star_mt8516_compat },
> @@ -1575,6 +1626,8 @@ static const struct of_device_id mtk_star_of_match[] = {
> .data = &mtk_star_mt8516_compat },
> { .compatible = "mediatek,mt8175-eth",
> .data = &mtk_star_mt8516_compat },
> + { .compatible = "mediatek,mt8365-eth",
> + .data = &mtk_star_mt8365_compat },
> { }
> };
> MODULE_DEVICE_TABLE(of, mtk_star_of_match);
> --
> 2.25.1
>
Bart
^ permalink raw reply
* Re: [PATCH 5/8] net: add helper eth_addr_add()
From: Rafał Miłecki @ 2022-01-25 10:24 UTC (permalink / raw)
To: Michael Walle, linux-mtd, devicetree, linux-kernel,
linux-arm-kernel, netdev
Cc: Miquel Raynal, Richard Weinberger, Vignesh Raghavendra,
Rob Herring, Srinivas Kandagatla, Shawn Guo, Li Yang,
Frank Rowand, David S . Miller, Jakub Kicinski, Ansuel Smith,
Andrew Lunn
In-Reply-To: <20211228142549.1275412-6-michael@walle.cc>
On 28.12.2021 15:25, Michael Walle wrote:
> Add a helper to add an offset to a ethernet address. This comes in handy
> if you have a base ethernet address for multiple interfaces.
>
> Signed-off-by: Michael Walle <michael@walle.cc>
> ---
> include/linux/etherdevice.h | 14 ++++++++++++++
> 1 file changed, 14 insertions(+)
>
> diff --git a/include/linux/etherdevice.h b/include/linux/etherdevice.h
> index 2ad71cc90b37..9d621dc85290 100644
> --- a/include/linux/etherdevice.h
> +++ b/include/linux/etherdevice.h
> @@ -486,6 +486,20 @@ static inline void eth_addr_inc(u8 *addr)
> u64_to_ether_addr(u, addr);
> }
>
> +/**
> + * eth_addr_add() - Add (or subtract) and offset to/from the given MAC address.
> + *
> + * @offset: Offset to add.
> + * @addr: Pointer to a six-byte array containing Ethernet address to increment.
> + */
> +static inline void eth_addr_add(u8 *addr, long offset)
> +{
> + u64 u = ether_addr_to_u64(addr);
> +
> + u += offset;
> + u64_to_ether_addr(u, addr);
> +}
Please check eth_hw_addr_gen() which contains identical code +
eth_hw_addr_set().
You should probably make eth_hw_addr_gen() use your new function as a
helper.
^ permalink raw reply
* Re: (subset) [PATCH v4 00/14] Update the Icicle Kit device tree
From: Mark Brown @ 2022-01-25 10:21 UTC (permalink / raw)
To: devicetree, linux-spi, linux-rtc, linux-riscv, linus.walleij,
conor.dooley, linux-kernel, a.zummo, alexandre.belloni, aou,
lee.jones, jassisinghbrar, linux-usb, thierry.reding, palmer,
linux-pwm, linux-gpio, gregkh, bgolaszewski, linux-crypto,
robh+dt, u.kleine-koenig, linux-i2c, paul.walmsley
Cc: geert, bin.meng, lewis.hanly, ivan.griffin, krzysztof.kozlowski,
heiko, atishp, daire.mcnamara
In-Reply-To: <20220117110755.3433142-1-conor.dooley@microchip.com>
On Mon, 17 Jan 2022 11:07:41 +0000, conor.dooley@microchip.com wrote:
> From: Conor Dooley <conor.dooley@microchip.com>
>
> This series updates the Microchip Icicle Kit device tree by adding a
> host of peripherals, and some updates to the memory map. In addition,
> the device tree has been split into a third part, which contains "soft"
> peripherals that are in the fpga fabric.
>
> [...]
Applied to
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git for-next
Thanks!
[06/14] dt-bindings: spi: add bindings for microchip mpfs spi
commit: 2da187304e556ac59cf2dacb323cc78ded988169
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
Thanks,
Mark
^ permalink raw reply
* Re: [PATCH 0/3] RK356x/Quartz64 Model A SPI
From: Mark Brown @ 2022-01-25 10:20 UTC (permalink / raw)
To: Nicolas Frattaroli, Rob Herring, Heiko Stuebner
Cc: linux-kernel, devicetree, linux-rockchip, linux-arm-kernel
In-Reply-To: <20211126154344.724316-1-frattaroli.nicolas@gmail.com>
On Fri, 26 Nov 2021 16:43:41 +0100, Nicolas Frattaroli wrote:
> The first patch of this series adds a compatible for rk3568-spi
> to the DT bindings.
>
> The second adds the SPI nodes for RK3566 and RK3568 SoCs. The nodes
> were lifted from the downstream vendor kernel's devicetree, and were
> double-checked for correctness.
>
> [...]
Applied to
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git for-linus
Thanks!
[1/3] dt-bindings: spi: spi-rockchip: Add rk3568-spi compatible
commit: bdac3bbd0dc63873a9c606b8e4f814e6d61d288d
[2/3] arm64: dts: rockchip: Add spi nodes on rk356x
(no commit info)
[3/3] arm64: dts: rockchip: Add spi1 pins on Quartz64 A
(no commit info)
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
Thanks,
Mark
^ permalink raw reply
* Re: [PATCH 1/1] dt-bindings: regulators: Add missing regulator names
From: Mark Brown @ 2022-01-25 10:20 UTC (permalink / raw)
To: Alexander Stein, Liam Girdwood, Rob Herring, Robin Gong; +Cc: devicetree
In-Reply-To: <20220119103747.58305-1-alexander.stein@ew.tq-group.com>
On Wed, 19 Jan 2022 11:37:47 +0100, Alexander Stein wrote:
> The valid regulator names for the subnodes does not match the ones
> mentioned in the description.
> PFUZE3000 & PFUZE3001 uses 'v33', 'vccsd' and 'vldo[1-4]' as well, so
> add them to the allowed node names.
>
>
Applied to
https://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator.git for-next
Thanks!
[1/1] dt-bindings: regulators: Add missing regulator names
commit: 8e9977e48c7c2a49e09859456dcba12a8d804a51
All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.
You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.
If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.
Please add any relevant lists and maintainers to the CCs when replying
to this mail.
Thanks,
Mark
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox