[linux-yocto][v6.1/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH] dts: Aptiv-FL: Update 'Slew-Rates' from MSCR registers
From: Quanyang Wang In SDK commit 3bf1e1fe0321 ("s32cc: Update 'Slew-Rates' from MSCR registers", "Slew-Rates" is updated. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branches: v6.1/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g v6.1/standard/nxp-sdk-5.15/nxp-s32g Thanks, Quanyang --- .../boot/dts/freescale/s32gxxxa-cvc-fl.dtsi | 86 +-- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi b/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi index 537eda907e80d..9ca0424e49fdb 100644 --- a/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi +++ b/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi @@ -255,13 +255,13 @@ can0_pins: can0 { can0_grp0 { pinmux = ; output-enable; - slew-rate = ; + slew-rate = ; }; can0_grp1 { pinmux = ; input-enable; - slew-rate = ; + slew-rate = ; }; can0_grp2 { @@ -273,13 +273,13 @@ can1_pins: can1 { can1_grp0 { pinmux = ; output-enable; - slew-rate = ; + slew-rate = ; }; can1_grp1 { pinmux = ; input-enable; - slew-rate = ; + slew-rate = ; }; can1_grp2 { @@ -292,13 +292,13 @@ can2_pins: can2 { can2_grp0 { pinmux = ; output-enable; - slew-rate = ; + slew-rate = ; }; can2_grp1 { pinmux = ; input-enable; - slew-rate = ; + slew-rate = ; }; can2_grp2 { @@ -311,13 +311,13 @@ can3_pins: can3 { can3_grp0 { pinmux = ; output-enable; - slew-rate = ; + slew-rate = ; }; can3_grp1 { pinmux = ; input-enable; - slew-rate = ; + slew-rate = ; }; can3_grp2 { @@ -330,26 +330,26 @@ dspi1_pins: dspi1 { dspi1_grp0 { pinmux = ; output-enable; - slew-rate = ; + slew-rate = ; bias-pull-up; }; dspi1_grp1 { pinmux = ; output-enable; - slew-rate = ; + slew-rate = ; }; dspi1_grp2 { pinmux = ; output-enable; - slew-rate = ; + slew-rate = ; }; dspi1_grp3 { pinmux = ; input-enable; - slew-rate = ; + slew-rate = ; bias-pull-up; }; @@ -363,13 +363,13 @@ dspi1slave_pins: dspi1slave { dspi1slave_grp0 { pinmux = ; output-enable; - slew-rate = ; + slew-rate = ; }; dspi1slave_grp1 { pinmux = ; input-enable; - slew-rate = ; + slew-rate = ; }; dspi1slave_grp2 { @@ -381,13 +381,13 @@ dspi1slave_grp2 { dspi1slave_grp3 { pinmux = ; input-enable; - slew-rate = ; + slew-rate = ; }; dspi1slave_grp4 { pinmux = ; input-enable; - slew-rate = ; + slew-rate = ; bias-pull-up; }; @@ -400,7 +400,7 @@ i2c0_grp0 { drive-open-drain; output-enable; input-enable; - slew-rate = ; + slew-rate = ; }; i2c0_grp1 { @@ -416,7 +416,7 @@ i2c0_gpio_grp0 { ; drive-open-drain; output-enable; - slew-rate = ; +
[linux-yocto][v5.15/standard/preempt-rt/sdkv5.15/xlnx-soc][PATCH 2/2] gpio: zynq: fix zynqmp_gpio not an immutable chip warning
From: Manikanta Guntupalli commit f5691439353783ef114876849c70d2a641e09498 upstream Make the struct irq_chip const and flag it as IRQCHIP_IMMUTABLE, call gpiochip_disable_irq() in the .irq_mask() callback and gpiochip_enable_irq() in the .irq_unmask() callback to fix "gpio gpiochip1: (zynqmp_gpio): not an immutable chip" warning. Signed-off-by: Manikanta Guntupalli Reviewed-by: Linus Walleij Signed-off-by: Bartosz Golaszewski [Quanyang: drop GPIOCHIP_IRQ_RESOURCE_HELPERS and gpio_irq_chip_set_chip.] Signed-off-by: Quanyang Wang --- drivers/gpio/gpio-zynq.c | 12 +--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/drivers/gpio/gpio-zynq.c b/drivers/gpio/gpio-zynq.c index 06c6401f02b89..ca808c8d2d15a 100644 --- a/drivers/gpio/gpio-zynq.c +++ b/drivers/gpio/gpio-zynq.c @@ -404,9 +404,12 @@ static int zynq_gpio_get_direction(struct gpio_chip *chip, unsigned int pin) static void zynq_gpio_irq_mask(struct irq_data *irq_data) { unsigned int device_pin_num, bank_num, bank_pin_num; + const unsigned long offset = irqd_to_hwirq(irq_data); + struct gpio_chip *chip = irq_data_get_irq_chip_data(irq_data); struct zynq_gpio *gpio = gpiochip_get_data(irq_data_get_irq_chip_data(irq_data)); + gpiochip_disable_irq(chip, offset); device_pin_num = irq_data->hwirq; zynq_gpio_get_bank_pin(device_pin_num, _num, _pin_num, gpio); writel_relaxed(BIT(bank_pin_num), @@ -425,9 +428,12 @@ static void zynq_gpio_irq_mask(struct irq_data *irq_data) static void zynq_gpio_irq_unmask(struct irq_data *irq_data) { unsigned int device_pin_num, bank_num, bank_pin_num; + const unsigned long offset = irqd_to_hwirq(irq_data); + struct gpio_chip *chip = irq_data_get_irq_chip_data(irq_data); struct zynq_gpio *gpio = gpiochip_get_data(irq_data_get_irq_chip_data(irq_data)); + gpiochip_enable_irq(chip, offset); device_pin_num = irq_data->hwirq; zynq_gpio_get_bank_pin(device_pin_num, _num, _pin_num, gpio); writel_relaxed(BIT(bank_pin_num), @@ -601,7 +607,7 @@ static struct irq_chip zynq_gpio_level_irqchip = { .irq_request_resources = zynq_gpio_irq_reqres, .irq_release_resources = zynq_gpio_irq_relres, .flags = IRQCHIP_EOI_THREADED | IRQCHIP_EOI_IF_HANDLED | - IRQCHIP_MASK_ON_SUSPEND, + IRQCHIP_MASK_ON_SUSPEND | IRQCHIP_IMMUTABLE, }; static struct irq_chip zynq_gpio_edge_irqchip = { @@ -614,7 +620,7 @@ static struct irq_chip zynq_gpio_edge_irqchip = { .irq_set_wake = zynq_gpio_set_wake, .irq_request_resources = zynq_gpio_irq_reqres, .irq_release_resources = zynq_gpio_irq_relres, - .flags = IRQCHIP_MASK_ON_SUSPEND, + .flags = IRQCHIP_MASK_ON_SUSPEND | IRQCHIP_IMMUTABLE, }; static void zynq_gpio_handle_bank_irq(struct zynq_gpio *gpio, @@ -962,7 +968,7 @@ static int zynq_gpio_probe(struct platform_device *pdev) /* Set up the GPIO irqchip */ girq = >irq; - girq->chip = _gpio_edge_irqchip; + girq->chip = (struct irq_chip *)_gpio_edge_irqchip; girq->parent_handler = zynq_gpio_irqhandler; girq->num_parents = 1; girq->parents = devm_kcalloc(>dev, 1, -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13689): https://lists.yoctoproject.org/g/linux-yocto/message/13689 Mute This Topic: https://lists.yoctoproject.org/mt/104942023/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v5.15/standard/preempt-rt/sdkv5.15/xlnx-soc][PATCH 0/2]
From: Quanyang Wang Hi Bruce, Would you please help merge these 2 patches to the branches: v5.15/standard/preempt-rt/sdkv5.15/xlnx-soc v5.15/standard/sdkv5.15/xlnx-soc Thanks, Quanyang Manikanta Guntupalli (1): gpio: zynq: fix zynqmp_gpio not an immutable chip warning Marc Zyngier (1): gpio: Don't fiddle with irqchips marked as immutable drivers/gpio/gpio-zynq.c | 12 +--- drivers/gpio/gpiolib.c | 7 ++- include/linux/irq.h | 2 ++ kernel/irq/debugfs.c | 1 + 4 files changed, 18 insertions(+), 4 deletions(-) -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13687): https://lists.yoctoproject.org/g/linux-yocto/message/13687 Mute This Topic: https://lists.yoctoproject.org/mt/104942021/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v5.15/standard/preempt-rt/sdkv5.15/xlnx-soc][PATCH 1/2] gpio: Don't fiddle with irqchips marked as immutable
From: Marc Zyngier commit 6c846d026d490b2383d395bc8e7b06336219667b upstream In order to move away from gpiolib messing with the internals of unsuspecting irqchips, add a flag by which irqchips advertise that they are not to be messed with, and do solemnly swear that they correctly call into the gpiolib helpers when required. Also nudge the users into converting their drivers to the new model. Reviewed-by: Andy Shevchenko Reviewed-by: Bartosz Golaszewski Signed-off-by: Marc Zyngier Link: https://lore.kernel.org/r/20220419141846.598305-2-...@kernel.org --- drivers/gpio/gpiolib.c | 7 ++- include/linux/irq.h| 2 ++ kernel/irq/debugfs.c | 1 + 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/gpio/gpiolib.c b/drivers/gpio/gpiolib.c index 34a061b4becdb..bf77c3f5a4e56 100644 --- a/drivers/gpio/gpiolib.c +++ b/drivers/gpio/gpiolib.c @@ -1483,6 +1483,11 @@ static void gpiochip_set_irq_hooks(struct gpio_chip *gc) { struct irq_chip *irqchip = gc->irq.chip; + if (irqchip->flags & IRQCHIP_IMMUTABLE) + return; + + chip_warn(gc, "not an immutable chip, please consider fixing it!\n"); + if (!irqchip->irq_request_resources && !irqchip->irq_release_resources) { irqchip->irq_request_resources = gpiochip_irq_reqres; @@ -1650,7 +1655,7 @@ static void gpiochip_irqchip_remove(struct gpio_chip *gc) irq_domain_remove(gc->irq.domain); } - if (irqchip) { + if (irqchip && !(irqchip->flags & IRQCHIP_IMMUTABLE)) { if (irqchip->irq_request_resources == gpiochip_irq_reqres) { irqchip->irq_request_resources = NULL; irqchip->irq_release_resources = NULL; diff --git a/include/linux/irq.h b/include/linux/irq.h index 83d2fd4dc876b..f52ccfad9b88b 100644 --- a/include/linux/irq.h +++ b/include/linux/irq.h @@ -570,6 +570,7 @@ struct irq_chip { * IRQCHIP_ENABLE_WAKEUP_ON_SUSPEND: Invokes __enable_irq()/__disable_irq() for wake irqs *in the suspend path if they are in disabled state * IRQCHIP_AFFINITY_PRE_STARTUP: Default affinity update before startup + * IRQCHIP_IMMUTABLE:Don't ever change anything in this chip */ enum { IRQCHIP_SET_TYPE_MASKED = (1 << 0), @@ -583,6 +584,7 @@ enum { IRQCHIP_SUPPORTS_NMI= (1 << 8), IRQCHIP_ENABLE_WAKEUP_ON_SUSPEND= (1 << 9), IRQCHIP_AFFINITY_PRE_STARTUP= (1 << 10), + IRQCHIP_IMMUTABLE = (1 << 11), }; #include diff --git a/kernel/irq/debugfs.c b/kernel/irq/debugfs.c index e4cff358b437e..7ff52d94b42c0 100644 --- a/kernel/irq/debugfs.c +++ b/kernel/irq/debugfs.c @@ -58,6 +58,7 @@ static const struct irq_bit_descr irqchip_flags[] = { BIT_MASK_DESCR(IRQCHIP_SUPPORTS_LEVEL_MSI), BIT_MASK_DESCR(IRQCHIP_SUPPORTS_NMI), BIT_MASK_DESCR(IRQCHIP_ENABLE_WAKEUP_ON_SUSPEND), + BIT_MASK_DESCR(IRQCHIP_IMMUTABLE), }; static void -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13688): https://lists.yoctoproject.org/g/linux-yocto/message/13688 Mute This Topic: https://lists.yoctoproject.org/mt/104942022/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v5.15/standard/preempt-rt/sdkv5.15/xlnx-soc][PATCH] sound: xilinx: use hdmi-codec as dp audio codec
From: Quanyang Wang According to the description in the section "Audio Management" of Chapter 33 in "Zynq UltraScale+ Device Technical Reference Manual", A set/clr operation to TX_AUDIO_CONTROL register is needed when we start/stop audio play. It means that when we stop playing audio, TX_AUDIO_CONTROL register should be cleared. Now the dp codec driver xilinx-dp-codec.c can't access DP Tx registers and it has no control of DP Tx Audio registers. This results that even if we close the audio device after playing audio, Tx Audio is still working and it triggers numerous underflow interrupts (bit 17 in DP_INT_STATUS). zcu102-zynqmp:~$ cat /proc/interrupts | grep display 52:1063792000 GICv2 151 Level fd4a.display zcu102-zynqmp:~$ top Mem: 158168K used, 3864792K free, 9992K shrd, 0K buff, 36500K cached CPU: 0.0% usr 1.0% sys 0.0% nic 98.9% idle 0.0% io 0.0% irq 0.0% sirq Load average: 0.03 0.03 0.01 1/122 391 PID PPID USERSTAT VSZ %VSZ CPU %CPU COMMAND 223 2 rootSW 0 0.0 0 0.9 [irq/52-fd4a] 352 1 rootS94148 2.3 0 0.0 /usr/sbin/tcf-agent -d -L- -l0 So we register a HDMI codec device and use callbacks in hdmi_codec_ops to set/clr TX_AUDIO_CONTROL. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branches: v5.15/standard/preempt-rt/sdkv5.15/xlnx-soc v5.15/standard/sdkv5.15/xlnx-soc Thanks, Quanyang --- drivers/gpu/drm/xlnx/zynqmp_dp.c | 55 +++ sound/soc/xilinx/Kconfig | 1 + sound/soc/xilinx/xilinx-dp-card.c | 14 ++-- 3 files changed, 59 insertions(+), 11 deletions(-) diff --git a/drivers/gpu/drm/xlnx/zynqmp_dp.c b/drivers/gpu/drm/xlnx/zynqmp_dp.c index 308404f122957..c9badbfe5b566 100644 --- a/drivers/gpu/drm/xlnx/zynqmp_dp.c +++ b/drivers/gpu/drm/xlnx/zynqmp_dp.c @@ -26,6 +26,7 @@ #include #include #include +#include #include "zynqmp_disp.h" #include "zynqmp_dp.h" @@ -329,6 +330,7 @@ struct zynqmp_dp { void __iomem *iomem; struct reset_control *reset; int irq; + struct platform_device *audio_pdev; struct zynqmp_dp_config config; struct drm_dp_aux aux; @@ -375,6 +377,53 @@ static void zynqmp_dp_set(void __iomem *base, int offset, u32 set) zynqmp_dp_write(base, offset, zynqmp_dp_read(base, offset) | set); } +static int zynqmp_dp_audio_hw_params(struct device *dev, void *data, + struct hdmi_codec_daifmt *daifmt, + struct hdmi_codec_params *params) +{ + return 0; +} + +static int zynqmp_dp_audio_startup(struct device *dev, void *data) +{ + struct zynqmp_dp *dp = data; + + if (zynqmp_disp_aud_enabled(dp->dpsub->disp)) + zynqmp_dp_write(dp->iomem, ZYNQMP_DP_TX_AUDIO_CONTROL, 1); + + return 0; +} + +static void zynqmp_dp_audio_shutdown(struct device *dev, void *data) +{ + struct zynqmp_dp *dp = data; + + if (zynqmp_disp_aud_enabled(dp->dpsub->disp)) + zynqmp_dp_write(dp->iomem, ZYNQMP_DP_TX_AUDIO_CONTROL, 0); +} + +static const struct hdmi_codec_ops audio_codec_ops = { + .hw_params = zynqmp_dp_audio_hw_params, + .audio_shutdown = zynqmp_dp_audio_shutdown, + .audio_startup = zynqmp_dp_audio_startup, +}; + +static int zynqmp_dp_audio_init(struct zynqmp_dp *dp, + struct device *dev) +{ + struct hdmi_codec_pdata codec_data = { + .ops = _codec_ops, + .spdif = 1, + .data = dp, + }; + + dp->audio_pdev = platform_device_register_data( +dev, HDMI_CODEC_DRV_NAME, PLATFORM_DEVID_NONE, +_data, sizeof(codec_data)); + + return PTR_ERR_OR_ZERO(dp->audio_pdev); +} + /* - * PHY Handling */ @@ -1950,6 +1999,12 @@ int zynqmp_dp_probe(struct platform_device *pdev) goto error; } + ret = zynqmp_dp_audio_init(dp, dp->dev); + if (ret < 0) { + dev_err(dp->dev, "failed to initialize DP audio codec\n"); + goto error; + } + irq = platform_get_irq(pdev, 0); if (irq < 0) { ret = irq; diff --git a/sound/soc/xilinx/Kconfig b/sound/soc/xilinx/Kconfig index ade55b32a8cc6..787b92a406a23 100644 --- a/sound/soc/xilinx/Kconfig +++ b/sound/soc/xilinx/Kconfig @@ -3,6 +3,7 @@ config SND_SOC_XILINX_DP tristate "Audio support for the the Xilinx DisplayPort" select SND_DMAENGINE_PCM select SND_SOC_GENERIC_DMAENGINE_PCM + select SND_SOC_HDMI_CODEC help Audio support the for Xilinx DisplayPort. diff --git a/sound/soc/xilinx/xilinx-dp-card.c b/sound/soc/xilinx/xilinx-dp-card.c index 396a87d56394f..ec0682f2a7a6c 100644 --- a/sound/soc/xilinx/xilinx-dp-card.c +++
[linux-yocto][v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc][PATCH] clk: clocking-wizard: use devm_kasprintf to fix kmemleak
From: Quanyang Wang Use devm_kasprintf instead of kasprintf to fix the following kmemleak: unreferenced object 0xff8803ed7280 (size 128): comm "kworker/u8:1", pid 11, jiffies 4294892718 (age 234.496s) hex dump (first 32 bytes): 38 30 30 31 30 30 30 30 2e 63 6c 6b 5f 77 69 7a 8001.clk_wiz 5f 6f 75 74 30 00 00 00 00 00 00 00 00 00 00 00 _out0... backtrace: [] __kmem_cache_alloc_node+0x3fc/0x5f0 [ ] __kmalloc_node_track_caller+0x5c/0x228 [<68e52a86>] kvasprintf+0x8c/0x118 [ ] kasprintf+0x5c/0x88 [<934884a9>] clk_wzrd_probe+0x374/0x730 [<167096d4>] platform_probe+0x70/0xe0 [ ] really_probe+0xc4/0x2b0 [<5eafe737>] __driver_probe_device+0x80/0x120 [<26f774f1>] driver_probe_device+0x48/0xf0 [<9bed11ed>] __device_attach_driver+0xc0/0x100 [<12782b09>] bus_for_each_drv+0x80/0xd8 [<08a5cc26>] __device_attach+0x104/0x198 [ ] device_initial_probe+0x1c/0x28 [ ] bus_probe_device+0xa4/0xb0 [<191df268>] deferred_probe_work_func+0x90/0xc8 [ ] process_one_work+0x1f4/0x460 Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branches: v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc v6.1/standard/sdkv6.1/xlnx-soc Thanks, Quanyang --- drivers/clk/xilinx/clk-xlnx-clock-wizard.c | 12 +--- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/drivers/clk/xilinx/clk-xlnx-clock-wizard.c b/drivers/clk/xilinx/clk-xlnx-clock-wizard.c index e68be24a26e9d..4391eced19793 100644 --- a/drivers/clk/xilinx/clk-xlnx-clock-wizard.c +++ b/drivers/clk/xilinx/clk-xlnx-clock-wizard.c @@ -645,7 +645,7 @@ static int clk_wzrd_probe(struct platform_device *pdev) goto err_disable_clk; } - clkout_name = kasprintf(GFP_KERNEL, "%s_out0", dev_name(>dev)); + clkout_name = devm_kasprintf(>dev, GFP_KERNEL, "%s_out0", dev_name(>dev)); if (nr_outputs == 1) { clk_wzrd->clkout[0] = clk_wzrd_register_divider (>dev, clkout_name, @@ -666,7 +666,7 @@ static int clk_wzrd_probe(struct platform_device *pdev) reg = reg & WZRD_CLKFBOUT_MULT_MASK; reg = reg >> WZRD_CLKFBOUT_MULT_SHIFT; mult = (reg * 1000) + reg_f; - clk_name = kasprintf(GFP_KERNEL, "%s_mul", dev_name(>dev)); + clk_name = devm_kasprintf(>dev, GFP_KERNEL, "%s_mul", dev_name(>dev)); if (!clk_name) { ret = -ENOMEM; goto err_disable_clk; @@ -675,14 +675,13 @@ static int clk_wzrd_probe(struct platform_device *pdev) (>dev, clk_name, __clk_get_name(clk_wzrd->clk_in1), 0, mult, 1000); - kfree(clk_name); if (IS_ERR(clk_wzrd->clks_internal[wzrd_clk_mul])) { dev_err(>dev, "unable to register fixed-factor clock\n"); ret = PTR_ERR(clk_wzrd->clks_internal[wzrd_clk_mul]); goto err_disable_clk; } - clk_name = kasprintf(GFP_KERNEL, "%s_mul_div", dev_name(>dev)); + clk_name = devm_kasprintf(>dev, GFP_KERNEL, "%s_mul_div", dev_name(>dev)); if (!clk_name) { ret = -ENOMEM; goto err_rm_int_clk; @@ -703,7 +702,8 @@ static int clk_wzrd_probe(struct platform_device *pdev) /* register div per output */ for (i = nr_outputs - 1; i >= 0 ; i--) { - clkout_name = kasprintf(GFP_KERNEL, "%s_out%d", dev_name(>dev), i); + clkout_name = devm_kasprintf(>dev, GFP_KERNEL, "%s_out%d", + dev_name(>dev), i); if (!clkout_name) { ret = -ENOMEM; goto err_rm_int_clk; @@ -739,7 +739,6 @@ static int clk_wzrd_probe(struct platform_device *pdev) } } - kfree(clk_name); out: clk_wzrd->clk_data.clks = clk_wzrd->clkout; clk_wzrd->clk_data.clk_num = ARRAY_SIZE(clk_wzrd->clkout); @@ -765,7 +764,6 @@ static int clk_wzrd_probe(struct platform_device *pdev) err_rm_int_clks: clk_unregister(clk_wzrd->clks_internal[1]); err_rm_int_clk: - kfree(clk_name); clk_unregister(clk_wzrd->clks_internal[0]); err_disable_clk: clk_disable_unprepare(clk_wzrd->axi_clk); -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13620): https://lists.yoctoproject.org/g/linux-yocto/message/13620 Mute This Topic: https://lists.yoctoproject.org/mt/104660586/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [linux-yocto][v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH] gpio: fix pinctrl_gpio_get_mux_owner
Hi Bruce, On 1/24/24 14:38, quanyang.wang via lists.yoctoproject.org wrote: From: Quanyang Wang The commit 4ce1995313ecb ("gpio: use pinctrl_gpio_get_mux_owner") intends to call pinctrl_gpio_get_mux_owner to mark the muxed pin as "used" and copy "mux_owner" or "gpio_owner" to "info->consumer". So that when calling gpioinfo at userspace, the "mux_owner" is printed as "label" in the output of console: root@nxp-s32g:~# gpioinfo gpiochip0 gpiochip0 - 191 lines: ... line 5: "PA_05" unused input active-high line 6: "PA_06" "401d8000.spi" input active-high [used] line 7: "PA_07" "401d8000.spi" input active-high [used] ... But there are 3 problems with the current implementation: 1. The parameter "gpio" of the function pinctrl_gpio_get_mux_owner should be "gc->base + info->offset" rather than "info->offset". 2. The member "strict" of s32cc_pmx_ops can be used to mark the flag GPIO_V2_LINE_FLAG_USED, so there is no need to use the funciton pinctrl_gpio_get_mux_owner to do that. 3. The function pinctrl_gpio_get_mux_owner takes mutex so it must be called before taking the spinlock, or else it triggers the following calltrace: [ 4640.017246] BUG: sleeping function called from invalid context at kernel/locking/rtmutex_api.c:510 [ 4640.017264] in_atomic(): 0, irqs_disabled(): 0, non_block: 0, pid: 11395, name: gpioinfo [ 4640.017271] preempt_count: 0, expected: 0 [ 4640.017276] RCU nest depth: 1, expected: 0 [ 4640.017281] INFO: lockdep is turned off. [ 4640.017290] CPU: 3 PID: 11395 Comm: gpioinfo Tainted: GW O 5.15.147-rt72-yocto-preempt-rt #1 [ 4640.017297] Hardware name: Freescale S32G399A (DT) [ 4640.017302] Call trace: [ 4640.017304] dump_backtrace+0x0/0x1c0 [ 4640.017319] show_stack+0x20/0x30 [ 4640.017325] dump_stack_lvl+0xb0/0xf4 [ 4640.017335] dump_stack+0x18/0x34 [ 4640.017342] __might_resched+0x15c/0x1e0 [ 4640.017351] __might_sleep+0x50/0xa0 [ 4640.017357] mutex_lock_nested+0x58/0xe0 [ 4640.017367] pinctrl_get_device_gpio_range+0x48/0x11c [ 4640.017378] pinctrl_gpio_get_mux_owner+0x48/0x110 [ 4640.017386] gpio_desc_to_lineinfo+0x2a8/0x2dc [ 4640.017396] lineinfo_get_v1+0x144/0x260 [ 4640.017405] gpio_ioctl_unlocked+0xf4/0x3d0 [ 4640.017410] gpio_ioctl+0x4c/0x74 [ 4640.017415] __arm64_sys_ioctl+0xb0/0xf4 [ 4640.017424] invoke_syscall+0x5c/0x130 [ 4640.017437] el0_svc_common.constprop.0+0x68/0x124 [ 4640.017445] do_el0_svc+0x4c/0xb0 [ 4640.017452] el0_svc+0x54/0x110 [ 4640.017458] el0t_64_sync_handler+0xa4/0x12c [ 4640.017464] el0t_64_sync+0x1a0/0x1a4 Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branches: v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g v5.15/standard/nxp-sdk-5.15/nxp-s32g I can't find this patch in v5.15/standard/nxp-sdk-5.15/nxp-s32g, would you please help check it? Thanks, Quanyang Thanks, Quanyang --- drivers/gpio/gpiolib-cdev.c| 10 +++--- drivers/pinctrl/freescale/pinctrl-s32cc-core.c | 1 + 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/drivers/gpio/gpiolib-cdev.c b/drivers/gpio/gpiolib-cdev.c index e3b0d1fbd728a..80e8c32d65e12 100644 --- a/drivers/gpio/gpiolib-cdev.c +++ b/drivers/gpio/gpiolib-cdev.c @@ -2021,7 +2021,6 @@ static void gpio_desc_to_lineinfo(struct gpio_desc *desc, unsigned long flags; u32 debounce_period_us; unsigned int num_attrs = 0; - int ret; memset(info, 0, sizeof(*info)); info->offset = gpio_chip_hwgpio(desc); @@ -2036,6 +2035,9 @@ static void gpio_desc_to_lineinfo(struct gpio_desc *desc, ok_for_pinctrl = pinctrl_gpio_can_use_line(gc->base + info->offset); + pinctrl_gpio_get_mux_owner(gc->base + info->offset, info->consumer, +sizeof(info->consumer)); + spin_lock_irqsave(_lock, flags); if (desc->name) @@ -2049,12 +2051,6 @@ static void gpio_desc_to_lineinfo(struct gpio_desc *desc, if (desc->label) strscpy(info->consumer, desc->label, sizeof(info->consumer)); - else { - ret = pinctrl_gpio_get_mux_owner(info->offset, info->consumer, -sizeof(info->consumer)); - if (!ret) - info->flags |= GPIO_V2_LINE_FLAG_USED; - } if (test_bit(FLAG_REQUESTED, >flags) || test_bit(FLAG_IS_HOGGED, >flags) || diff --git a/drivers/pinctrl/freescale/pinctrl-s32cc-core.c b/drivers/pinctrl/freescale/pinctrl-s32cc-core.c index e1d0cc817b65a..a711242dc626b 100644 --- a/drivers/pinctrl/freescale/pinctrl-s32cc-core.c +++ b/drivers/
[V2][linux-yocto][v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc][PATCH] driver: soc: xilinx: rename cpu_number1 to dummy_cpu_number
From: Quanyang Wang The per cpu variable cpu_number1 is passed to xlnx_event_handler as argument "dev_id", but is not used in this function. So drop the initialization of this variable and rename it to dummy_cpu_number. This patch is to fix the following calltrace when the kernel option CONFIG_DEBUG_ATOMIC_SLEEP is enabled: BUG: sleeping function called from invalid context at include/linux/sched/mm.h:274 in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 1, name: swapper/0 preempt_count: 1, expected: 0 CPU: 0 PID: 1 Comm: swapper/0 Not tainted 6.1.0 #53 Hardware name: Xilinx Versal vmk180 Eval board rev1.1 (QSPI) (DT) Call trace: dump_backtrace+0xd0/0xe0 show_stack+0x18/0x40 dump_stack_lvl+0x7c/0xa0 dump_stack+0x18/0x34 __might_resched+0x10c/0x140 __might_sleep+0x4c/0xa0 __kmem_cache_alloc_node+0xf4/0x168 kmalloc_trace+0x28/0x38 __request_percpu_irq+0x74/0x138 xlnx_event_manager_probe+0xf8/0x298 platform_probe+0x68/0xd8 Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branches: v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc v6.1/standard/sdkv6.1/xlnx-soc Thanks, Quanyang --- drivers/soc/xilinx/xlnx_event_manager.c | 14 +++--- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/drivers/soc/xilinx/xlnx_event_manager.c b/drivers/soc/xilinx/xlnx_event_manager.c index 9b6fe19666946..9156cb45bd533 100644 --- a/drivers/soc/xilinx/xlnx_event_manager.c +++ b/drivers/soc/xilinx/xlnx_event_manager.c @@ -22,7 +22,7 @@ #include #include -static DEFINE_PER_CPU_READ_MOSTLY(int, cpu_number1); +static DEFINE_PER_CPU_READ_MOSTLY(int, dummy_cpu_number); static int virq_sgi; static int event_manager_availability = -EACCES; @@ -569,7 +569,6 @@ static void xlnx_disable_percpu_irq(void *data) static int xlnx_event_init_sgi(struct platform_device *pdev) { int ret = 0; - int cpu; /* * IRQ related structures are used for the following: * for each SGI interrupt ensure its mapped by GIC IRQ domain @@ -606,11 +605,8 @@ static int xlnx_event_init_sgi(struct platform_device *pdev) sgi_fwspec.param[0] = sgi_num; virq_sgi = irq_create_fwspec_mapping(_fwspec); - cpu = get_cpu(); - per_cpu(cpu_number1, cpu) = cpu; ret = request_percpu_irq(virq_sgi, xlnx_event_handler, "xlnx_event_mgmt", -_number1); - put_cpu(); +_cpu_number); WARN_ON(ret); if (ret) { @@ -626,16 +622,12 @@ static int xlnx_event_init_sgi(struct platform_device *pdev) static void xlnx_event_cleanup_sgi(struct platform_device *pdev) { - int cpu = smp_processor_id(); - - per_cpu(cpu_number1, cpu) = cpu; - cpuhp_remove_state(CPUHP_AP_ONLINE_DYN); on_each_cpu(xlnx_disable_percpu_irq, NULL, 1); irq_clear_status_flags(virq_sgi, IRQ_PER_CPU); - free_percpu_irq(virq_sgi, _number1); + free_percpu_irq(virq_sgi, _cpu_number); irq_dispose_mapping(virq_sgi); } -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13513): https://lists.yoctoproject.org/g/linux-yocto/message/13513 Mute This Topic: https://lists.yoctoproject.org/mt/103945669/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH] gpio: fix pinctrl_gpio_get_mux_owner
From: Quanyang Wang The commit 4ce1995313ecb ("gpio: use pinctrl_gpio_get_mux_owner") intends to call pinctrl_gpio_get_mux_owner to mark the muxed pin as "used" and copy "mux_owner" or "gpio_owner" to "info->consumer". So that when calling gpioinfo at userspace, the "mux_owner" is printed as "label" in the output of console: root@nxp-s32g:~# gpioinfo gpiochip0 gpiochip0 - 191 lines: ... line 5: "PA_05" unused input active-high line 6: "PA_06" "401d8000.spi" input active-high [used] line 7: "PA_07" "401d8000.spi" input active-high [used] ... But there are 3 problems with the current implementation: 1. The parameter "gpio" of the function pinctrl_gpio_get_mux_owner should be "gc->base + info->offset" rather than "info->offset". 2. The member "strict" of s32cc_pmx_ops can be used to mark the flag GPIO_V2_LINE_FLAG_USED, so there is no need to use the funciton pinctrl_gpio_get_mux_owner to do that. 3. The function pinctrl_gpio_get_mux_owner takes mutex so it must be called before taking the spinlock, or else it triggers the following calltrace: [ 4640.017246] BUG: sleeping function called from invalid context at kernel/locking/rtmutex_api.c:510 [ 4640.017264] in_atomic(): 0, irqs_disabled(): 0, non_block: 0, pid: 11395, name: gpioinfo [ 4640.017271] preempt_count: 0, expected: 0 [ 4640.017276] RCU nest depth: 1, expected: 0 [ 4640.017281] INFO: lockdep is turned off. [ 4640.017290] CPU: 3 PID: 11395 Comm: gpioinfo Tainted: GW O 5.15.147-rt72-yocto-preempt-rt #1 [ 4640.017297] Hardware name: Freescale S32G399A (DT) [ 4640.017302] Call trace: [ 4640.017304] dump_backtrace+0x0/0x1c0 [ 4640.017319] show_stack+0x20/0x30 [ 4640.017325] dump_stack_lvl+0xb0/0xf4 [ 4640.017335] dump_stack+0x18/0x34 [ 4640.017342] __might_resched+0x15c/0x1e0 [ 4640.017351] __might_sleep+0x50/0xa0 [ 4640.017357] mutex_lock_nested+0x58/0xe0 [ 4640.017367] pinctrl_get_device_gpio_range+0x48/0x11c [ 4640.017378] pinctrl_gpio_get_mux_owner+0x48/0x110 [ 4640.017386] gpio_desc_to_lineinfo+0x2a8/0x2dc [ 4640.017396] lineinfo_get_v1+0x144/0x260 [ 4640.017405] gpio_ioctl_unlocked+0xf4/0x3d0 [ 4640.017410] gpio_ioctl+0x4c/0x74 [ 4640.017415] __arm64_sys_ioctl+0xb0/0xf4 [ 4640.017424] invoke_syscall+0x5c/0x130 [ 4640.017437] el0_svc_common.constprop.0+0x68/0x124 [ 4640.017445] do_el0_svc+0x4c/0xb0 [ 4640.017452] el0_svc+0x54/0x110 [ 4640.017458] el0t_64_sync_handler+0xa4/0x12c [ 4640.017464] el0t_64_sync+0x1a0/0x1a4 Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branches: v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g v5.15/standard/nxp-sdk-5.15/nxp-s32g Thanks, Quanyang --- drivers/gpio/gpiolib-cdev.c| 10 +++--- drivers/pinctrl/freescale/pinctrl-s32cc-core.c | 1 + 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/drivers/gpio/gpiolib-cdev.c b/drivers/gpio/gpiolib-cdev.c index e3b0d1fbd728a..80e8c32d65e12 100644 --- a/drivers/gpio/gpiolib-cdev.c +++ b/drivers/gpio/gpiolib-cdev.c @@ -2021,7 +2021,6 @@ static void gpio_desc_to_lineinfo(struct gpio_desc *desc, unsigned long flags; u32 debounce_period_us; unsigned int num_attrs = 0; - int ret; memset(info, 0, sizeof(*info)); info->offset = gpio_chip_hwgpio(desc); @@ -2036,6 +2035,9 @@ static void gpio_desc_to_lineinfo(struct gpio_desc *desc, ok_for_pinctrl = pinctrl_gpio_can_use_line(gc->base + info->offset); + pinctrl_gpio_get_mux_owner(gc->base + info->offset, info->consumer, +sizeof(info->consumer)); + spin_lock_irqsave(_lock, flags); if (desc->name) @@ -2049,12 +2051,6 @@ static void gpio_desc_to_lineinfo(struct gpio_desc *desc, if (desc->label) strscpy(info->consumer, desc->label, sizeof(info->consumer)); - else { - ret = pinctrl_gpio_get_mux_owner(info->offset, info->consumer, -sizeof(info->consumer)); - if (!ret) - info->flags |= GPIO_V2_LINE_FLAG_USED; - } if (test_bit(FLAG_REQUESTED, >flags) || test_bit(FLAG_IS_HOGGED, >flags) || diff --git a/drivers/pinctrl/freescale/pinctrl-s32cc-core.c b/drivers/pinctrl/freescale/pinctrl-s32cc-core.c index e1d0cc817b65a..a711242dc626b 100644 --- a/drivers/pinctrl/freescale/pinctrl-s32cc-core.c +++ b/drivers/pinctrl/freescale/pinctrl-s32cc-core.c @@ -553,6 +553,7 @@ static const struct pinmux_ops s32cc_pmx_ops = { .gpio_request_enable = s32cc_pmx_gpio_request_enable, .gpio_disable_free = s32cc_pmx_gpio_disable_free, .gpio_set_direction = s32cc_pmx_gpio_set_direction, + .strict = true, }; static int s32cc_pinconf_get(struct pinctrl_dev *pctldev, -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all
Re: [linux-yocto][v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc][PATCH] driver: soc: xilinx: rename cpu_number1 to dummy_cpu_number
ping. On 1/17/24 10:53, quanyang.wang via lists.yoctoproject.org wrote: From: Quanyang Wang The per cpu variable cpu_number1 is passed to xlnx_event_handler as argument "dev_id", but is not used in this function. So drop the initialization of this variable and rename it to dummy_cpu_number. This patch is to fix the following calltrace when the kernel option CONFIG_DEBUG_ATOMIC_SLEEP is enabled: BUG: sleeping function called from invalid context at include/linux/sched/mm.h:274 in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 1, name: swapper/0 preempt_count: 1, expected: 0 CPU: 0 PID: 1 Comm: swapper/0 Not tainted 6.1.0 #53 Hardware name: Xilinx Versal vmk180 Eval board rev1.1 (QSPI) (DT) Call trace: dump_backtrace+0xd0/0xe0 show_stack+0x18/0x40 dump_stack_lvl+0x7c/0xa0 dump_stack+0x18/0x34 __might_resched+0x10c/0x140 __might_sleep+0x4c/0xa0 __kmem_cache_alloc_node+0xf4/0x168 kmalloc_trace+0x28/0x38 __request_percpu_irq+0x74/0x138 xlnx_event_manager_probe+0xf8/0x298 platform_probe+0x68/0xd8 Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branches: v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc v6.1/standard/sdkv6.1/xlnx-soc Thanks, Quanyang --- drivers/soc/xilinx/xlnx_event_manager.c | 14 +++--- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/drivers/soc/xilinx/xlnx_event_manager.c b/drivers/soc/xilinx/xlnx_event_manager.c index 9b6fe19666946..9156cb45bd533 100644 --- a/drivers/soc/xilinx/xlnx_event_manager.c +++ b/drivers/soc/xilinx/xlnx_event_manager.c @@ -22,7 +22,7 @@ #include #include -static DEFINE_PER_CPU_READ_MOSTLY(int, cpu_number1); +static DEFINE_PER_CPU_READ_MOSTLY(int, dummy_cpu_number); static int virq_sgi; static int event_manager_availability = -EACCES; @@ -569,7 +569,6 @@ static void xlnx_disable_percpu_irq(void *data) static int xlnx_event_init_sgi(struct platform_device *pdev) { int ret = 0; - int cpu; /* * IRQ related structures are used for the following: * for each SGI interrupt ensure its mapped by GIC IRQ domain @@ -606,11 +605,8 @@ static int xlnx_event_init_sgi(struct platform_device *pdev) sgi_fwspec.param[0] = sgi_num; virq_sgi = irq_create_fwspec_mapping(_fwspec); - cpu = get_cpu(); - per_cpu(cpu_number1, cpu) = cpu; ret = request_percpu_irq(virq_sgi, xlnx_event_handler, "xlnx_event_mgmt", -_number1); - put_cpu(); +_cpu_number); WARN_ON(ret); if (ret) { @@ -626,16 +622,12 @@ static int xlnx_event_init_sgi(struct platform_device *pdev) static void xlnx_event_cleanup_sgi(struct platform_device *pdev) { - int cpu = smp_processor_id(); - - per_cpu(cpu_number1, cpu) = cpu; - cpuhp_remove_state(CPUHP_AP_ONLINE_DYN); on_each_cpu(xlnx_disable_percpu_irq, NULL, 1); irq_clear_status_flags(virq_sgi, IRQ_PER_CPU); - free_percpu_irq(virq_sgi, _number1); + free_percpu_irq(virq_sgi, _cpu_number); irq_dispose_mapping(virq_sgi); } -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13502): https://lists.yoctoproject.org/g/linux-yocto/message/13502 Mute This Topic: https://lists.yoctoproject.org/mt/103778951/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto] [yocto-kernel-cache][yocto-6.1][PATCH] bsp: xilinx-versal: enable USB_CONFIGFS option for USB device mode
From: Quanyang Wang These kernel options are enabled to test USB device mode for VMK180/VCK190. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branch: yocto-6.1 Thanks, Quanyang --- bsp/xilinx-versal/xilinx-versal.cfg | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bsp/xilinx-versal/xilinx-versal.cfg b/bsp/xilinx-versal/xilinx-versal.cfg index 2b0473ae55..d329fc89fb 100644 --- a/bsp/xilinx-versal/xilinx-versal.cfg +++ b/bsp/xilinx-versal/xilinx-versal.cfg @@ -74,6 +74,8 @@ CONFIG_USB_OTG_FSM=m CONFIG_USB_GADGET=y CONFIG_USB_GADGET_XILINX=y CONFIG_USB_ULPI_BUS=y +CONFIG_USB_CONFIGFS=y +CONFIG_USB_CONFIGFS_MASS_STORAGE=y CONFIG_MMC=y CONFIG_MMC_BLOCK=y -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13492): https://lists.yoctoproject.org/g/linux-yocto/message/13492 Mute This Topic: https://lists.yoctoproject.org/mt/103801675/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v5.15/standard/preempt-rt/sdkv5.15/xlnx-soc][PATCH] driver: soc: xilinx: rename cpu_number1 to dummy_cpu_number
From: Quanyang Wang The per cpu variable cpu_number1 is passed to xlnx_event_handler as argument "dev_id", but is not used in this function. So drop the initialization of this variable and rename it to dummy_cpu_number. This patch is to fix the following calltrace when the kernel option CONFIG_DEBUG_ATOMIC_SLEEP is enabled: BUG: sleeping function called from invalid context at include/linux/sched/mm.h:274 in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 1, name: swapper/0 preempt_count: 1, expected: 0 CPU: 0 PID: 1 Comm: swapper/0 Not tainted 6.1.0 #53 Hardware name: Xilinx Versal vmk180 Eval board rev1.1 (QSPI) (DT) Call trace: dump_backtrace+0xd0/0xe0 show_stack+0x18/0x40 dump_stack_lvl+0x7c/0xa0 dump_stack+0x18/0x34 __might_resched+0x10c/0x140 __might_sleep+0x4c/0xa0 __kmem_cache_alloc_node+0xf4/0x168 kmalloc_trace+0x28/0x38 __request_percpu_irq+0x74/0x138 xlnx_event_manager_probe+0xf8/0x298 platform_probe+0x68/0xd8 Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branches: v5.15/standard/preempt-rt/sdkv5.15/xlnx-soc v5.15/standard/sdkv5.15/xlnx-soc Thanks, Quanyang --- drivers/soc/xilinx/xlnx_event_manager.c | 14 +++--- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/drivers/soc/xilinx/xlnx_event_manager.c b/drivers/soc/xilinx/xlnx_event_manager.c index cf152eb58d87a..1ab3486e64f95 100644 --- a/drivers/soc/xilinx/xlnx_event_manager.c +++ b/drivers/soc/xilinx/xlnx_event_manager.c @@ -20,7 +20,7 @@ #include #include -static DEFINE_PER_CPU_READ_MOSTLY(int, cpu_number1); +static DEFINE_PER_CPU_READ_MOSTLY(int, dummy_cpu_number); static int virq_sgi; static int event_manager_availability = -EACCES; @@ -552,7 +552,6 @@ static void xlnx_disable_percpu_irq(void *data) static int xlnx_event_init_sgi(struct platform_device *pdev) { int ret = 0; - int cpu; /* * IRQ related structures are used for the following: * for each SGI interrupt ensure its mapped by GIC IRQ domain @@ -589,11 +588,8 @@ static int xlnx_event_init_sgi(struct platform_device *pdev) sgi_fwspec.param[0] = sgi_num; virq_sgi = irq_create_fwspec_mapping(_fwspec); - cpu = get_cpu(); - per_cpu(cpu_number1, cpu) = cpu; ret = request_percpu_irq(virq_sgi, xlnx_event_handler, "xlnx_event_mgmt", -_number1); - put_cpu(); +_cpu_number); WARN_ON(ret); if (ret) { @@ -609,16 +605,12 @@ static int xlnx_event_init_sgi(struct platform_device *pdev) static void xlnx_event_cleanup_sgi(struct platform_device *pdev) { - int cpu = smp_processor_id(); - - per_cpu(cpu_number1, cpu) = cpu; - cpuhp_remove_state(CPUHP_AP_ONLINE_DYN); on_each_cpu(xlnx_disable_percpu_irq, NULL, 1); irq_clear_status_flags(virq_sgi, IRQ_PER_CPU); - free_percpu_irq(virq_sgi, _number1); + free_percpu_irq(virq_sgi, _cpu_number); irq_dispose_mapping(virq_sgi); } -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13491): https://lists.yoctoproject.org/g/linux-yocto/message/13491 Mute This Topic: https://lists.yoctoproject.org/mt/103780752/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc][PATCH] driver: soc: xilinx: rename cpu_number1 to dummy_cpu_number
From: Quanyang Wang The per cpu variable cpu_number1 is passed to xlnx_event_handler as argument "dev_id", but is not used in this function. So drop the initialization of this variable and rename it to dummy_cpu_number. This patch is to fix the following calltrace when the kernel option CONFIG_DEBUG_ATOMIC_SLEEP is enabled: BUG: sleeping function called from invalid context at include/linux/sched/mm.h:274 in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 1, name: swapper/0 preempt_count: 1, expected: 0 CPU: 0 PID: 1 Comm: swapper/0 Not tainted 6.1.0 #53 Hardware name: Xilinx Versal vmk180 Eval board rev1.1 (QSPI) (DT) Call trace: dump_backtrace+0xd0/0xe0 show_stack+0x18/0x40 dump_stack_lvl+0x7c/0xa0 dump_stack+0x18/0x34 __might_resched+0x10c/0x140 __might_sleep+0x4c/0xa0 __kmem_cache_alloc_node+0xf4/0x168 kmalloc_trace+0x28/0x38 __request_percpu_irq+0x74/0x138 xlnx_event_manager_probe+0xf8/0x298 platform_probe+0x68/0xd8 Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branches: v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc v6.1/standard/sdkv6.1/xlnx-soc Thanks, Quanyang --- drivers/soc/xilinx/xlnx_event_manager.c | 14 +++--- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/drivers/soc/xilinx/xlnx_event_manager.c b/drivers/soc/xilinx/xlnx_event_manager.c index 9b6fe19666946..9156cb45bd533 100644 --- a/drivers/soc/xilinx/xlnx_event_manager.c +++ b/drivers/soc/xilinx/xlnx_event_manager.c @@ -22,7 +22,7 @@ #include #include -static DEFINE_PER_CPU_READ_MOSTLY(int, cpu_number1); +static DEFINE_PER_CPU_READ_MOSTLY(int, dummy_cpu_number); static int virq_sgi; static int event_manager_availability = -EACCES; @@ -569,7 +569,6 @@ static void xlnx_disable_percpu_irq(void *data) static int xlnx_event_init_sgi(struct platform_device *pdev) { int ret = 0; - int cpu; /* * IRQ related structures are used for the following: * for each SGI interrupt ensure its mapped by GIC IRQ domain @@ -606,11 +605,8 @@ static int xlnx_event_init_sgi(struct platform_device *pdev) sgi_fwspec.param[0] = sgi_num; virq_sgi = irq_create_fwspec_mapping(_fwspec); - cpu = get_cpu(); - per_cpu(cpu_number1, cpu) = cpu; ret = request_percpu_irq(virq_sgi, xlnx_event_handler, "xlnx_event_mgmt", -_number1); - put_cpu(); +_cpu_number); WARN_ON(ret); if (ret) { @@ -626,16 +622,12 @@ static int xlnx_event_init_sgi(struct platform_device *pdev) static void xlnx_event_cleanup_sgi(struct platform_device *pdev) { - int cpu = smp_processor_id(); - - per_cpu(cpu_number1, cpu) = cpu; - cpuhp_remove_state(CPUHP_AP_ONLINE_DYN); on_each_cpu(xlnx_disable_percpu_irq, NULL, 1); irq_clear_status_flags(virq_sgi, IRQ_PER_CPU); - free_percpu_irq(virq_sgi, _number1); + free_percpu_irq(virq_sgi, _cpu_number); irq_dispose_mapping(virq_sgi); } -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13488): https://lists.yoctoproject.org/g/linux-yocto/message/13488 Mute This Topic: https://lists.yoctoproject.org/mt/103778951/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto] [yocto-kernel-cache][yocto-5.15][PATCH] aptiv-s32g: update to compatible with SDK BSP39
From: Quanyang Wang There are some new configs enabled in SDK BSP39 release, so update kernel cache to be compatible with SDK. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branch: yocto-5.15 Thanks, Quanyang --- bsp/aptiv-s32g/aptiv-cvc.cfg | 8 1 file changed, 8 insertions(+) diff --git a/bsp/aptiv-s32g/aptiv-cvc.cfg b/bsp/aptiv-s32g/aptiv-cvc.cfg index 5f266fede3..64e6238b73 100644 --- a/bsp/aptiv-s32g/aptiv-cvc.cfg +++ b/bsp/aptiv-s32g/aptiv-cvc.cfg @@ -28,6 +28,9 @@ CONFIG_CPU_FREQ_GOV_POWERSAVE=y CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_GOV_ONDEMAND=y CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y +CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y +CONFIG_ARM_SCMI_CPUFREQ=y CONFIG_ARM_SCMI_TRANSPORT_SMC_ATOMIC_ENABLE=y # To keep align with SDK, unset the ARM_SCMI_POWER_DOMAIN config @@ -120,6 +123,7 @@ CONFIG_INPUT_UINPUT=y # Thermal CONFIG_THERMAL=y CONFIG_QORIQ_THERMAL=y +CONFIG_CPU_THERMAL=y # ADC CONFIG_IIO=y @@ -156,6 +160,10 @@ CONFIG_S32CC_WDT=y CONFIG_BLK_DEV_NVME=y CONFIG_NVME_TARGET=y CONFIG_NVMEM_S32CC_SIUL2=y +CONFIG_NVMEM_S32CC_OCOTP=y +CONFIG_NVMEM_S32CC_GPR=y +# CONFIG_NVMEM_SCMI is not set + # Regulator configuration CONFIG_REGULATOR=y -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13482): https://lists.yoctoproject.org/g/linux-yocto/message/13482 Mute This Topic: https://lists.yoctoproject.org/mt/103754324/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH] dts: Aptiv: Update 'Slew-Rates' from MSCR registers
From: Quanyang Wang This patch references to: 88132e3d1cf34c09aa00287a1ce29428d07d200e from https://github.com/nxp-auto-linux/linux We take into account FAST/1V8GPIO/3V3GPIO pads. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branches: v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g v5.15/standard/nxp-sdk-5.15/nxp-s32g Thanks, Quanyang --- .../boot/dts/freescale/s32g274a-aptiv.dtsi| 100 +- .../boot/dts/freescale/s32gxxxa-cvc-fl.dtsi | 86 +++ 2 files changed, 93 insertions(+), 93 deletions(-) diff --git a/arch/arm64/boot/dts/freescale/s32g274a-aptiv.dtsi b/arch/arm64/boot/dts/freescale/s32g274a-aptiv.dtsi index fc4c16131f8dc..8b5544a2669e4 100644 --- a/arch/arm64/boot/dts/freescale/s32g274a-aptiv.dtsi +++ b/arch/arm64/boot/dts/freescale/s32g274a-aptiv.dtsi @@ -217,13 +217,13 @@ can0_pins: can0 { can0_grp0 { pinmux = ; output-enable; - slew-rate = ; + slew-rate = ; }; can0_grp1 { pinmux = ; input-enable; - slew-rate = ; + slew-rate = ; }; can0_grp2 { @@ -233,13 +233,13 @@ can0_grp2 { can0_stb_grp0 { pinmux = ; bias-pull-up; - slew-rate = ; + slew-rate = ; }; can0_en_grp0 { pinmux = ; bias-pull-up; - slew-rate = ; + slew-rate = ; }; }; @@ -247,13 +247,13 @@ can1_pins: can1 { can1_grp0 { pinmux = ; output-enable; - slew-rate = ; + slew-rate = ; }; can1_grp1 { pinmux = ; input-enable; - slew-rate = ; + slew-rate = ; }; can1_grp2 { @@ -266,13 +266,13 @@ can2_pins: can2 { can2_grp0 { pinmux = ; output-enable; - slew-rate = ; + slew-rate = ; }; can2_grp1 { pinmux = ; input-enable; - slew-rate = ; + slew-rate = ; }; can2_grp2 { @@ -285,13 +285,13 @@ can3_pins: can3 { can3_grp0 { pinmux = ; output-enable; - slew-rate = ; + slew-rate = ; }; can3_grp1 { pinmux = ; input-enable; - slew-rate = ; + slew-rate = ; }; can3_grp2 { @@ -304,26 +304,26 @@ dspi1_pins: dspi1 { dspi1_grp0 { pinmux = ; output-enable; - slew-rate = ; + slew-rate = ; bias-pull-up; }; dspi1_grp1 { pinmux = ; output-enable; - slew-rate = ; + slew-rate = ; }; dspi1_grp2 { pinmux = ; output-enable; - slew-rate = ; + slew-rate = ; }; dspi1_grp3 { pinmux = ; input-enable; - slew-rate = ; + slew-rate = ; bias-pull-up; }; @@ -337,13 +337,13 @@ dspi1slave_pins: dspi1slave { dspi1slave_grp0 { pinmux = ; output-enable; - slew-rate = ; + slew-rate = ; }; dspi1slave_grp1 { pinmux = ; input-enable; - slew-rate = ; + slew-rate = ; }; dspi1slave_grp2 { @@ -355,13 +355,13 @@ dspi1slave_grp2 { dspi1slave_grp3 { pinmux = ; input-enable; - slew-rate = ; + slew-rate = ; }; dspi1slave_grp4 { pinmux = ; input-enable; - slew-rate = ; +
[linux-yocto] [yocto-kernel-cache][yocto-6.1][PATCH] bsp: xilinx-versal: fix duplicated option warning
From: Quanyang Wang There is a duplicated kernel option CONFIG_RESET_CONTROLLER and we need to remove it to fix the warning while do_kernel_configcheck: [INFO]: Fragments with duplicated configuration options: - fragment configs/v6.1/standard/bsp/xilinx-versal/xilinx-versal.cfg has a duplicated option: CONFIG_RESET_CONTROLLER Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branch: yocto-6.1 Thanks, Quanyang --- bsp/xilinx-versal/xilinx-versal.cfg | 1 - 1 file changed, 1 deletion(-) diff --git a/bsp/xilinx-versal/xilinx-versal.cfg b/bsp/xilinx-versal/xilinx-versal.cfg index 387f9547d9..2b0473ae55 100644 --- a/bsp/xilinx-versal/xilinx-versal.cfg +++ b/bsp/xilinx-versal/xilinx-versal.cfg @@ -181,7 +181,6 @@ CONFIG_ARM_CCI_PMU=y CONFIG_PERF_EVENTS=y CONFIG_VERSAL_SYSMON=y -CONFIG_RESET_CONTROLLER=y CONFIG_XILINX_AIE=y -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13440): https://lists.yoctoproject.org/g/linux-yocto/message/13440 Mute This Topic: https://lists.yoctoproject.org/mt/103366884/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto] [yocto-kernel-cache][yocto-6.1][PATCH] xilinx-zynq: remove redundant kernel option CONFIG_XILINX_PREFETCH
From: Quanyang Wang In SDK commit 4e34bbe7cda03 ("Revert "ARM: zynq: Fix prefetch option""), the kernel option CONFIG_XILINX_PREFETCH is removed. So remove it from kernel-cache. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branch: yocto-6.1 Thanks, Quanyang --- bsp/xilinx-zynq/xilinx-zynq.cfg | 5 - 1 file changed, 5 deletions(-) diff --git a/bsp/xilinx-zynq/xilinx-zynq.cfg b/bsp/xilinx-zynq/xilinx-zynq.cfg index 7af2562fc2..f03caed612 100644 --- a/bsp/xilinx-zynq/xilinx-zynq.cfg +++ b/bsp/xilinx-zynq/xilinx-zynq.cfg @@ -5,11 +5,6 @@ CONFIG_HOTPLUG_CPU=y CONFIG_VMSPLIT_2G=y CONFIG_CC_OPTIMIZE_FOR_SIZE=n -# -# Xilinx Specific Options -# -CONFIG_XILINX_PREFETCH=y - # ERRATA CONFIG_PL310_ERRATA_588369=y CONFIG_ARM_ERRATA_720789=y -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13439): https://lists.yoctoproject.org/g/linux-yocto/message/13439 Mute This Topic: https://lists.yoctoproject.org/mt/103366881/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH] drivers: stmmac: add condition check on phydev
From: Quanyang Wang When stmmac is using fixed-link mode, dev->phydev is NULL after calling stmmac_init_phy, so we need to add condition check if dev->phydev is NULL pointer. This patch is to fix the following calltrace: Unable to handle kernel NULL pointer dereference at virtual address 0435 Mem abort info: ESR = 0x9605 EC = 0x25: DABT (current EL), IL = 32 bits SET = 0, FnV = 0 EA = 0, S1PTW = 0 FSC = 0x05: level 1 translation fault Data abort info: ISV = 0, ISS = 0x0005 CM = 0, WnR = 0 user pgtable: 4k pages, 39-bit VAs, pgdp=000882fea000 [0435] pgd=, p4d=, pud= Internal error: Oops: 9605 [#1] PREEMPT_RT SMP Modules linked in: 8021q pfeng(O) s32cc_adc llce_core ci_hdrc_imx usbmisc_imx flexcan firmware_class industrialio_triggered_buffer i2c_imx kfifo_buf pwm_fsl_ftm sch_fq_codel openvswitch nsh nf_conncount nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 fuse CPU: 5 PID: 375 Comm: dhcpcd Tainted: G O 6.1.62-rt10-yocto-preempt-rt #66 Hardware name: Freescale S32G399A (DT) pstate: 6005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : __stmmac_open+0x374/0x418 lr : __stmmac_open+0x370/0x418 sp : ffc00c633a50 x29: ffc00c633a50 x28: 1043 x27: ff8800371e00 x26: x25: 000a x24: ff8802eec240 x23: ff8800d8dc10 x22: ff8800cae000 x21: x20: ff88026c8000 x19: ff88026c89c0 x18: 0020 x17: x16: x15: ff8802eec6d8 x14: 0001 x13: ffc0094cfefa x12: ffc0094cfef6 x11: 0040 x10: 000a x9 : ffc0080a5414 x8 : 000a x7 : 647968703d3d3d3d x6 : x5 : ff885bfb6ae0 x4 : x3 : 0027 x2 : x1 : x0 : 0018 Call trace: __stmmac_open+0x374/0x418 stmmac_open+0x48/0xa0 __dev_open+0x10c/0x1c8 __dev_change_flags+0x174/0x1d0 dev_change_flags+0x2c/0x70 devinet_ioctl+0x664/0x738 inet_ioctl+0x1e4/0x1f8 sock_do_ioctl+0x50/0x100 sock_ioctl+0x234/0x358 __arm64_sys_ioctl+0xb0/0xf8 invoke_syscall+0x58/0x120 el0_svc_common.constprop.0+0x4c/0xf8 do_el0_svc+0x34/0xc0 el0_svc+0x2c/0x88 el0t_64_sync_handler+0xb8/0xc0 el0t_64_sync+0x18c/0x190 Code: b0003440 910f6000 940f8975 f9448a81 (3950d420) Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branches: v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g v5.15/standard/nxp-sdk-5.15/nxp-s32g Thanks, Quanyang --- drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c index 1816b87020be3..b9c06e17cf1bf 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c @@ -3840,7 +3840,8 @@ static int stmmac_open(struct net_device *dev) stmmac_enable_all_dma_irq(priv); /* Indicate that the MAC is responsible for PHY PM */ - dev->phydev->mac_managed_pm = true; + if (dev->phydev) + dev->phydev->mac_managed_pm = true; return 0; -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13422): https://lists.yoctoproject.org/g/linux-yocto/message/13422 Mute This Topic: https://lists.yoctoproject.org/mt/103143892/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH] dts: Aptiv-FL: enable gmac0 device node
From: Quanyang Wang Enable gmac0 device and set it to be a fixed link. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branches: v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g v5.15/standard/nxp-sdk-5.15/nxp-s32g Thanks, Quanyang --- arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi b/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi index f3569655f83d4..537eda907e80d 100644 --- a/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi +++ b/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi @@ -37,11 +37,15 @@ { { /* Before enabling SJA1110, set it to be "disabled" */ - status = "disabled"; + status = "okay"; phy-mode = "rgmii"; phy-handle = <_mdio_c_phy19>; pinctrl-names = "default"; pinctrl-0 = <_pins>, <_pins>; + fixed-link { + speed = <1000>; + full-duplex; + }; }; _mdio { -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13423): https://lists.yoctoproject.org/g/linux-yocto/message/13423 Mute This Topic: https://lists.yoctoproject.org/mt/103143893/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto] [yocto-kernel-cache][yocto-6.1][PATCH] bsp: xilinx-versal: add new kernel options introduced by v2023.2
From: Quanyang Wang The kernel opitons and the reasons are listed as following: CONFIG_XILINX_WINDOW_WATCHDOG: Enable upstream WWDT driver for Versal and Versal NET. CONFIG_RESET_CONTROLLER: Enable reset-controller config to provide the dynamic reset feature based on DT reset IDs. It also resolves the failure of the USB dwc3 probe. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branch: yocto-6.1 Thanks, Quanyang --- bsp/xilinx-versal/xilinx-versal.cfg | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bsp/xilinx-versal/xilinx-versal.cfg b/bsp/xilinx-versal/xilinx-versal.cfg index 6755af4129..387f9547d9 100644 --- a/bsp/xilinx-versal/xilinx-versal.cfg +++ b/bsp/xilinx-versal/xilinx-versal.cfg @@ -63,6 +63,7 @@ CONFIG_GPIO_ZYNQ=y CONFIG_WATCHDOG=y CONFIG_XILINX_WATCHDOG=y +CONFIG_XILINX_WINDOW_WATCHDOG=y CONFIG_USB=y CONFIG_USB_XHCI_HCD=y @@ -180,6 +181,7 @@ CONFIG_ARM_CCI_PMU=y CONFIG_PERF_EVENTS=y CONFIG_VERSAL_SYSMON=y +CONFIG_RESET_CONTROLLER=y CONFIG_XILINX_AIE=y -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13421): https://lists.yoctoproject.org/g/linux-yocto/message/13421 Mute This Topic: https://lists.yoctoproject.org/mt/103125401/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc] Xilinx: update to v2023.02
Hi Bruce, Would you please help merge these patches to the branch: v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc Thanks, Quanyang The following changes since commit de67708a86ef9bca7e9233ce3dee2f370f0c178c:  net: axienet: Fix check for partial TX checksum (2023-12-04 10:14:51 -0500) are available in the Git repository at:  g...@github.com:wqyoung/linux-yocto-dev.git wqy/xlnx/6.1/preempt-rt/2023.02 for you to fetch changes up to 5222d104e04217b18bb2594890b1d0818933a04c:  net: macb: Set MDIO clock divisor for pclk higher than 160MHz (2023-12-05 15:56:54 +0800) Abhijit Gangurde (13):  cdx: Setting correct MSI msg value when irq_write_msi_msg is called  cdx: Move MSI domain initialization code to controller code  cdx: check return value of cdx_rpmsg_send  cdx: Remove unnecessary wrapper function cdx_mcdi_cmd_start_or_queue_ext  cdx: Include rpmsg header rpmsg.h in mcdi.h file  cdx: Rename MCDI_LOGGING to CDX_MCDI_LOGGING  cdx: Set num_msi variable when msi domain is created  vfio/cdx: Rename vfio_cdx, vfio_cdx_intr, vfio_cdx_private.h files  rpmsg: Make MAX_RPMSG_BUF_SIZE configurable from kconfig  cdx: Replace custom mcdi logging with print_hex_dump_debug()  cdx: Sending MSI msg to firmware from preemptible task context  vfio/cdx: Use module_driver macro  vfio/cdx: Remove unnecessary wrapper functions, macros. Amit Cohen (1):  ethtool: Add support for 800Gbps link modes Amit Kumar Mahapatra (18):  mtd: spi-nor: issi: Fix flash lock failure on ISSI flash parts  arm64: zynqmp: Add new parallel DT binding for ZC1751+DC1 board  arm64: versal-net: Add new parallel DT binding for tenzing se9 board  arm64: versal-net: Update spi-max-freq to 150Mhz  arm64: versal-net: Update spi-tx-bus-width to 4  Revert "mtd: rawnand: arasan: Prevent an unsupported configuration"  arm64: dts: zynqmp: make hw-ecc as the default ecc mode  spi: Fix kernel crash while using GPIO CS  dt-bindings: mtd: jedec, spi-nor: Add DT property to avoid setting SRWD bit in status register  mtd: spi-nor: Avoid setting SRWD bit in SR if WP# signal not connected  mtd: spi-nor: Add flash protection support for OSPI flashes  mtd: spi-nor: issi: Disable 16bit status register write  arm64: versal: Add no-wp DT property in OSPI flash node  mtd: spi-nor: Avoid writing EAR register for flashes less than 16MB  mtd: spi-nor: For Winbond flashes with multiple die check WIP of each die  spi: spi-cadence: Correct irq sequence for read  mtd: spi-nor: Fix Write failure in SST flashes  mtd: rawnand: arasan: Avoid overwriting valid data while checking for bitflips during HW-ECC read Arnd Bergmann (1):  gpio: synq: remove unused zynq_gpio_irq_reqres/zynq_gpio_irq_relres Ashok Reddy Soma (1):  arm64: zynqmp: Configure gem1 rx pins on kd240 board Bartosz Wawrzyniak (1):  net: macb: Set MDIO clock divisor for pclk higher than 160MHz Ben Levinsky (1):  rpmsg: virtio: show virtqueue debug information Christophe JAILLET (1):  watchdog: of_xilinx_wdt: Use devm_clk_get_enabled() helper Conall O'Griofa (4):  drivers: iio: adc: xilinx-ams: Add over temperature interrupts  drivers: iio: adc: Split driver into common and platform  drivers: iio: adc: versal-sysmon: Add I2C driver  drivers: iio: adc: xadc: Correct Write edge in CFG Daniel Giritzer (1):  mtd: spi-nor: Use nor->info->id[0] for manufacturer id Daniele Palmas (1):  ethtool: add tx aggregation parameters Govindarajulu Varadarajan (7):  misc: xilinx-ai-engine: Import DMA_BUF module  misc: xilinx-ai-engine: Add l1/l2_ctrl register offsets for aieml  misc: xilinx-ai-engine: remove loc from aie_get_bc_event()  misc: xilinx-ai-engine: add support for events in mem tile  misc: xilinx-ai-engine: Add error interrupt support for aie2 hw  uio_xilinx_ai_engine: Fix irq number in call to irq_set_irqchip_state  uio_xilinx_ai_engine: Fix return value of xilinx_ai_engine_simulate_irq Gregory Williams (6):  misc: xilinx-ai-engine: Add DMA buffer descriptor register attributes  misc: xilinx-ai-engine: Add sysfs nodes to show DMA buffer descriptor metadata  misc: xilinx-ai-engine: Print wrap value in BD sysfs node  misc: xilinx-ai-engine: Fix compilation warning  misc: xilinx-ai-engine: Fix dereference of null pointer  misc: xilinx-ai-engine: Fix bug in setting Harini Katakam (7):  Revert "phy: dp83867: Add support for SGMII"  Revert "net: macb: Disable macb pad and fcs for fragmented packets"  arm64: zynqmp: Assign TSU clock frequency for KR260  arm64: zynqmp: Assign TSU clock frequency for KV and KD boards  arm64: versal_net: Update RMII property  arm64: versal-net: Adjust TI PHY impedance  ptp: xilinx: Add workaround
[linux-yocto][v6.1/standard/sdkv6.1/xlnx-soc] Xilinx: update to v2023.02
Hi Bruce, Would you please help merge these patches to the branch: v6.1/standard/sdkv6.1/xlnx-soc Thanks, Quanyang The following changes since commit e3fd2fcea42cce5b322c4b54f58d98fa67cd5a6e:  net: axienet: Fix check for partial TX checksum (2023-12-04 10:14:50 -0500) are available in the Git repository at:  g...@github.com:wqyoung/linux-yocto-dev.git wqy/xlnx/6.1/standard/2023.02 for you to fetch changes up to 89f70febab7f9b50039fce82243f00407e2f568a:  net: macb: Set MDIO clock divisor for pclk higher than 160MHz (2023-12-05 15:46:30 +0800) Abhijit Gangurde (13):  cdx: Setting correct MSI msg value when irq_write_msi_msg is called  cdx: Move MSI domain initialization code to controller code  cdx: check return value of cdx_rpmsg_send  cdx: Remove unnecessary wrapper function cdx_mcdi_cmd_start_or_queue_ext  cdx: Include rpmsg header rpmsg.h in mcdi.h file  cdx: Rename MCDI_LOGGING to CDX_MCDI_LOGGING  cdx: Set num_msi variable when msi domain is created  vfio/cdx: Rename vfio_cdx, vfio_cdx_intr, vfio_cdx_private.h files  rpmsg: Make MAX_RPMSG_BUF_SIZE configurable from kconfig  cdx: Replace custom mcdi logging with print_hex_dump_debug()  cdx: Sending MSI msg to firmware from preemptible task context  vfio/cdx: Use module_driver macro  vfio/cdx: Remove unnecessary wrapper functions, macros. Amit Cohen (1):  ethtool: Add support for 800Gbps link modes Amit Kumar Mahapatra (18):  mtd: spi-nor: issi: Fix flash lock failure on ISSI flash parts  arm64: zynqmp: Add new parallel DT binding for ZC1751+DC1 board  arm64: versal-net: Add new parallel DT binding for tenzing se9 board  arm64: versal-net: Update spi-max-freq to 150Mhz  arm64: versal-net: Update spi-tx-bus-width to 4  Revert "mtd: rawnand: arasan: Prevent an unsupported configuration"  arm64: dts: zynqmp: make hw-ecc as the default ecc mode  spi: Fix kernel crash while using GPIO CS  dt-bindings: mtd: jedec, spi-nor: Add DT property to avoid setting SRWD bit in status register  mtd: spi-nor: Avoid setting SRWD bit in SR if WP# signal not connected  mtd: spi-nor: Add flash protection support for OSPI flashes  mtd: spi-nor: issi: Disable 16bit status register write  arm64: versal: Add no-wp DT property in OSPI flash node  mtd: spi-nor: Avoid writing EAR register for flashes less than 16MB  mtd: spi-nor: For Winbond flashes with multiple die check WIP of each die  spi: spi-cadence: Correct irq sequence for read  mtd: spi-nor: Fix Write failure in SST flashes  mtd: rawnand: arasan: Avoid overwriting valid data while checking for bitflips during HW-ECC read Arnd Bergmann (1):  gpio: synq: remove unused zynq_gpio_irq_reqres/zynq_gpio_irq_relres Ashok Reddy Soma (1):  arm64: zynqmp: Configure gem1 rx pins on kd240 board Bartosz Wawrzyniak (1):  net: macb: Set MDIO clock divisor for pclk higher than 160MHz Ben Levinsky (1):  rpmsg: virtio: show virtqueue debug information Christophe JAILLET (1):  watchdog: of_xilinx_wdt: Use devm_clk_get_enabled() helper Conall O'Griofa (4):  drivers: iio: adc: xilinx-ams: Add over temperature interrupts  drivers: iio: adc: Split driver into common and platform  drivers: iio: adc: versal-sysmon: Add I2C driver  drivers: iio: adc: xadc: Correct Write edge in CFG Daniel Giritzer (1):  mtd: spi-nor: Use nor->info->id[0] for manufacturer id Daniele Palmas (1):  ethtool: add tx aggregation parameters Govindarajulu Varadarajan (7):  misc: xilinx-ai-engine: Import DMA_BUF module  misc: xilinx-ai-engine: Add l1/l2_ctrl register offsets for aieml  misc: xilinx-ai-engine: remove loc from aie_get_bc_event()  misc: xilinx-ai-engine: add support for events in mem tile  misc: xilinx-ai-engine: Add error interrupt support for aie2 hw  uio_xilinx_ai_engine: Fix irq number in call to irq_set_irqchip_state  uio_xilinx_ai_engine: Fix return value of xilinx_ai_engine_simulate_irq Gregory Williams (6):  misc: xilinx-ai-engine: Add DMA buffer descriptor register attributes  misc: xilinx-ai-engine: Add sysfs nodes to show DMA buffer descriptor metadata  misc: xilinx-ai-engine: Print wrap value in BD sysfs node  misc: xilinx-ai-engine: Fix compilation warning  misc: xilinx-ai-engine: Fix dereference of null pointer  misc: xilinx-ai-engine: Fix bug in setting Harini Katakam (7):  Revert "phy: dp83867: Add support for SGMII"  Revert "net: macb: Disable macb pad and fcs for fragmented packets"  arm64: zynqmp: Assign TSU clock frequency for KR260  arm64: zynqmp: Assign TSU clock frequency for KV and KD boards  arm64: versal_net: Update RMII property  arm64: versal-net: Adjust TI PHY impedance  ptp: xilinx: Add workaround for EXTTS
[linux-yocto][v6.1/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH 2/2] dts: Aptiv-FL: enable gmac0 device node
From: Quanyang Wang Enable gmac0 device and set it to be a fixed link. Signed-off-by: Quanyang Wang --- arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi b/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi index f3569655f83d4..537eda907e80d 100644 --- a/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi +++ b/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi @@ -37,11 +37,15 @@ { { /* Before enabling SJA1110, set it to be "disabled" */ - status = "disabled"; + status = "okay"; phy-mode = "rgmii"; phy-handle = <_mdio_c_phy19>; pinctrl-names = "default"; pinctrl-0 = <_pins>, <_pins>; + fixed-link { + speed = <1000>; + full-duplex; + }; }; _mdio { -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13352): https://lists.yoctoproject.org/g/linux-yocto/message/13352 Mute This Topic: https://lists.yoctoproject.org/mt/102966201/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v6.1/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH 1/2] drivers: stmmac: add condition check on phydev
From: Quanyang Wang When stmmac is using fixed-link mode, dev->phydev is NULL after calling stmmac_init_phy, so we need to add condition check if dev->phydev is NULL pointer. This patch is to fix the following calltrace: Unable to handle kernel NULL pointer dereference at virtual address 0435 Mem abort info: ESR = 0x9605 EC = 0x25: DABT (current EL), IL = 32 bits SET = 0, FnV = 0 EA = 0, S1PTW = 0 FSC = 0x05: level 1 translation fault Data abort info: ISV = 0, ISS = 0x0005 CM = 0, WnR = 0 user pgtable: 4k pages, 39-bit VAs, pgdp=000882fea000 [0435] pgd=, p4d=, pud= Internal error: Oops: 9605 [#1] PREEMPT_RT SMP Modules linked in: 8021q pfeng(O) s32cc_adc llce_core ci_hdrc_imx usbmisc_imx flexcan firmware_class industrialio_triggered_buffer i2c_imx kfifo_buf pwm_fsl_ftm sch_fq_codel openvswitch nsh nf_conncount nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 fuse CPU: 5 PID: 375 Comm: dhcpcd Tainted: G O 6.1.62-rt10-yocto-preempt-rt #66 Hardware name: Freescale S32G399A (DT) pstate: 6005 (nZCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : __stmmac_open+0x374/0x418 lr : __stmmac_open+0x370/0x418 sp : ffc00c633a50 x29: ffc00c633a50 x28: 1043 x27: ff8800371e00 x26: x25: 000a x24: ff8802eec240 x23: ff8800d8dc10 x22: ff8800cae000 x21: x20: ff88026c8000 x19: ff88026c89c0 x18: 0020 x17: x16: x15: ff8802eec6d8 x14: 0001 x13: ffc0094cfefa x12: ffc0094cfef6 x11: 0040 x10: 000a x9 : ffc0080a5414 x8 : 000a x7 : 647968703d3d3d3d x6 : x5 : ff885bfb6ae0 x4 : x3 : 0027 x2 : x1 : x0 : 0018 Call trace: __stmmac_open+0x374/0x418 stmmac_open+0x48/0xa0 __dev_open+0x10c/0x1c8 __dev_change_flags+0x174/0x1d0 dev_change_flags+0x2c/0x70 devinet_ioctl+0x664/0x738 inet_ioctl+0x1e4/0x1f8 sock_do_ioctl+0x50/0x100 sock_ioctl+0x234/0x358 __arm64_sys_ioctl+0xb0/0xf8 invoke_syscall+0x58/0x120 el0_svc_common.constprop.0+0x4c/0xf8 do_el0_svc+0x34/0xc0 el0_svc+0x2c/0x88 el0t_64_sync_handler+0xb8/0xc0 el0t_64_sync+0x18c/0x190 Code: b0003440 910f6000 940f8975 f9448a81 (3950d420) Signed-off-by: Quanyang Wang --- drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c index 460aaf5a430e2..6c5d5c562c70d 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c @@ -3894,7 +3894,8 @@ static int __stmmac_open(struct net_device *dev, stmmac_enable_all_dma_irq(priv); /* Indicate that the MAC is responsible for PHY PM */ - dev->phydev->mac_managed_pm = true; + if (dev->phydev) + dev->phydev->mac_managed_pm = true; return 0; -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13351): https://lists.yoctoproject.org/g/linux-yocto/message/13351 Mute This Topic: https://lists.yoctoproject.org/mt/102966200/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v6.1/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH 0/2]
From: Quanyang Wang Hi Bruce, Would you please help merge these 2 patches to the branches: v6.1/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g v6.1/standard/nxp-sdk-5.15/nxp-s32g Thanks, Quanyang Quanyang Wang (2): drivers: stmmac: add condition check on phydev dts: Aptiv-FL: enable gmac0 device node arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi | 6 +- drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-) -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13350): https://lists.yoctoproject.org/g/linux-yocto/message/13350 Mute This Topic: https://lists.yoctoproject.org/mt/102966199/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v6.1/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH] gpio: s32: make irq_chip immutable
From: Quanyang Wang The kernel requires that the flag IRQCHIP_IMMUTABLE is set for irqchip structure in gpio driver, or else it complains with: gpio gpiochip0: (4009d700.siul2-gpio): not an immutable chip, please consider fixing it! Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branches: v6.1/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g v6.1/standard/nxp-sdk-5.15/nxp-s32g Thanks, Quanyang --- drivers/gpio/gpio-siul2-s32cc.c | 25 +++-- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/drivers/gpio/gpio-siul2-s32cc.c b/drivers/gpio/gpio-siul2-s32cc.c index 668eab91859f2..5db92ad73772d 100644 --- a/drivers/gpio/gpio-siul2-s32cc.c +++ b/drivers/gpio/gpio-siul2-s32cc.c @@ -153,7 +153,6 @@ struct siul2_gpio_dev { struct regmap *irqmap; struct regmap *eirqimcrsmap; struct gpio_chip gc; - struct irq_chip irq; /* Mutual access to SIUL2 registers. */ raw_spinlock_t lock; @@ -473,6 +472,8 @@ static void siul2_gpio_irq_unmask(struct irq_data *data) return; } + gpiochip_enable_irq(gc, gpio); + /* Disable interrupt */ regmap_update_bits(gpio_dev->irqmap, SIUL2_DIRER0, mask, 0); @@ -526,6 +527,8 @@ static void siul2_gpio_irq_mask(struct irq_data *data) regmap_write(gpio_dev->eirqimcrsmap, SIUL2_EIRQ_REG(platdata->irqs[index].eirq), 0); + + gpiochip_disable_irq(gc, gpio); } static const struct regmap_config siul2_regmap_conf = { @@ -1101,6 +1104,16 @@ static int siul2_gpio_populate_names(struct device *dev, return 0; } +static const struct irq_chip siul2_irqchip = { + .name = "gpio-siul2", + .irq_ack= siul2_gpio_irq_mask, + .irq_mask = siul2_gpio_irq_mask, + .irq_unmask = siul2_gpio_irq_unmask, + .irq_set_type = siul2_gpio_irq_set_type, + .flags = IRQCHIP_IMMUTABLE, + GPIOCHIP_IRQ_RESOURCE_HELPERS, +}; + static int siul2_gpio_probe(struct platform_device *pdev) { int err = 0; @@ -1173,14 +1186,6 @@ static int siul2_gpio_probe(struct platform_device *pdev) sizeof(*gpio_dev->pin_dir_bitmap); gpio_dev->pin_dir_bitmap = devm_kzalloc(dev, bitmap_size, GFP_KERNEL); - gpio_dev->irq = (struct irq_chip) { - .name = dev_name(dev), - .irq_ack= siul2_gpio_irq_mask, - .irq_mask = siul2_gpio_irq_mask, - .irq_unmask = siul2_gpio_irq_unmask, - .irq_set_type = siul2_gpio_irq_set_type, - }; - gc->parent = dev; gc->label = dev_name(dev); @@ -1195,7 +1200,7 @@ static int siul2_gpio_probe(struct platform_device *pdev) gc->owner = THIS_MODULE; girq = >irq; - girq->chip = _dev->irq; + gpio_irq_chip_set_chip(girq, _irqchip); girq->parent_handler = NULL; girq->num_parents = 0; girq->parents = NULL; -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13318): https://lists.yoctoproject.org/g/linux-yocto/message/13318 Mute This Topic: https://lists.yoctoproject.org/mt/102847614/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto] [yocto-kernel-cache][yocto-6.1][PATCH] aptiv-s32g: add aptiv-cvc-131 machine support
From: Quanyang Wang Add the new machine aptiv-cvc-131 support. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branch: yocto-6.1 Thanks, Quanyang --- bsp/aptiv-s32g/aptiv-cvc-fl-preempt-rt.scc | 1 + 1 file changed, 1 insertion(+) diff --git a/bsp/aptiv-s32g/aptiv-cvc-fl-preempt-rt.scc b/bsp/aptiv-s32g/aptiv-cvc-fl-preempt-rt.scc index d8a0c51af0..9dfbe1a498 100644 --- a/bsp/aptiv-s32g/aptiv-cvc-fl-preempt-rt.scc +++ b/bsp/aptiv-s32g/aptiv-cvc-fl-preempt-rt.scc @@ -1,5 +1,6 @@ # SPDX-License-Identifier: MIT define KMACHINE aptiv-cvc-fl +define KMACHINE aptiv-cvc-131 define KTYPE preempt-rt define KARCH arm64 -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13317): https://lists.yoctoproject.org/g/linux-yocto/message/13317 Mute This Topic: https://lists.yoctoproject.org/mt/102847516/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto] [yocto-kernel-cache][yocto-6.1][PATCH] aptiv-s32g: change S32CC_THERMAL to QORIQ_THERMAL
From: Quanyang Wang The latest SDK BSP38 RC9 drops the S32CC_THERMAL config and changes to use QORIQ_THERMAL instead, so update kernel cache to compatible with it. Signed-off-by: Quanyang Wang Signed-off-by: Bruce Ashfield --- Hi Bruce, Would you please help merge this patch to the branch: yocto-6.1 Thanks, Quanyang --- bsp/aptiv-s32g/aptiv-cvc.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bsp/aptiv-s32g/aptiv-cvc.cfg b/bsp/aptiv-s32g/aptiv-cvc.cfg index 5714cb9c74..71a96fd870 100644 --- a/bsp/aptiv-s32g/aptiv-cvc.cfg +++ b/bsp/aptiv-s32g/aptiv-cvc.cfg @@ -120,7 +120,7 @@ CONFIG_INPUT_UINPUT=y # Thermal CONFIG_THERMAL=y -CONFIG_S32CC_THERMAL=y +CONFIG_QORIQ_THERMAL=y # ADC CONFIG_IIO=y -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13278): https://lists.yoctoproject.org/g/linux-yocto/message/13278 Mute This Topic: https://lists.yoctoproject.org/mt/102501784/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [linux-yocto] [yocto-kernel-cache][yocto-5.15][PATCH] aptiv-s32g: change S32CC_THERMAL to QORIQ_THERMAL
Hi Bruce, On 10/9/23 09:17, Bruce Ashfield wrote: In message: Re: [yocto-kernel-cache][yocto-5.15][PATCH] aptiv-s32g: change S32CC_THERMAL to QORIQ_THERMAL on 07/10/2023 Quanyang Wang wrote: Hi Bruce, On 10/2/23 11:19, Bruce Ashfield wrote: In message: [yocto-kernel-cache][yocto-5.15][PATCH] aptiv-s32g: change S32CC_THERMAL to QORIQ_THERMAL on 28/09/2023 quanyang.w...@windriver.com wrote: From: Quanyang Wang The latest SDK BSP38 RC9 drops the S32CC_THERMAL config and changes to use QORIQ_THERMAL instead, so update kernel cache to compatible with it. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branch: yocto-5.15 merged. I can't find this patch. Would you please help to check it again? Can you see it now ? https://git.yoctoproject.org/yocto-kernel-cache/commit/?h=yocto-5.15=fd045a9376ffd9dbdd1c7c305ef3a63dedc308aa Sorry for replying late. I can see it now. Many thanks. BR, Quanyang Bruce Thanks, Quanyang Bruce Thanks, Quanyang --- bsp/aptiv-s32g/aptiv-cvc.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bsp/aptiv-s32g/aptiv-cvc.cfg b/bsp/aptiv-s32g/aptiv-cvc.cfg index 14ad889b97..5f266fede3 100644 --- a/bsp/aptiv-s32g/aptiv-cvc.cfg +++ b/bsp/aptiv-s32g/aptiv-cvc.cfg @@ -119,7 +119,7 @@ CONFIG_INPUT_UINPUT=y # Thermal CONFIG_THERMAL=y -CONFIG_S32CC_THERMAL=y +CONFIG_QORIQ_THERMAL=y # ADC CONFIG_IIO=y -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13166): https://lists.yoctoproject.org/g/linux-yocto/message/13166 Mute This Topic: https://lists.yoctoproject.org/mt/101634503/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto] [yocto-kernel-cache][yocto-6.1][PATCH] xilinx-zynq: add flash_fs.cfg
From: Quanyang Wang Add flash_fs.cfg since there are flash chips at zynq boards. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branch: yocto-6.1 Thanks, Quanyang --- bsp/xilinx-zynq/xilinx-zynq.scc | 1 + 1 file changed, 1 insertion(+) diff --git a/bsp/xilinx-zynq/xilinx-zynq.scc b/bsp/xilinx-zynq/xilinx-zynq.scc index 621f6954dc..3e395f691f 100644 --- a/bsp/xilinx-zynq/xilinx-zynq.scc +++ b/bsp/xilinx-zynq/xilinx-zynq.scc @@ -4,5 +4,6 @@ include features/spi/spi.scc include features/spi/spidev.scc include features/usb/ehci-hcd.scc include features/debug/debug-kernel.scc +include cfg/fs/flash_fs.cfg kconf hardware xilinx-zynq.cfg -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13151): https://lists.yoctoproject.org/g/linux-yocto/message/13151 Mute This Topic: https://lists.yoctoproject.org/mt/101829943/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto] [yocto-kernel-cache][yocto-6.1][PATCH] flash_fs: disable 4K sector when ubifs is enabled
From: Quanyang Wang When CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is enabled, mounting ubifs will trigger the following error log: UBIFS error (ubi0:0 pid 588): init_constants_early: too small LEBs (3968 bytes), min. is 15360 bytes This is because that c->leb_size is required to be larger than 15*1024. And c->leb_size is calculated by the formula: c->leb_size = ubi->mtd->erasesize - ubi->leb_start - data_pad So if erasesize is set to be 4K, ubifs will fail to work. Let's disable this kernel option explicitly while UBIFS is enabled. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branch: yocto-6.1 Thanks, Quanyang --- cfg/fs/flash_fs.cfg | 1 + 1 file changed, 1 insertion(+) diff --git a/cfg/fs/flash_fs.cfg b/cfg/fs/flash_fs.cfg index f9aef96ebb..291f40135f 100644 --- a/cfg/fs/flash_fs.cfg +++ b/cfg/fs/flash_fs.cfg @@ -19,3 +19,4 @@ CONFIG_YAFFS_AUTO_YAFFS2=y CONFIG_MTD_UBI=y CONFIG_UBIFS_FS=y +CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=n -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13150): https://lists.yoctoproject.org/g/linux-yocto/message/13150 Mute This Topic: https://lists.yoctoproject.org/mt/101829936/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [linux-yocto] [yocto-kernel-cache][yocto-5.15][PATCH] aptiv-s32g: change S32CC_THERMAL to QORIQ_THERMAL
Hi Bruce, On 10/2/23 11:19, Bruce Ashfield wrote: In message: [yocto-kernel-cache][yocto-5.15][PATCH] aptiv-s32g: change S32CC_THERMAL to QORIQ_THERMAL on 28/09/2023 quanyang.w...@windriver.com wrote: From: Quanyang Wang The latest SDK BSP38 RC9 drops the S32CC_THERMAL config and changes to use QORIQ_THERMAL instead, so update kernel cache to compatible with it. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branch: yocto-5.15 merged. I can't find this patch. Would you please help to check it again? Thanks, Quanyang Bruce Thanks, Quanyang --- bsp/aptiv-s32g/aptiv-cvc.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bsp/aptiv-s32g/aptiv-cvc.cfg b/bsp/aptiv-s32g/aptiv-cvc.cfg index 14ad889b97..5f266fede3 100644 --- a/bsp/aptiv-s32g/aptiv-cvc.cfg +++ b/bsp/aptiv-s32g/aptiv-cvc.cfg @@ -119,7 +119,7 @@ CONFIG_INPUT_UINPUT=y # Thermal CONFIG_THERMAL=y -CONFIG_S32CC_THERMAL=y +CONFIG_QORIQ_THERMAL=y # ADC CONFIG_IIO=y -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13149): https://lists.yoctoproject.org/g/linux-yocto/message/13149 Mute This Topic: https://lists.yoctoproject.org/mt/101634503/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v6.1/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH] dts: Aptiv-FL: drop llce_boot_status label
From: Quanyang Wang In commit 8dad1958c9d75 ("s32: llce: Refactor shared memory area"), the node llce_boot_status is removed. So we need to delete the label _boot_status from s32gxxxa-cvc-fl.dtsi. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branches: v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g v5.15/standard/nxp-sdk-5.15/nxp-s32g Thanks, Quanyang --- arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi | 4 1 file changed, 4 deletions(-) diff --git a/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi b/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi index 961ba2ec13581..f3569655f83d4 100644 --- a/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi +++ b/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi @@ -781,10 +781,6 @@ _shmem { status = "okay"; }; -_boot_status { - status = "okay"; -}; - _can1 { status = "okay"; }; -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13141): https://lists.yoctoproject.org/g/linux-yocto/message/13141 Mute This Topic: https://lists.yoctoproject.org/mt/101634954/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto] [yocto-kernel-cache][yocto-5.15][PATCH] aptiv-s32g: change S32CC_THERMAL to QORIQ_THERMAL
From: Quanyang Wang The latest SDK BSP38 RC9 drops the S32CC_THERMAL config and changes to use QORIQ_THERMAL instead, so update kernel cache to compatible with it. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branch: yocto-5.15 Thanks, Quanyang --- bsp/aptiv-s32g/aptiv-cvc.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bsp/aptiv-s32g/aptiv-cvc.cfg b/bsp/aptiv-s32g/aptiv-cvc.cfg index 14ad889b97..5f266fede3 100644 --- a/bsp/aptiv-s32g/aptiv-cvc.cfg +++ b/bsp/aptiv-s32g/aptiv-cvc.cfg @@ -119,7 +119,7 @@ CONFIG_INPUT_UINPUT=y # Thermal CONFIG_THERMAL=y -CONFIG_S32CC_THERMAL=y +CONFIG_QORIQ_THERMAL=y # ADC CONFIG_IIO=y -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13140): https://lists.yoctoproject.org/g/linux-yocto/message/13140 Mute This Topic: https://lists.yoctoproject.org/mt/101634503/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc][PATCH] misc: Kconfig: drop the merge conflicted hunk
From: Quanyang Wang The kernel option OPEN_DICE has been removed in commit 9989598547560 ("drivers: misc: Add Support for TMR Manager"). Remove it to fix the merge conflicted hunk. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branch: v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc Thanks, Quanyang --- drivers/misc/Kconfig | 7 --- 1 file changed, 7 deletions(-) diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig index f60366ef4dafe..c1b1b57223776 100644 --- a/drivers/misc/Kconfig +++ b/drivers/misc/Kconfig @@ -499,16 +499,9 @@ config HISI_HIKEY_USB switching between the dual-role USB-C port and the USB-A host ports using only one USB controller. -<<< HEAD config TMR_MANAGER bool "Select TMR Manager" depends on MICROBLAZE && MB_MANAGER -=== -config OPEN_DICE - tristate "Open Profile for DICE driver" - depends on OF_RESERVED_MEM - depends on HAS_IOMEM ->>> v6.1/standard/base help This option enables the driver developed for TMR Manager. The Triple Modular Redundancy(TMR) manager provides support for fault detection -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13132): https://lists.yoctoproject.org/g/linux-yocto/message/13132 Mute This Topic: https://lists.yoctoproject.org/mt/101615596/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc][PATCH] firmware: xilinx: fix enum mismatch
From: Quanyang Wang With gcc-13, the following mismatch is reported: drivers/firmware/xilinx/zynqmp.c:1817:5: warning: conflicting types for ‘zynqmp_pm_set_rpu_mode’ due to enum/integer mismatch; have ‘int(u32, enum rpu_oper_mode)’ {aka ‘int(unsigned int, enum rpu_oper_mode)’} [-Wenum-int-mismatch] 1817 | int zynqmp_pm_set_rpu_mode(u32 node_id, enum rpu_oper_mode rpu_mode) | ^~ In file included from drivers/firmware/xilinx/zynqmp.c:28: ./include/linux/firmware/xlnx-zynqmp.h:756:5: note: previous declaration of ‘zynqmp_pm_set_rpu_mode’ with type ‘int(u32, u32)’ {aka ‘int(unsigned int, unsigned int)’} 756 | int zynqmp_pm_set_rpu_mode(u32 node_id, u32 arg1); | ^~ drivers/firmware/xilinx/zynqmp.c:1835:5: warning: conflicting types for ‘zynqmp_pm_set_tcm_config’ due to enum/integer mismatch; have ‘int(u32, enum rpu_tcm_comb)’ {aka ‘int(unsigned int, enum rpu_tcm_comb)’} [-Wenum-int-mismatch] 1835 | int zynqmp_pm_set_tcm_config(u32 node_id, enum rpu_tcm_comb tcm_mode) | ^~~~ CC drivers/firmware/efi/libstub/string.o ./include/linux/firmware/xlnx-zynqmp.h:757:5: note: previous declaration of ‘zynqmp_pm_set_tcm_config’ with type ‘int(u32, u32)’ {aka ‘int(unsigned int, unsigned int)’} 757 | int zynqmp_pm_set_tcm_config(u32 node_id, u32 arg1); | ^~~~ Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branches: v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc v6.1/standard/sdkv6.1/xlnx-soc Thanks, Quanyang --- include/linux/firmware/xlnx-zynqmp.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/linux/firmware/xlnx-zynqmp.h b/include/linux/firmware/xlnx-zynqmp.h index 7a650e3111991..dea03368a55bc 100644 --- a/include/linux/firmware/xlnx-zynqmp.h +++ b/include/linux/firmware/xlnx-zynqmp.h @@ -755,8 +755,8 @@ int zynqmp_pm_request_wake(const u32 node, const u64 address, const enum zynqmp_pm_request_ack ack); int zynqmp_pm_get_rpu_mode(u32 node_id, enum rpu_oper_mode *rpu_mode); -int zynqmp_pm_set_rpu_mode(u32 node_id, u32 arg1); -int zynqmp_pm_set_tcm_config(u32 node_id, u32 arg1); +int zynqmp_pm_set_rpu_mode(u32 node_id, enum rpu_oper_mode arg1); +int zynqmp_pm_set_tcm_config(u32 node_id, enum rpu_tcm_comb arg1); int zynqmp_pm_pinctrl_request(const u32 pin); int zynqmp_pm_pinctrl_release(const u32 pin); int zynqmp_pm_pinctrl_get_function(const u32 pin, u32 *id); -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#13111): https://lists.yoctoproject.org/g/linux-yocto/message/13111 Mute This Topic: https://lists.yoctoproject.org/mt/101590471/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc][PATCH] gpio: zynq: fix zynqmp_gpio not an immutable chip warning
From: Manikanta Guntupalli commit f5691439353783ef114876849c70d2a641e09498 upstream. Make the struct irq_chip const and flag it as IRQCHIP_IMMUTABLE, call gpiochip_disable_irq() in the .irq_mask() callback and gpiochip_enable_irq() in the .irq_unmask() callback to fix "gpio gpiochip1: (zynqmp_gpio): not an immutable chip" warning. Signed-off-by: Manikanta Guntupalli Reviewed-by: Linus Walleij Signed-off-by: Bartosz Golaszewski --- Hi Bruce, Would you please help merge this patch to the branches: v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc v6.1/standard/sdkv6.1/xlnx-soc Thanks, Quanyang --- drivers/gpio/gpio-zynq.c | 22 +++--- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/drivers/gpio/gpio-zynq.c b/drivers/gpio/gpio-zynq.c index 06c6401f02b89..c334e46033bae 100644 --- a/drivers/gpio/gpio-zynq.c +++ b/drivers/gpio/gpio-zynq.c @@ -151,8 +151,8 @@ struct zynq_platform_data { int bank_max[ZYNQMP_GPIO_MAX_BANK]; }; -static struct irq_chip zynq_gpio_level_irqchip; -static struct irq_chip zynq_gpio_edge_irqchip; +static const struct irq_chip zynq_gpio_level_irqchip; +static const struct irq_chip zynq_gpio_edge_irqchip; /** * zynq_gpio_is_zynq - test if HW is zynq or zynqmp @@ -404,9 +404,12 @@ static int zynq_gpio_get_direction(struct gpio_chip *chip, unsigned int pin) static void zynq_gpio_irq_mask(struct irq_data *irq_data) { unsigned int device_pin_num, bank_num, bank_pin_num; + const unsigned long offset = irqd_to_hwirq(irq_data); + struct gpio_chip *chip = irq_data_get_irq_chip_data(irq_data); struct zynq_gpio *gpio = gpiochip_get_data(irq_data_get_irq_chip_data(irq_data)); + gpiochip_disable_irq(chip, offset); device_pin_num = irq_data->hwirq; zynq_gpio_get_bank_pin(device_pin_num, _num, _pin_num, gpio); writel_relaxed(BIT(bank_pin_num), @@ -425,9 +428,12 @@ static void zynq_gpio_irq_mask(struct irq_data *irq_data) static void zynq_gpio_irq_unmask(struct irq_data *irq_data) { unsigned int device_pin_num, bank_num, bank_pin_num; + const unsigned long offset = irqd_to_hwirq(irq_data); + struct gpio_chip *chip = irq_data_get_irq_chip_data(irq_data); struct zynq_gpio *gpio = gpiochip_get_data(irq_data_get_irq_chip_data(irq_data)); + gpiochip_enable_irq(chip, offset); device_pin_num = irq_data->hwirq; zynq_gpio_get_bank_pin(device_pin_num, _num, _pin_num, gpio); writel_relaxed(BIT(bank_pin_num), @@ -590,7 +596,7 @@ static void zynq_gpio_irq_relres(struct irq_data *d) } /* irq chip descriptor */ -static struct irq_chip zynq_gpio_level_irqchip = { +static const struct irq_chip zynq_gpio_level_irqchip = { .name = DRIVER_NAME, .irq_enable = zynq_gpio_irq_enable, .irq_eoi= zynq_gpio_irq_ack, @@ -601,10 +607,11 @@ static struct irq_chip zynq_gpio_level_irqchip = { .irq_request_resources = zynq_gpio_irq_reqres, .irq_release_resources = zynq_gpio_irq_relres, .flags = IRQCHIP_EOI_THREADED | IRQCHIP_EOI_IF_HANDLED | - IRQCHIP_MASK_ON_SUSPEND, + IRQCHIP_MASK_ON_SUSPEND | IRQCHIP_IMMUTABLE, + GPIOCHIP_IRQ_RESOURCE_HELPERS, }; -static struct irq_chip zynq_gpio_edge_irqchip = { +static const struct irq_chip zynq_gpio_edge_irqchip = { .name = DRIVER_NAME, .irq_enable = zynq_gpio_irq_enable, .irq_ack= zynq_gpio_irq_ack, @@ -614,7 +621,8 @@ static struct irq_chip zynq_gpio_edge_irqchip = { .irq_set_wake = zynq_gpio_set_wake, .irq_request_resources = zynq_gpio_irq_reqres, .irq_release_resources = zynq_gpio_irq_relres, - .flags = IRQCHIP_MASK_ON_SUSPEND, + .flags = IRQCHIP_MASK_ON_SUSPEND | IRQCHIP_IMMUTABLE, + GPIOCHIP_IRQ_RESOURCE_HELPERS, }; static void zynq_gpio_handle_bank_irq(struct zynq_gpio *gpio, @@ -962,7 +970,7 @@ static int zynq_gpio_probe(struct platform_device *pdev) /* Set up the GPIO irqchip */ girq = >irq; - girq->chip = _gpio_edge_irqchip; + gpio_irq_chip_set_chip(girq, _gpio_edge_irqchip); girq->parent_handler = zynq_gpio_irqhandler; girq->num_parents = 1; girq->parents = devm_kcalloc(>dev, 1, -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12981): https://lists.yoctoproject.org/g/linux-yocto/message/12981 Mute This Topic: https://lists.yoctoproject.org/mt/100792612/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc][PATCH] arm64: dts: versal: add i2c devices
From: Quanyang Wang The vck190/vmk180 boards are equipped with i2c devices: - GPIO Expander: TCA6416 - I2C Switch: PCA9548 - Programmable XO/VCXO: SI570 - EEPROM: M24128-BR - System Synchronizer for IEEE 1588: 8A34001 - Current & Power Monitor: INA226 - Fan Speed Controller: MAX6643 This patch add listed devices to dts. Signed-off-by: Quanyang Wang Signed-off-by: Bruce Ashfield --- Hi Bruce, Would you please help merge this patch to the branches: v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc v6.1/standard/sdkv6.1/xlnx-soc Thanks, Quanyang --- .../boot/dts/xilinx/versal-vmk180-revA.dts| 327 ++ 1 file changed, 327 insertions(+) diff --git a/arch/arm64/boot/dts/xilinx/versal-vmk180-revA.dts b/arch/arm64/boot/dts/xilinx/versal-vmk180-revA.dts index 10c67c9339d3..db394ac081ac 100644 --- a/arch/arm64/boot/dts/xilinx/versal-vmk180-revA.dts +++ b/arch/arm64/boot/dts/xilinx/versal-vmk180-revA.dts @@ -118,10 +118,337 @@ { /* PMC_MIO_49, LPD_MIO12-23 */ { /* PMC_MIO46/47 */ status = "okay"; + + tca6416_u233: gpio@20 { + compatible = "ti,tca6416"; + reg = <0x20>; + gpio-controller; /* IRQ not connected */ + #gpio-cells = <2>; + gpio-line-names = "MAX6643_OT_B", "MAX6643_FANFAIL_B", "", "", "PMBUS2_INA226_ALERT", "", "", + "MAX6643_FULLSPD", "FMCP1_FMC_PRSNT_M2C_B", "FMCP2_FMC_PRSNT_M2C_B", + "FMCP1_FMCP_PRSNT_M2C_B", "FMCP2_FMCP_PRSNT_M2C_B", "VCCINT_VRHOT_B", + "8A34001_EXP_RST_B", "PMBUS_ALERT", "PMBUS1_INA226_ALERT"; + }; + + i2c-mux@74 { + compatible = "nxp,pca9548"; /* u33 */ + #address-cells = <1>; + #size-cells = <0>; + reg = <0x74>; + + i2c@0 { + #address-cells = <1>; + #size-cells = <0>; + reg = <0>; + /* PMBUS */ + }; + i2c@1 { + #address-cells = <1>; + #size-cells = <0>; + reg = <1>; + /* PMBUS1_INA226 */ + u65: ina226@40 { /* u65 */ + compatible = "ti,ina226"; + #io-channel-cells = <1>; + label = "ina226-u65"; + reg = <0x40>; + shunt-resistor = <500>; /* R440 */ + }; + u161: ina226@41 { /* u161 */ + compatible = "ti,ina226"; + #io-channel-cells = <1>; + label = "ina226-u161"; + reg = <0x41>; + shunt-resistor = <500>; /* R1702 */ + }; + u163: ina226@42 { /* u163 */ + compatible = "ti,ina226"; + #io-channel-cells = <1>; + label = "ina226-u163"; + reg = <0x42>; + shunt-resistor = <5000>; /* R1214 */ + }; + u162: ina226@43 { /* u162 */ + compatible = "ti,ina226"; + #io-channel-cells = <1>; + label = "ina226-u162"; + reg = <0x43>; + shunt-resistor = <5000>; /* R1221 */ + }; + u165: ina226@44 { /* u165 */ + compatible = "ti,ina226"; + #io-channel-cells = <1>; + label = "ina226-u165"; + reg = <0x44>; + shunt-resistor = <5000>; /* R1216 */ + }; + u164: ina226@45 { /* u164 */ + compatible = "ti,ina226"; + #io-channel-cells = <1>; + label = "ina226-u164"; + reg = <0x45>; + shunt-resistor = <5000>; /* R1219 */ + }; + }; + /* 2 unconnected */ + i2c@3 { + #address-cells = <1>; + #size-cells = <0>; + reg = <3>; + /* PMBUS2_INA226 */ + u166: ina226@40 { /* u166 */ + compatible = "ti,ina226"; + #io-channel-cells = <1>; + label = "ina226-u166"; + reg = <0x40>; +
[linux-yocto] [yocto-kernel-cache][yocto-6.1][PATCH] bsp: xilinx-versal: add support for Xilinx Versal boards
From: Quanyang Wang Add scc and cfg files for Xilinx VMK180/VCK190 boards. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branch: yocto-6.1 Thanks, Quanyang --- .../xilinx-versal-preempt-rt.scc | 8 + bsp/xilinx-versal/xilinx-versal-standard.scc | 8 + bsp/xilinx-versal/xilinx-versal.cfg | 188 ++ bsp/xilinx-versal/xilinx-versal.scc | 12 ++ 4 files changed, 216 insertions(+) create mode 100644 bsp/xilinx-versal/xilinx-versal-preempt-rt.scc create mode 100644 bsp/xilinx-versal/xilinx-versal-standard.scc create mode 100644 bsp/xilinx-versal/xilinx-versal.cfg create mode 100644 bsp/xilinx-versal/xilinx-versal.scc diff --git a/bsp/xilinx-versal/xilinx-versal-preempt-rt.scc b/bsp/xilinx-versal/xilinx-versal-preempt-rt.scc new file mode 100644 index 00..92e66a00cc --- /dev/null +++ b/bsp/xilinx-versal/xilinx-versal-preempt-rt.scc @@ -0,0 +1,8 @@ +# SPDX-License-Identifier: MIT +define KMACHINE xilinx-versal +define KTYPE preempt-rt +define KARCH arm64 + +include ktypes/preempt-rt + +include xilinx-versal.scc diff --git a/bsp/xilinx-versal/xilinx-versal-standard.scc b/bsp/xilinx-versal/xilinx-versal-standard.scc new file mode 100644 index 00..c589699062 --- /dev/null +++ b/bsp/xilinx-versal/xilinx-versal-standard.scc @@ -0,0 +1,8 @@ +# SPDX-License-Identifier: MIT +define KMACHINE xilinx-versal +define KTYPE standard +define KARCH arm64 + +include ktypes/standard/standard.scc + +include xilinx-versal.scc diff --git a/bsp/xilinx-versal/xilinx-versal.cfg b/bsp/xilinx-versal/xilinx-versal.cfg new file mode 100644 index 00..6755af4129 --- /dev/null +++ b/bsp/xilinx-versal/xilinx-versal.cfg @@ -0,0 +1,188 @@ +# SPDX-License-Identifier: MIT +CONFIG_ARM64=y +CONFIG_ARCH_ZYNQMP=y +CONFIG_ARM64_4K_PAGES=y +CONFIG_SMP=y + +# CAN Device Drivers +# +CONFIG_CAN=y +CONFIG_CAN_DEV=y +CONFIG_CAN_XILINXCAN=y + +CONFIG_MTD=y +CONFIG_MTD_OF_PARTS=y +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +CONFIG_MTD_SPI_NOR=y +# 4K-size sector cost much time during erasing the whole chip +# CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set + +CONFIG_OF=y +CONFIG_OF_MDIO=y +CONFIG_ETHERNET=y +CONFIG_NET_VENDOR_CADENCE=y +CONFIG_MACB=y +CONFIG_XILINX_EMACLITE=y +CONFIG_XILINX_AXI_EMAC=y + +CONFIG_PHYLIB=y +CONFIG_XILINX_PHY=y +CONFIG_DP83848_PHY=y +CONFIG_DP83867_PHY=y +CONFIG_PHY_XILINX_ZYNQMP=y + +CONFIG_SERIAL_EARLYCON=y +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_AMBA_PL010=y +CONFIG_SERIAL_AMBA_PL010_CONSOLE=y +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +CONFIG_SERIAL_CORE_CONSOLE=y +CONFIG_SERIAL_XILINX_PS_UART=y +CONFIG_SERIAL_XILINX_PS_UART_CONSOLE=y +# +CONFIG_I2C=y +CONFIG_I2C_MUX=y +CONFIG_I2C_MUX_PCA954x=y +CONFIG_I2C_MUX_REG +CONFIG_I2C_CADENCE=y +CONFIG_EEPROM_AT24=y + + +CONFIG_SPI=y +CONFIG_SPI_MASTER=y +CONFIG_SPI_CADENCE=y +CONFIG_SPI_CADENCE_QUADSPI=y +CONFIG_SPI_XILINX=y +CONFIG_SPI_ZYNQMP_GQSPI=y + +CONFIG_GPIOLIB=y +CONFIG_OF_GPIO=y +CONFIG_GPIO_ZYNQ=y + +CONFIG_WATCHDOG=y +CONFIG_XILINX_WATCHDOG=y + +CONFIG_USB=y +CONFIG_USB_XHCI_HCD=y +CONFIG_USB_DWC3=y +CONFIG_USB_DWC3_OF_SIMPLE=y +CONFIG_USB_OTG=y +CONFIG_USB_OTG_FSM=m +CONFIG_USB_GADGET=y +CONFIG_USB_GADGET_XILINX=y +CONFIG_USB_ULPI_BUS=y + +CONFIG_MMC=y +CONFIG_MMC_BLOCK=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_PLTFM=y +CONFIG_MMC_SDHCI_OF_ARASAN=y + +CONFIG_RAS=y +CONFIG_EDAC=y +CONFIG_EDAC_XILINX_DDR=y +CONFIG_EDAC_XILINX_XILSEM=y + +CONFIG_RTC_CLASS=y +CONFIG_RTC_HCTOSYS=y +CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +CONFIG_RTC_INTF_SYSFS=y +CONFIG_RTC_DRV_ZYNQMP=y + +CONFIG_DMADEVICES=y +CONFIG_DMA_ENGINE=y +CONFIG_DMA_OF=y +CONFIG_CMA=y +CONFIG_DMA_CMA=y +CONFIG_CMA_SIZE_MBYTES=256 + +CONFIG_XILINX_ZYNQMP_DMA=y + +CONFIG_UIO=y +CONFIG_UIO_PDRV_GENIRQ=y +CONFIG_UIO_DMEM_GENIRQ=y +# +CONFIG_REMOTEPROC=y +CONFIG_RPMSG_CHAR=m +CONFIG_ZYNQMP_R5_REMOTEPROC=m + +CONFIG_STAGING=y + +CONFIG_IIO=y + +CONFIG_OF_OVERLAY=y +CONFIG_OF_CONFIGFS=y + +CONFIG_FPGA=y +CONFIG_FPGA_MGR_VERSAL_FPGA=y +CONFIG_FPGA_REGION=y +CONFIG_OF_FPGA_REGION=y + +CONFIG_REGULATOR=y + +CONFIG_MEDIA_SUPPORT=y +CONFIG_VIDEO_DEV=y +CONFIG_VIDEO_V4L2_SUBDEV_API=y +CONFIG_MEDIA_PLATFORM_SUPPORT=y +CONFIG_V4L_PLATFORM_DRIVERS=y +CONFIG_VIDEO_XILINX=y +CONFIG_VIDEO_XILINX_CFA=y +CONFIG_VIDEO_XILINX_CRESAMPLE=y +CONFIG_VIDEO_XILINX_HLS=y +CONFIG_VIDEO_XILINX_REMAPPER=y +CONFIG_VIDEO_XILINX_RGB2YUV=y +CONFIG_VIDEO_XILINX_SCALER=y +CONFIG_VIDEO_XILINX_SWITCH=y +CONFIG_VIDEO_XILINX_TPG=y +CONFIG_VIDEO_XILINX_VTC=y +CONFIG_VIDEO_XILINX_SDIRXSS=y +CONFIG_VIDEO_XILINX_AXI4S_SWITCH=y +CONFIG_VIDEO_XILINX_SCD=y +CONFIG_VIDEO_XILINX_M2M=y +CONFIG_VIDEO_XILINX_MULTISCALER=y + +CONFIG_DRM=y +CONFIG_DRM_KMS_HELPER=y +CONFIG_DRM_BRIDGE=y +CONFIG_HDMI=y + +CONFIG_DRM_XLNX=y +CONFIG_DRM_XLNX_BRIDGE=y +CONFIG_DRM_XLNX_BRIDGE_DEBUG_FS=y +CONFIG_DRM_ZYNQMP_DPSUB=y +CONFIG_DRM_XLNX_DSI=y +CONFIG_DRM_XLNX_MIXER=y +CONFIG_DRM_XLNX_PL_DISP=y +CONFIG_DRM_XLNX_SDI=y +CONFIG_DRM_XLNX_BRIDGE_CSC=y
[linux-yocto][v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc][PATCH] drm/xlnx: fix kmemleak by sending vblank_event in atomic_disable
From: Quanyang Wang commit a7e02f7796c163ac8297b30223bf24bade9f8a50 upstream When running xrandr to change resolution of DP, the kmemleak as below can be observed: unreferenced object 0x00080a351000 (size 256): comm "Xorg", pid 248, jiffies 4294899614 (age 19.960s) hex dump (first 32 bytes): 98 a0 bc 01 08 00 ff ff 01 00 00 00 00 00 00 00 ff ff ff ff 00 00 00 00 00 00 00 00 00 00 00 00 backtrace: [] kmemleak_alloc+0x30/0x40 [ ] kmem_cache_alloc+0x3d4/0x588 [<88ea9bd7>] drm_atomic_helper_setup_commit+0x84/0x5f8 [<2290a264>] drm_atomic_helper_commit+0x58/0x388 [ ] drm_atomic_commit+0x4c/0x60 [ ] drm_atomic_connector_commit_dpms+0xe8/0x110 [<20ade187>] drm_mode_obj_set_property_ioctl+0x1b0/0x450 [<918206d6>] drm_connector_property_set_ioctl+0x3c/0x68 [<8d51e7a5>] drm_ioctl_kernel+0xc4/0x118 [<2a819b75>] drm_ioctl+0x214/0x448 [<8ca4e588>] __arm64_sys_ioctl+0xa8/0xf0 [<34e15a35>] el0_svc_common.constprop.0+0x74/0x190 [<1b93d916>] do_el0_svc+0x24/0x90 [ ] el0_svc+0x14/0x20 [ ] el0_sync_handler+0xb0/0xb8 [<3e79c15f>] el0_sync+0x174/0x180 This is because there is a scenario that a drm_crtc_commit commit is allocated but not freed. The drm subsystem require/release references to a CRTC commit by calling drm_crtc_commit_get/put, and when drm_crtc_commit_put find that commit.ref.refcount is zero, it will call __drm_crtc_commit_free to free this CRTC commit. Among these drm_crtc_commit_get/put pairs, there is a drm_crtc_commit_get in drm_atomic_helper_setup_commit as below: ... new_crtc_state->event->base.completion = >flip_done; new_crtc_state->event->base.completion_release = release_crtc_commit; drm_crtc_commit_get(commit); ... This reference to the CRTC commit should be released at the function release_crtc_commit by calling e->completion_release(e->completion) in drm_send_event_locked. So we need to call drm_send_event_locked at two places: handling vblank event in the irq handler and the crtc disable helper. But in zynqmp_disp_crtc_atomic_disable, it only marks the flip is done and not call drm_crtc_commit_put. This result that the refcount of this commit is always non-zero and this commit will never be freed. Since the function drm_crtc_send_vblank_event has operations both sending a flip_done signal and releasing reference to the CRTC commit, let's use it instead. Signed-off-by: Quanyang Wang Signed-off-by: Daniel Vetter Link: https://patchwork.freedesktop.org/patch/msgid/20210202064121.173362-1-quanyang.w...@windriver.com --- Hi Bruce, Would you please help merge this patch to the branches: v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc v6.1/standard/sdkv6.1/xlnx-soc Thanks, Quanyang --- drivers/gpu/drm/xlnx/zynqmp_disp.c | 18 +- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/drivers/gpu/drm/xlnx/zynqmp_disp.c b/drivers/gpu/drm/xlnx/zynqmp_disp.c index c86e7a7775c5f..69fc2c48579fd 100644 --- a/drivers/gpu/drm/xlnx/zynqmp_disp.c +++ b/drivers/gpu/drm/xlnx/zynqmp_disp.c @@ -2043,8 +2043,6 @@ static void zynqmp_disp_enable(struct zynqmp_disp *disp) */ static void zynqmp_disp_disable(struct zynqmp_disp *disp, bool force) { - struct drm_crtc *crtc = >xlnx_crtc.crtc; - if (!force && (!disp->enabled || zynqmp_disp_layer_is_enabled(disp))) return; @@ -2053,12 +2051,6 @@ static void zynqmp_disp_disable(struct zynqmp_disp *disp, bool force) zynqmp_disp_av_buf_disable_buf(>av_buf); zynqmp_disp_av_buf_disable(>av_buf); - /* Mark the flip is done as crtc is disabled anyway */ - if (crtc->state->event) { - complete_all(crtc->state->event->base.completion); - crtc->state->event = NULL; - } - disp->enabled = false; } @@ -2636,8 +2628,16 @@ zynqmp_disp_crtc_atomic_disable(struct drm_crtc *crtc, zynqmp_disp_clk_disable(disp->pclk, >pclk_en); zynqmp_disp_plane_disable(crtc->primary); zynqmp_disp_disable(disp, true); - if (!disp->dpsub->external_crtc_attached) + if (!disp->dpsub->external_crtc_attached) { drm_crtc_vblank_off(crtc); + + spin_lock_irq(>dev->event_lock); + if (crtc->state->event) { + drm_crtc_send_vblank_event(crtc, crtc->state->event); + crtc->state->event = NULL; + } + spin_unlock_irq(>dev->event_lock); + } pm_runtime_put_sync(disp->dev); } -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12822): https://lists.yoctoproject.org/g/linux-yocto/message/12822 Mute This Topic: https://lists.yoctoproject.org/mt/99844248/21656 Group
[linux-yocto] [yocto-kernel-cache][yocto-6.1][PATCH] xilinx-zynqmp: xilinx-zynqmp: disable CONFIG_ARM_CCI_PMU for rt kernel
From: Quanyang Wang CONFIG_ARM_CCI_PMU depends on PERF_EVENTS which is not enabled for preempt-rt, so the building warning as below can be caught: [NOTE]: 'CONFIG_ARM_CCI_PMU' last val (y) and .config val (n) do not match [INFO]: CONFIG_ARM_CCI_PMU : n [INFO]: raw config text: config ARM_CCI_PMU tristate "ARM CCI PMU driver" select ARM_CCI depends on ((ARM && CPU_V7) || ARM64) && PERF_EVENTS help Support for PMU events monitoring on the ARM CCI (Cache Coherent Interconnect) family of products. If compiled as a module, it will be called arm-cci. Config 'ARM_CCI_PMU' has the following Direct dependencies (ARM_CCI_PMU=n): (ARM(undefined/n) && CPU_V7(undefined/n)) || ARM64(=y) (=y) && PERF_EVENTS(=n) Parent dependencies are: PERF_EVENTS [n] CPU_V7 [CPU_V7] ARM64 [y] ARM [ARM] [INFO]: config 'CONFIG_ARM_CCI_PMU' was set, but it wasn't assignable, check (parent) dependencies Disable CONFIG_ARM_CCI_PMU to fix this. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branch: yocto-6.1 Thanks, Quanyang --- bsp/xilinx-zynqmp/xilinx-zynqmp-preempt-rt.scc | 1 + bsp/xilinx-zynqmp/xilinx-zynqmp-rt.cfg | 2 ++ 2 files changed, 3 insertions(+) create mode 100644 bsp/xilinx-zynqmp/xilinx-zynqmp-rt.cfg diff --git a/bsp/xilinx-zynqmp/xilinx-zynqmp-preempt-rt.scc b/bsp/xilinx-zynqmp/xilinx-zynqmp-preempt-rt.scc index 010f7385c7..a76f5bc914 100644 --- a/bsp/xilinx-zynqmp/xilinx-zynqmp-preempt-rt.scc +++ b/bsp/xilinx-zynqmp/xilinx-zynqmp-preempt-rt.scc @@ -6,3 +6,4 @@ define KARCH arm64 include ktypes/preempt-rt/preempt-rt.scc include xilinx-zynqmp.scc +kconf hardware xilinx-zynqmp-rt.cfg diff --git a/bsp/xilinx-zynqmp/xilinx-zynqmp-rt.cfg b/bsp/xilinx-zynqmp/xilinx-zynqmp-rt.cfg new file mode 100644 index 00..25da0a1540 --- /dev/null +++ b/bsp/xilinx-zynqmp/xilinx-zynqmp-rt.cfg @@ -0,0 +1,2 @@ +# SPDX-License-Identifier: MIT +CONFIG_ARM_CCI_PMU=n -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12821): https://lists.yoctoproject.org/g/linux-yocto/message/12821 Mute This Topic: https://lists.yoctoproject.org/mt/99844140/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [linux-yocto][v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc][PATCH] arm64: zynqmp: delete redundant xiic-i2c device node
Hi Bruce, On 6/27/23 21:09, Bruce Ashfield wrote: In message: Re: [linux-yocto][v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc][PATCH] arm64: zynqmp: delete redundant xiic-i2c device node on 27/06/2023 Quanyang Wang wrote: ping. Was it only the preempt-rt branch that was missed ? If so, it is merged. If there's another branch, let me know. I don't have the original email anymore, so I can check it myself. This patch is for 2 branches: v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc v6.1/standard/sdkv6.1/xlnx-soc Thanks, Quanyang Bruce On 6/21/23 10:54, quanyang.wang via lists.yoctoproject.org wrote: From: Quanyang Wang The device node "axi_iic_0" is not needed to test canfd. Let's remove it since it triggers warning info: xiic-i2c 80003000.i2c: error -ENXIO: IRQ index 0 not found Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branches: v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc v6.1/standard/sdkv6.1/xlnx-soc Thanks, Quanyang --- arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts | 8 1 file changed, 8 deletions(-) diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts index d5b54d4a98d12..c351cd18398aa 100644 --- a/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts +++ b/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts @@ -15,14 +15,6 @@ amba_pl: amba_pl { #size-cells = <2>; compatible = "simple-bus"; ranges ; - axi_iic_0: i2c@80003000 { - #address-cells = <1>; - #size-cells = <0>; - clock-names = "s_axi_aclk"; - clocks = <_clk 71>; - compatible = "xlnx,axi-iic-2.0", "xlnx,xps-iic-2.00.a"; - reg = <0x0 0x80003000 0x0 0x1000>; - }; axi_timer_0: timer@8000 { clock-frequency = <187481262>; clock-names = "s_axi_aclk"; -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12814): https://lists.yoctoproject.org/g/linux-yocto/message/12814 Mute This Topic: https://lists.yoctoproject.org/mt/99669670/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [linux-yocto][v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc][PATCH] arm64: zynqmp: delete redundant xiic-i2c device node
ping. On 6/21/23 10:54, quanyang.wang via lists.yoctoproject.org wrote: From: Quanyang Wang The device node "axi_iic_0" is not needed to test canfd. Let's remove it since it triggers warning info: xiic-i2c 80003000.i2c: error -ENXIO: IRQ index 0 not found Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branches: v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc v6.1/standard/sdkv6.1/xlnx-soc Thanks, Quanyang --- arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts | 8 1 file changed, 8 deletions(-) diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts index d5b54d4a98d12..c351cd18398aa 100644 --- a/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts +++ b/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts @@ -15,14 +15,6 @@ amba_pl: amba_pl { #size-cells = <2>; compatible = "simple-bus"; ranges ; - axi_iic_0: i2c@80003000 { - #address-cells = <1>; - #size-cells = <0>; - clock-names = "s_axi_aclk"; - clocks = <_clk 71>; - compatible = "xlnx,axi-iic-2.0", "xlnx,xps-iic-2.00.a"; - reg = <0x0 0x80003000 0x0 0x1000>; - }; axi_timer_0: timer@8000 { clock-frequency = <187481262>; clock-names = "s_axi_aclk"; -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12805): https://lists.yoctoproject.org/g/linux-yocto/message/12805 Mute This Topic: https://lists.yoctoproject.org/mt/99669670/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc][PATCH] arm64: zynqmp: delete redundant xiic-i2c device node
From: Quanyang Wang The device node "axi_iic_0" is not needed to test canfd. Let's remove it since it triggers warning info: xiic-i2c 80003000.i2c: error -ENXIO: IRQ index 0 not found Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branches: v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc v6.1/standard/sdkv6.1/xlnx-soc Thanks, Quanyang --- arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts | 8 1 file changed, 8 deletions(-) diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts index d5b54d4a98d12..c351cd18398aa 100644 --- a/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts +++ b/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts @@ -15,14 +15,6 @@ amba_pl: amba_pl { #size-cells = <2>; compatible = "simple-bus"; ranges ; - axi_iic_0: i2c@80003000 { - #address-cells = <1>; - #size-cells = <0>; - clock-names = "s_axi_aclk"; - clocks = <_clk 71>; - compatible = "xlnx,axi-iic-2.0", "xlnx,xps-iic-2.00.a"; - reg = <0x0 0x80003000 0x0 0x1000>; - }; axi_timer_0: timer@8000 { clock-frequency = <187481262>; clock-names = "s_axi_aclk"; -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12784): https://lists.yoctoproject.org/g/linux-yocto/message/12784 Mute This Topic: https://lists.yoctoproject.org/mt/99669670/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto] [yocto-kernel-cache][yocto-6.1][PATCH] bsp: xilinx-zynqmp: add XILINX_INTC to support "xlnx,xps-intc-1.00.a"
From: Quanyang Wang We need to enable CONFIG_XILINX_INTC in order to verify Xilinx FPGA related interrupt controller driver irq-xilinx-intc.c. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branch: yocto-6.1 Thanks, Quanyang --- bsp/xilinx-zynqmp/xilinx-zynqmp.cfg | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bsp/xilinx-zynqmp/xilinx-zynqmp.cfg b/bsp/xilinx-zynqmp/xilinx-zynqmp.cfg index f236a7c070..036d3c08a3 100644 --- a/bsp/xilinx-zynqmp/xilinx-zynqmp.cfg +++ b/bsp/xilinx-zynqmp/xilinx-zynqmp.cfg @@ -249,3 +249,5 @@ CONFIG_ZYNQMP_FIRMWARE_DEBUG=y CONFIG_CRYPTO_DEV_ZYNQMP_SHA3=y CONFIG_CRYPTO_DEV_XILINX_RSA=y CONFIG_CRYPTO_DEV_ZYNQMP_AES=y + +CONFIG_XILINX_INTC=y -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12756): https://lists.yoctoproject.org/g/linux-yocto/message/12756 Mute This Topic: https://lists.yoctoproject.org/mt/99519837/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc][PATCH] arm64: zynqmp: add "xlnx,nr-outputs" property for clk_wiz_0 node
From: Quanyang Wang In clk-xlnx-clock-wizard.c, the function clk_wzrd_probe will check if there is "xlnx,nr-outputs" property, if not, the probe will return error. Add "xlnx,nr-outputs" property for clk_wiz_0 node to avoid probe failure. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branches: v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc v6.1/standard/sdkv6.1/xlnx-soc Thanks, Quanyang --- arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts index 73ba3abd7aa89..d5b54d4a98d12 100644 --- a/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts +++ b/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts @@ -69,6 +69,7 @@ clk_wiz_0: clk_wiz@8001 { compatible = "xlnx,clk-wiz-6.0", "xlnx,clocking-wizard"; reg = <0x0 0x8001 0x0 0x1>; speed-grade = <2>; + xlnx,nr-outputs = <7>; }; psu_ctrl_ipi: PERIPHERAL@ff38 { compatible = "xlnx,PERIPHERAL-1.0"; -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12744): https://lists.yoctoproject.org/g/linux-yocto/message/12744 Mute This Topic: https://lists.yoctoproject.org/mt/99499864/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [linux-yocto][v5.15/standard/preempt-rt/base][PATCH] OF: DT-Overlay configfs interface (v8)
Hi Bruce, I wrote the wrong branch information. It should be: v6.1/standard/preempt-rt/base v6.1/standard/base And this patch will conflict with another patch ("Revert "OF: DT-Overlay configfs interface (v8)" I just sent which is https://lists.yoctoproject.org/g/linux-yocto/topic/v6_1_standard_preempt_rt_sdkv6_1_xlnx_soc_patch/99215104?p=,,,20,0,0,0::recentpostdate/sticky,,,20,2,0,99215104,previd%3D1685429439939095335,nextid%3D1684520876284512837=1685429439939095335=1684520876284512837 So the patch in the above URL should be applied first and then this patch. Sorry for the inconvenience. Thanks, Quanyang On 5/30/23 14:43, quanyang.wang via lists.yoctoproject.org wrote: From: Pantelis Antoniou commit 999eb1a8fdc4512412c7bc519c895bc2a6fabbe0 from https://github.com/Xilinx/linux-xlnx.git Add a runtime interface to using configfs for generic device tree overlay usage. With it its possible to use device tree overlays without having to use a per-platform overlay manager. Please see Documentation/devicetree/configfs-overlays.txt for more info. Changes since v7: - Xilinx alignment - of: configfs: Fix error handling from of_overlay_create() - of: configfs: lock while resolving and applying - of: configfs: Fix memory leak in create overlay - of: configfs: Fix compilation warning - of: configfs: Use of_overlay_fdt_apply API call Changes since v6: - Default groups properties API changed. Changes since v5: - New style configfs. Changes since v4: - Loading fix for multiple overlays as found out by Geert Uytterhoeven Changes since v3: - Fixed compilation on SPARC & Xtensa Changes since v2: - Removed ifdef CONFIG_OF_OVERLAY (since for now it's required) - Created a documentation entry - Slight rewording in Kconfig Changes since v1: - of_resolve() -> of_resolve_phandles(). Signed-off-by: Pantelis Antoniou Signed-off-by: Nava kishore Manne Signed-off-by: Radhey Shyam Pandey State: not-upstreamable Signed-off-by: Liwei Song [Liwei: remove overlay_lock to fix "unused-variable" warning.] Signed-off-by: Bruce Ashfield --- Hi Bruce, Would you please help merge this patch to the branches: v5.15/standard/preempt-rt/base v5.15/standard/base Thanks, Quanyang --- .../devicetree/configfs-overlays.txt | 31 ++ drivers/of/Kconfig| 11 + drivers/of/Makefile | 1 + drivers/of/configfs.c | 292 ++ 4 files changed, 335 insertions(+) create mode 100644 Documentation/devicetree/configfs-overlays.txt create mode 100644 drivers/of/configfs.c diff --git a/Documentation/devicetree/configfs-overlays.txt b/Documentation/devicetree/configfs-overlays.txt new file mode 100644 index 0..5fa43e0643072 --- /dev/null +++ b/Documentation/devicetree/configfs-overlays.txt @@ -0,0 +1,31 @@ +Howto use the configfs overlay interface. + +A device-tree configfs entry is created in /config/device-tree/overlays +and and it is manipulated using standard file system I/O. +Note that this is a debug level interface, for use by developers and +not necessarily something accessed by normal users due to the +security implications of having direct access to the kernel's device tree. + +* To create an overlay you mkdir the directory: + + # mkdir /config/device-tree/overlays/foo + +* Either you echo the overlay firmware file to the path property file. + + # echo foo.dtbo >/config/device-tree/overlays/foo/path + +* Or you cat the contents of the overlay to the dtbo file + + # cat foo.dtbo >/config/device-tree/overlays/foo/dtbo + +The overlay file will be applied, and devices will be created/destroyed +as required. + +To remove it simply rmdir the directory. + + # rmdir /config/device-tree/overlays/foo + +The rationalle of the dual interface (firmware & direct copy) is that each is +better suited to different use patterns. The firmware interface is what's +intended to be used by hardware managers in the kernel, while the copy interface +make sense for developers (since it avoids problems with namespaces). diff --git a/drivers/of/Kconfig b/drivers/of/Kconfig index 80b5fd44ab1c7..da62bc6766952 100644 --- a/drivers/of/Kconfig +++ b/drivers/of/Kconfig @@ -94,4 +94,15 @@ config OF_DMA_DEFAULT_COHERENT # arches should select this if DMA is coherent by default for OF devices bool +config OF_CONFIGFS + bool "Device Tree Overlay ConfigFS interface" + select CONFIGFS_FS + depends on OF_OVERLAY + help + Select this option to enable simple user-space driven DT overlay + interface to support device tree manipulated at runtime. + Say Y here to include this support. + + If unsure, say N. + endif # OF diff --git a/drivers/of/Makefile b/drivers/of/Makefile index e0360a44306e2..90c92ced24e62 100644 --- a/drivers/of/Makefile +++ b/drivers/of/Makefile @@ -1,6
[linux-yocto][v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc][PATCH] Revert "OF: DT-Overlay configfs interface (v8)"
From: Quanyang Wang This patch has been merged to base branch, so we revert it in xlnx branches. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branches: v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc v6.1/standard/sdkv6.1/xlnx-soc Thanks, Quanyang --- .../devicetree/configfs-overlays.txt | 31 -- drivers/of/Kconfig| 11 - drivers/of/Makefile | 1 - drivers/of/configfs.c | 294 -- 4 files changed, 337 deletions(-) delete mode 100644 Documentation/devicetree/configfs-overlays.txt delete mode 100644 drivers/of/configfs.c diff --git a/Documentation/devicetree/configfs-overlays.txt b/Documentation/devicetree/configfs-overlays.txt deleted file mode 100644 index 5fa43e0643072..0 --- a/Documentation/devicetree/configfs-overlays.txt +++ /dev/null @@ -1,31 +0,0 @@ -Howto use the configfs overlay interface. - -A device-tree configfs entry is created in /config/device-tree/overlays -and and it is manipulated using standard file system I/O. -Note that this is a debug level interface, for use by developers and -not necessarily something accessed by normal users due to the -security implications of having direct access to the kernel's device tree. - -* To create an overlay you mkdir the directory: - - # mkdir /config/device-tree/overlays/foo - -* Either you echo the overlay firmware file to the path property file. - - # echo foo.dtbo >/config/device-tree/overlays/foo/path - -* Or you cat the contents of the overlay to the dtbo file - - # cat foo.dtbo >/config/device-tree/overlays/foo/dtbo - -The overlay file will be applied, and devices will be created/destroyed -as required. - -To remove it simply rmdir the directory. - - # rmdir /config/device-tree/overlays/foo - -The rationalle of the dual interface (firmware & direct copy) is that each is -better suited to different use patterns. The firmware interface is what's -intended to be used by hardware managers in the kernel, while the copy interface -make sense for developers (since it avoids problems with namespaces). diff --git a/drivers/of/Kconfig b/drivers/of/Kconfig index da62bc6766952..80b5fd44ab1c7 100644 --- a/drivers/of/Kconfig +++ b/drivers/of/Kconfig @@ -94,15 +94,4 @@ config OF_DMA_DEFAULT_COHERENT # arches should select this if DMA is coherent by default for OF devices bool -config OF_CONFIGFS - bool "Device Tree Overlay ConfigFS interface" - select CONFIGFS_FS - depends on OF_OVERLAY - help - Select this option to enable simple user-space driven DT overlay - interface to support device tree manipulated at runtime. - Say Y here to include this support. - - If unsure, say N. - endif # OF diff --git a/drivers/of/Makefile b/drivers/of/Makefile index 90c92ced24e62..e0360a44306e2 100644 --- a/drivers/of/Makefile +++ b/drivers/of/Makefile @@ -1,7 +1,6 @@ # SPDX-License-Identifier: GPL-2.0 obj-y = base.o device.o platform.o property.o obj-$(CONFIG_OF_KOBJ) += kobj.o -obj-$(CONFIG_OF_CONFIGFS) += configfs.o obj-$(CONFIG_OF_DYNAMIC) += dynamic.o obj-$(CONFIG_OF_FLATTREE) += fdt.o obj-$(CONFIG_OF_EARLY_FLATTREE) += fdt_address.o diff --git a/drivers/of/configfs.c b/drivers/of/configfs.c deleted file mode 100644 index 6d8f58e5cb5ba..0 --- a/drivers/of/configfs.c +++ /dev/null @@ -1,294 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 -/* - * Configfs entries for device-tree - * - * Copyright (C) 2013 - Pantelis Antoniou - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version - * 2 of the License, or (at your option) any later version. - */ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "of_private.h" - -struct cfs_overlay_item { - struct config_item item; - - charpath[PATH_MAX]; - - const struct firmware *fw; - struct device_node *overlay; - int ov_id; - - void*dtbo; - int dtbo_size; - - void*mem; -}; - -static DEFINE_MUTEX(overlay_lock); - -static int create_overlay(struct cfs_overlay_item *overlay, void *blob) -{ - int err; - - /* FIXME */ - err = of_overlay_fdt_apply(blob, overlay->dtbo_size, >ov_id); - if (err < 0) { - pr_err("%s: Failed to create overlay (err=%d)\n", - __func__, err); - return err; - } - - return err; -} - -static inline struct cfs_overlay_item - *to_cfs_overlay_item(struct config_item *item) -{ - return item ?
[linux-yocto][v5.15/standard/preempt-rt/base][PATCH] OF: DT-Overlay configfs interface (v8)
From: Pantelis Antoniou commit 999eb1a8fdc4512412c7bc519c895bc2a6fabbe0 from https://github.com/Xilinx/linux-xlnx.git Add a runtime interface to using configfs for generic device tree overlay usage. With it its possible to use device tree overlays without having to use a per-platform overlay manager. Please see Documentation/devicetree/configfs-overlays.txt for more info. Changes since v7: - Xilinx alignment - of: configfs: Fix error handling from of_overlay_create() - of: configfs: lock while resolving and applying - of: configfs: Fix memory leak in create overlay - of: configfs: Fix compilation warning - of: configfs: Use of_overlay_fdt_apply API call Changes since v6: - Default groups properties API changed. Changes since v5: - New style configfs. Changes since v4: - Loading fix for multiple overlays as found out by Geert Uytterhoeven Changes since v3: - Fixed compilation on SPARC & Xtensa Changes since v2: - Removed ifdef CONFIG_OF_OVERLAY (since for now it's required) - Created a documentation entry - Slight rewording in Kconfig Changes since v1: - of_resolve() -> of_resolve_phandles(). Signed-off-by: Pantelis Antoniou Signed-off-by: Nava kishore Manne Signed-off-by: Radhey Shyam Pandey State: not-upstreamable Signed-off-by: Liwei Song [Liwei: remove overlay_lock to fix "unused-variable" warning.] Signed-off-by: Bruce Ashfield --- Hi Bruce, Would you please help merge this patch to the branches: v5.15/standard/preempt-rt/base v5.15/standard/base Thanks, Quanyang --- .../devicetree/configfs-overlays.txt | 31 ++ drivers/of/Kconfig| 11 + drivers/of/Makefile | 1 + drivers/of/configfs.c | 292 ++ 4 files changed, 335 insertions(+) create mode 100644 Documentation/devicetree/configfs-overlays.txt create mode 100644 drivers/of/configfs.c diff --git a/Documentation/devicetree/configfs-overlays.txt b/Documentation/devicetree/configfs-overlays.txt new file mode 100644 index 0..5fa43e0643072 --- /dev/null +++ b/Documentation/devicetree/configfs-overlays.txt @@ -0,0 +1,31 @@ +Howto use the configfs overlay interface. + +A device-tree configfs entry is created in /config/device-tree/overlays +and and it is manipulated using standard file system I/O. +Note that this is a debug level interface, for use by developers and +not necessarily something accessed by normal users due to the +security implications of having direct access to the kernel's device tree. + +* To create an overlay you mkdir the directory: + + # mkdir /config/device-tree/overlays/foo + +* Either you echo the overlay firmware file to the path property file. + + # echo foo.dtbo >/config/device-tree/overlays/foo/path + +* Or you cat the contents of the overlay to the dtbo file + + # cat foo.dtbo >/config/device-tree/overlays/foo/dtbo + +The overlay file will be applied, and devices will be created/destroyed +as required. + +To remove it simply rmdir the directory. + + # rmdir /config/device-tree/overlays/foo + +The rationalle of the dual interface (firmware & direct copy) is that each is +better suited to different use patterns. The firmware interface is what's +intended to be used by hardware managers in the kernel, while the copy interface +make sense for developers (since it avoids problems with namespaces). diff --git a/drivers/of/Kconfig b/drivers/of/Kconfig index 80b5fd44ab1c7..da62bc6766952 100644 --- a/drivers/of/Kconfig +++ b/drivers/of/Kconfig @@ -94,4 +94,15 @@ config OF_DMA_DEFAULT_COHERENT # arches should select this if DMA is coherent by default for OF devices bool +config OF_CONFIGFS + bool "Device Tree Overlay ConfigFS interface" + select CONFIGFS_FS + depends on OF_OVERLAY + help + Select this option to enable simple user-space driven DT overlay + interface to support device tree manipulated at runtime. + Say Y here to include this support. + + If unsure, say N. + endif # OF diff --git a/drivers/of/Makefile b/drivers/of/Makefile index e0360a44306e2..90c92ced24e62 100644 --- a/drivers/of/Makefile +++ b/drivers/of/Makefile @@ -1,6 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 obj-y = base.o device.o platform.o property.o obj-$(CONFIG_OF_KOBJ) += kobj.o +obj-$(CONFIG_OF_CONFIGFS) += configfs.o obj-$(CONFIG_OF_DYNAMIC) += dynamic.o obj-$(CONFIG_OF_FLATTREE) += fdt.o obj-$(CONFIG_OF_EARLY_FLATTREE) += fdt_address.o diff --git a/drivers/of/configfs.c b/drivers/of/configfs.c new file mode 100644 index 0..64caba77a7193 --- /dev/null +++ b/drivers/of/configfs.c @@ -0,0 +1,292 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Configfs entries for device-tree + * + * Copyright (C) 2013 - Pantelis Antoniou + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software
[linux-yocto][v6.1/standard/preempt-rt/base][PATCH] arm: fix warning "TIF_NOTIFY_SIGNAL" redefined
From: Quanyang Wang In upstream commit 7578a7c0f296b ("ARM: renumber bits related to _TIF_WORK_MASK"), the macros TIF_SYSCALL_AUDIT,TIF_SYSCALL_TRACEPOINT and TIF_SECCOMP have been redefined to 21~23. But during merging, the old values are brought back and now these macros are defined twice, so we need drop the old values and place TIF_NOTIFY_SIGNAL and TIF_NEED_RESCHED_LAZY in the right position. It's to fix the warning: arch/arm/include/asm/thread_info.h:136: warning: "TIF_NOTIFY_SIGNAL" redefined 136 | #define TIF_NOTIFY_SIGNAL 8 /* signal notifications exist */ | arch/arm/include/asm/thread_info.h:132: note: this is the location of the previous definition 132 | #define TIF_NOTIFY_SIGNAL 4 /* signal notifications exist */ Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branch: v6.1/standard/preempt-rt/base Thanks, Quanyang --- arch/arm/include/asm/thread_info.h | 6 +- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/arch/arm/include/asm/thread_info.h b/arch/arm/include/asm/thread_info.h index a0960a7ecb1f0..ffcbf8ebed4bf 100644 --- a/arch/arm/include/asm/thread_info.h +++ b/arch/arm/include/asm/thread_info.h @@ -130,11 +130,7 @@ extern int vfp_restore_user_hwstate(struct user_vfp *, #define TIF_NOTIFY_RESUME 2 /* callback before returning to user */ #define TIF_UPROBE 3 /* breakpointed or singlestepping */ #define TIF_NOTIFY_SIGNAL 4 /* signal notifications exist */ -#define TIF_SYSCALL_AUDIT 5 /* syscall auditing active */ -#define TIF_SYSCALL_TRACEPOINT 6 /* syscall tracepoint instrumentation */ -#define TIF_SECCOMP7 /* seccomp syscall filtering active */ -#define TIF_NOTIFY_SIGNAL 8 /* signal notifications exist */ -#define TIF_NEED_RESCHED_LAZY 9 +#define TIF_NEED_RESCHED_LAZY 5 #define TIF_USING_IWMMXT 17 #define TIF_MEMDIE 18 /* is terminating due to OOM killer */ -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12628): https://lists.yoctoproject.org/g/linux-yocto/message/12628 Mute This Topic: https://lists.yoctoproject.org/mt/99006201/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto] [yocto-kernel-cache][yocto-6.1][PATCH] bsp: xilinx-zynq: set CONFIG_CC_OPTIMIZE_FOR_SIZE to n
From: Quanyang Wang Disable CONFIG_CC_OPTIMIZE_FOR_SIZE to fix the warning when do_kernel_configcheck: WARNING: linux-yocto-rt-6.1.27+gitAUTOINC+9045c12fb0_e318b47db6-r0 do_kernel_configcheck: [kernel config]: specified values did not make it into the kernel's final configuration: [NOTE]: 'CONFIG_CC_OPTIMIZE_FOR_SIZE' last val (n) and .config val (y) do not match [INFO]: CONFIG_CC_OPTIMIZE_FOR_SIZE : y ## .config: 205 :configs/v6.1/standard/preempt-rt/arch/arm/arm.cfg (y) configs/v6.1/standard/preempt-rt/ktypes/preempt-rt/preempt-rt.cfg (n) [INFO]: raw config text: Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branch: yocto-6.1 Thanks, Quanyang --- bsp/xilinx-zynq/xilinx-zynq.cfg | 1 + 1 file changed, 1 insertion(+) diff --git a/bsp/xilinx-zynq/xilinx-zynq.cfg b/bsp/xilinx-zynq/xilinx-zynq.cfg index a05a3cbf00..7af2562fc2 100644 --- a/bsp/xilinx-zynq/xilinx-zynq.cfg +++ b/bsp/xilinx-zynq/xilinx-zynq.cfg @@ -3,6 +3,7 @@ CONFIG_SMP=y CONFIG_NR_CPUS=4 CONFIG_HOTPLUG_CPU=y CONFIG_VMSPLIT_2G=y +CONFIG_CC_OPTIMIZE_FOR_SIZE=n # # Xilinx Specific Options -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12550): https://lists.yoctoproject.org/g/linux-yocto/message/12550 Mute This Topic: https://lists.yoctoproject.org/mt/98902451/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto] [yocto-kernel-cache][yocto-6.1][PATCH] bsp: aptiv-s32g: add support for Aptiv FL board
From: Quanyang Wang Add scc and cfg files for Aptiv FL board. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branch: yocto-6.1 Thanks, Quanyang --- bsp/aptiv-s32g/aptiv-cvc-fl-preempt-rt.scc | 7 + bsp/aptiv-s32g/aptiv-cvc.cfg | 177 + bsp/aptiv-s32g/aptiv-cvc.scc | 7 + 3 files changed, 191 insertions(+) create mode 100644 bsp/aptiv-s32g/aptiv-cvc-fl-preempt-rt.scc create mode 100644 bsp/aptiv-s32g/aptiv-cvc.cfg create mode 100644 bsp/aptiv-s32g/aptiv-cvc.scc diff --git a/bsp/aptiv-s32g/aptiv-cvc-fl-preempt-rt.scc b/bsp/aptiv-s32g/aptiv-cvc-fl-preempt-rt.scc new file mode 100644 index 00..d8a0c51af0 --- /dev/null +++ b/bsp/aptiv-s32g/aptiv-cvc-fl-preempt-rt.scc @@ -0,0 +1,7 @@ +# SPDX-License-Identifier: MIT +define KMACHINE aptiv-cvc-fl +define KTYPE preempt-rt +define KARCH arm64 + +include ktypes/preempt-rt +include aptiv-cvc.scc diff --git a/bsp/aptiv-s32g/aptiv-cvc.cfg b/bsp/aptiv-s32g/aptiv-cvc.cfg new file mode 100644 index 00..5714cb9c74 --- /dev/null +++ b/bsp/aptiv-s32g/aptiv-cvc.cfg @@ -0,0 +1,177 @@ +# SPDX-License-Identifier: MIT +.. +.WARNING +. +. This file is a kernel configuration fragment, and not a full kernel +. configuration file. The final kernel configuration is made up of +. an assembly of processed fragments, each of which is designed to +. capture a specific part of the final configuration (e.g. platform +. configuration, feature configuration, and board specific hardware +. configuration). For more information on kernel configuration, please +. consult the product documentation. +. +.. + +CONFIG_ARM64=y +CONFIG_ARCH_NXP=y +CONFIG_ARCH_S32=y +CONFIG_SOC_S32CC=y +CONFIG_SCHED_MC=y +CONFIG_ARM_SMMU=y + +CONFIG_PINCTRL_S32CC=y + +CONFIG_CPU_IDLE=y +CONFIG_ARM_PSCI_CPUIDLE=y +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y + +CONFIG_ARM_SCMI_TRANSPORT_SMC_ATOMIC_ENABLE=y +#To keep align with SDK, unset the ARM_SCMI_POWER_DOMAIN config +# CONFIG_ARM_SCMI_POWER_DOMAIN is not set + +#CAN +CONFIG_CAN=y +CONFIG_CAN_VCAN=y +CONFIG_CAN_SLCAN=y +CONFIG_CAN_FLEXCAN=m + +#Ethernet +CONFIG_STMMAC_ETH=y +CONFIG_DWMAC_DWC_QOS_ETH=y + +#Serial +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +CONFIG_SERIAL_FSL_LINFLEXUART=y +CONFIG_SERIAL_FSL_LINFLEXUART_CONSOLE=y + +#SPI +CONFIG_SPI=y +CONFIG_SPI_FSL_DSPI=y +CONFIG_SPI_SPIDEV=y + +#GPIO +CONFIG_GPIO_CDEV=y +CONFIG_GPIO_S32CC=y +CONFIG_GPIO_PCA953X=y + +#PCIE +CONFIG_PCI=y +CONFIG_PCIE_DW=y +CONFIG_PCIE_DW_PLAT_HOST=y +CONFIG_PCI_ENDPOINT=y +CONFIG_PCIE_DW_PLAT_EP=y +CONFIG_PCIEAER=y +CONFIG_PCI_S32CC=y + +#USB +CONFIG_USB=y +CONFIG_USB_OTG=y +CONFIG_USB_OTG_FSM=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_CHIPIDEA=y +CONFIG_USB_CHIPIDEA_UDC=y +CONFIG_USB_CHIPIDEA_HOST=y +CONFIG_USB_CHIPIDEA_IMX=m +CONFIG_USB_ULPI_GENERIC=y +CONFIG_USB_ULPI=y +CONFIG_USB_GADGET=y +CONFIG_USB_CONFIGFS=y +CONFIG_USB_CONFIGFS_MASS_STORAGE=y + +CONFIG_USB_ACM=y +CONFIG_USB_WDM=y + +CONFIG_USB_SERIAL=y +CONFIG_USB_SERIAL_FTDI_SIO=y +CONFIG_USB_SERIAL_CP210X=m +CONFIG_USB_SERIAL_PL2303=m +CONFIG_USB_SERIAL_WWAN=y +CONFIG_USB_SERIAL_OPTION=y + +#MMC +CONFIG_MMC=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_PLTFM=y +CONFIG_MMC_SDHCI_ESDHC_IMX=y +CONFIG_DMADEVICES=y +CONFIG_FSL_EDMA=y +CONFIG_CMA=y +CONFIG_DMA_CMA=y +CONFIG_CMA_SIZE_MBYTES=128 + +CONFIG_MTD=y +CONFIG_MTD_CMDLINE_PARTS=y +CONFIG_MTD_BLOCK=y +CONFIG_MTD_CFI=y +CONFIG_MTD_PHYSMAP=y +CONFIG_MTD_PHYSMAP_OF=y +CONFIG_MTD_DATAFLASH=y +CONFIG_MTD_SPI_NOR=y + +CONFIG_INPUT_EVDEV=y +CONFIG_INPUT_MISC=y +CONFIG_INPUT_UINPUT=y + +# Thermal +CONFIG_THERMAL=y +CONFIG_S32CC_THERMAL=y + +# ADC +CONFIG_IIO=y +CONFIG_S32CC_ADC=m + +# PWM +CONFIG_PWM=y +CONFIG_PWM_FSL_FTM=m + +CONFIG_S32CC_FCCU=y +CONFIG_GPIOLIB=y +CONFIG_OF_GPIO=y + +CONFIG_MDIO_DEVICE=y +CONFIG_PHYLIB=y + +#QSPI +CONFIG_SPI_FSL_QUADSPI=y + +#RTC +CONFIG_RTC_CLASS=y +CONFIG_RTC_DRV_S32CC=y +CONFIG_RTC_DRV_PCF85063=y + +#I2C +CONFIG_I2C=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_IMX=m + +#Watchdog +# We need keep this driver built-in since rmmod will trigger reboot +CONFIG_S32CC_WDT=y + +#NVME +CONFIG_BLK_DEV_NVME=y +CONFIG_NVME_TARGET=y +CONFIG_NVMEM_S32CC_SIUL2=y + +#LLCE +CONFIG_CAN_LLCE=y +CONFIG_CAN_LLCE_CONTROLLER=m + +# Regulator configuration +CONFIG_REGULATOR=y + +#HSE UIO +CONFIG_UIO=y +CONFIG_CRYPTO_DEV_NXP_HSE=y +CONFIG_UIO_NXP_HSE=y +CONFIG_UIO_NXP_HSE_MU0=y +CONFIG_CRYPTO_DEV_NXP_HSE_MU1=y + +#RANDOM +CONFIG_HW_RANDOM=y diff --git a/bsp/aptiv-s32g/aptiv-cvc.scc b/bsp/aptiv-s32g/aptiv-cvc.scc new file mode 100644 index 00..30fa80132f --- /dev/null +++ b/bsp/aptiv-s32g/aptiv-cvc.scc @@ -0,0 +1,7 @@ +#
[linux-yocto][v6.1/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH 2/5] dts: Aptiv-FL: disable unsupported device nodes
From: Quanyang Wang The device nodes of "qspi" and "gmac0" are not supported in linux, so we need to disable them to eliminate error log while booting. Signed-off-by: Quanyang Wang Signed-off-by: Bruce Ashfield --- arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi b/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi index a91e466dbc272..1a868eec29b7d 100644 --- a/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi +++ b/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi @@ -31,11 +31,13 @@ { }; { - status = "okay"; + /* We don't support HyperFlash in linux */ + status = "disabled"; }; { - status = "okay"; + /* Before enabling SJA1110, set it to be "disabled" */ + status = "disabled"; phy-mode = "rgmii"; phy-handle = <_mdio_c_phy19>; pinctrl-names = "default"; -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12484): https://lists.yoctoproject.org/g/linux-yocto/message/12484 Mute This Topic: https://lists.yoctoproject.org/mt/98808566/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v6.1/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH 5/5] dts: Aptiv-FL: refactor Aptiv CVC FL s32g399a dts files
From: Quanyang Wang For now, dts files for NXP rdb/evb boards are following the naming rules as s32gXXX.dtsi/s32gXXX.dts/s32gXXX-pfems.dts. Let's switch Aptiv dts files to the same rule. Rename original s32g399a-cvc-fl.dts to be s32g399a-cvc-fl.dtsi and make new s32g399a-cvc-fl.dts and s32g399a-cvc-fl-pfems.dts to include this dtsi file. Signed-off-by: Quanyang Wang Signed-off-by: Bruce Ashfield --- arch/arm64/boot/dts/freescale/Makefile| 3 +- .../dts/freescale/s32g399a-cvc-fl-pfems.dts | 23 + .../boot/dts/freescale/s32g399a-cvc-fl.dts| 32 ++- .../boot/dts/freescale/s32g399a-cvc-fl.dtsi | 28 4 files changed, 62 insertions(+), 24 deletions(-) create mode 100644 arch/arm64/boot/dts/freescale/s32g399a-cvc-fl-pfems.dts create mode 100644 arch/arm64/boot/dts/freescale/s32g399a-cvc-fl.dtsi diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile index 16feaade66cb0..e3a7662e40d85 100644 --- a/arch/arm64/boot/dts/freescale/Makefile +++ b/arch/arm64/boot/dts/freescale/Makefile @@ -135,6 +135,8 @@ dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw73xx-0x-rs232-rts.dtb dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw73xx-0x-rs422.dtb dtb-$(CONFIG_ARCH_MXC) += imx8mm-venice-gw73xx-0x-rs485.dtb +dtb-$(CONFIG_ARCH_S32) += s32g399a-cvc-fl.dtb +dtb-$(CONFIG_ARCH_S32) += s32g399a-cvc-fl-pfems.dtb dtb-$(CONFIG_ARCH_S32) += s32g274a-bluebox3.dtb dtb-$(CONFIG_ARCH_S32) += s32g2xxa-evb.dtb dtb-$(CONFIG_ARCH_S32) += s32g2xxa-evb-pfems.dtb @@ -154,4 +156,3 @@ dtb-$(CONFIG_ARCH_S32) += s32g399a-emu.dtb dtb-$(CONFIG_ARCH_S32) += s32r45-evb.dtb dtb-$(CONFIG_ARCH_S32) += s32r45-emu.dtb dtb-$(CONFIG_ARCH_S32) += s32v234-evb.dtb -dtb-$(CONFIG_ARCH_S32) += s32g399a-cvc-fl.dtb diff --git a/arch/arm64/boot/dts/freescale/s32g399a-cvc-fl-pfems.dts b/arch/arm64/boot/dts/freescale/s32g399a-cvc-fl-pfems.dts new file mode 100644 index 0..661f8f8efb6cf --- /dev/null +++ b/arch/arm64/boot/dts/freescale/s32g399a-cvc-fl-pfems.dts @@ -0,0 +1,23 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * Copyright (C) 2023 Wind River Systems, Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * Based on s32g399a-rdb3-pfems.dts + */ + +/dts-v1/; +#include "s32g399a-cvc-fl.dtsi" +#include "s32g-pfe-slave.dtsi" + +_aux0 { + status = "okay"; +}; + +_aux0 { + status = "okay"; +}; diff --git a/arch/arm64/boot/dts/freescale/s32g399a-cvc-fl.dts b/arch/arm64/boot/dts/freescale/s32g399a-cvc-fl.dts index 994f80a736ee4..bee72e0eeed1e 100644 --- a/arch/arm64/boot/dts/freescale/s32g399a-cvc-fl.dts +++ b/arch/arm64/boot/dts/freescale/s32g399a-cvc-fl.dts @@ -1,28 +1,14 @@ // SPDX-License-Identifier: GPL-2.0-or-later /* - * Copyright 2021 NXP + * Copyright (C) 2023 Wind River Systems, Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * Based on s32g399a-rdb3.dts */ /dts-v1/; -#include "s32g3.dtsi" -#include "s32gxxxa-cvc-fl.dtsi" -/ { - model = "Freescale S32G399A"; - compatible = "fsl,s32g399", "arm,vexpress"; -}; - - { - status = "okay"; -}; - - { - status = "okay"; -}; - - { - status = "okay"; -}; - - { - status = "okay"; -}; +#include "s32g399a-cvc-fl.dtsi" diff --git a/arch/arm64/boot/dts/freescale/s32g399a-cvc-fl.dtsi b/arch/arm64/boot/dts/freescale/s32g399a-cvc-fl.dtsi new file mode 100644 index 0..994f80a736ee4 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/s32g399a-cvc-fl.dtsi @@ -0,0 +1,28 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * Copyright 2021 NXP + */ + +/dts-v1/; +#include "s32g3.dtsi" +#include "s32gxxxa-cvc-fl.dtsi" +/ { + model = "Freescale S32G399A"; + compatible = "fsl,s32g399", "arm,vexpress"; +}; + + { + status = "okay"; +}; + + { + status = "okay"; +}; + + { + status = "okay"; +}; + + { + status = "okay"; +}; -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12487): https://lists.yoctoproject.org/g/linux-yocto/message/12487 Mute This Topic: https://lists.yoctoproject.org/mt/98808570/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v6.1/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH 4/5] dts: Aptiv-FL: disable flexcan3
From: Quanyang Wang The flexcan3 is used by Autosar running at M7 core. So disable it in linux for Aptiv FL board. Signed-off-by: Quanyang Wang Signed-off-by: Bruce Ashfield --- arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi b/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi index 02cf6074262e4..961ba2ec13581 100644 --- a/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi +++ b/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi @@ -213,7 +213,7 @@ { { pinctrl-names = "default"; pinctrl-0 = <_pins>; - status = "okay"; + status = "disabled"; }; { -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12486): https://lists.yoctoproject.org/g/linux-yocto/message/12486 Mute This Topic: https://lists.yoctoproject.org/mt/98808568/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v6.1/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH 3/5] dts: Aptiv-FL: add correct pinctrls for pfe interfaces for Aptiv-FL board
From: Quanyang Wang Add pinctrls for pfe0/1/2 interfaces for Aptiv-FL board. Note that RTL9010 phys need to be configured at u-boot. This patch comes from: meta-cvc-fl/recipes-kernel/linux/linux-s32/0001-ESL-427-Linux-S32-cvc-support+cleanup.patch Signed-off-by: Quanyang Wang Signed-off-by: Bruce Ashfield --- .../boot/dts/freescale/s32gxxxa-cvc-fl.dtsi | 136 +- 1 file changed, 38 insertions(+), 98 deletions(-) diff --git a/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi b/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi index 1a868eec29b7d..02cf6074262e4 100644 --- a/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi +++ b/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi @@ -59,6 +59,7 @@ { _netif0 { status = "okay"; + phy-mode = "sgmii"; phy-handle = <_phy8>; fixed-link { speed = <1000>; @@ -68,6 +69,7 @@ fixed-link { _netif1 { status = "okay"; + phy-mode = "sgmii"; phy-handle = <_rtl_sw>; fixed-link { speed = <1000>; @@ -102,6 +104,9 @@ can0-en-hog { _mdio0 { status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <_pins>; + /* RTL9010 */ mdio0_phy8: ethernet-phy@1 { compatible = "ethernet-phy-ieee802.3-c22"; @@ -109,11 +114,13 @@ mdio0_phy8: ethernet-phy@1 { #size-cells = <0>; reg = <1>; }; - }; _mdio1 { status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <_pins>; + /* RTL9075 */ mdio1_rtl_sw: ethernet-phy@24 { compatible = "ethernet-phy-ieee802.3-c22"; @@ -125,6 +132,9 @@ mdio1_rtl_sw: ethernet-phy@24 { _mdio2 { status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <_pins>; + /* RTL9010 */ mdio2_phy7: ethernet-phy@1 { compatible = "ethernet-phy-ieee802.3-c22"; @@ -530,67 +540,6 @@ usbotg_grp3 { }; - pfe2mdioa_pins: pfe2mdioa { - pfe2mdioa_grp0 { - pinmux = ; - output-enable; - slew-rate = ; - }; - - pfe2mdioa_grp1 { - pinmux = ; - output-enable; - input-enable; - slew-rate = ; - }; - - pfe2mdioa_grp2 { - pinmux = ; - }; - - }; - - pfe2rgmiia_pins: pfe2rgmiia { - pfe2rgmiia_grp0 { - pinmux = , -, -, -, -; - output-enable; - slew-rate = ; - }; - - pfe2rgmiia_grp1 { - pinmux = , -, -, -, -, -; - input-enable; - slew-rate = ; - }; - - pfe2rgmiia_grp2 { - pinmux = , -, -, -, -, -, -; - }; - - pfe2rgmiia_grp3 { - pinmux = ; - output-enable; - slew-rate = ; - bias-pull-up; - }; - - }; - gmac0mdioc_pins: gmac0mdioc { gmac0mdioc_grp0 { pinmux = ; @@ -652,70 +601,61 @@ gmac0rgmiic_grp3 { }; - pfe1mdioc_pins: pfe1mdioc { - pfe1mdioc_grp0 { - pinmux = ; + pfe0mdio_pins: pfe0mdio { + pfe0mdio_grp0 { + pinmux = ; output-enable; slew-rate = ; }; - pfe1mdioc_grp1 { - pinmux = ; + pfe0mdio_grp1 { + pinmux = ; output-enable; input-enable; slew-rate = ; }; - pfe1mdioc_grp2 { - pinmux = ; + pfe0mdio_grp2 { + pinmux = ; }; - }; - pfe1rgmiic_pins: pfe1rgmiic { - pfe1rgmiic_grp0 { - pinmux = ; + pfe1mdio_pins: pfe1mdio { + pfe1mdio_grp0 { + pinmux = ; output-enable; slew-rate = ; - bias-pull-up; }; - pfe1rgmiic_grp1 { -
[linux-yocto][v6.1/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH 1/5] dts: Aptiv-FL: add dts file for Aptiv CVC-FL board
From: Quanyang Wang This patch comes from the patch: meta-cvc-fl/recipes-kernel/linux/linux-s32/0001-ESL-427-Linux-S32-cvc-support+cleanup.patch Modifications as below: 1. Change usb phy from "usb-nop-xceiv" to "usb-phy-ulpi-generic". 2. Add "can17_19_en-hog" to enable can17~19. 3. Add "can0-stb-hog" and "can0-en-hog" to enable can0. Signed-off-by: Quanyang Wang Signed-off-by: Bruce Ashfield --- arch/arm64/boot/dts/freescale/Makefile| 1 + .../boot/dts/freescale/s32g399a-cvc-fl.dts| 28 + .../boot/dts/freescale/s32gxxxa-cvc-fl.dtsi | 912 ++ 3 files changed, 941 insertions(+) create mode 100644 arch/arm64/boot/dts/freescale/s32g399a-cvc-fl.dts create mode 100644 arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile index fe5b4d93db559..16feaade66cb0 100644 --- a/arch/arm64/boot/dts/freescale/Makefile +++ b/arch/arm64/boot/dts/freescale/Makefile @@ -154,3 +154,4 @@ dtb-$(CONFIG_ARCH_S32) += s32g399a-emu.dtb dtb-$(CONFIG_ARCH_S32) += s32r45-evb.dtb dtb-$(CONFIG_ARCH_S32) += s32r45-emu.dtb dtb-$(CONFIG_ARCH_S32) += s32v234-evb.dtb +dtb-$(CONFIG_ARCH_S32) += s32g399a-cvc-fl.dtb diff --git a/arch/arm64/boot/dts/freescale/s32g399a-cvc-fl.dts b/arch/arm64/boot/dts/freescale/s32g399a-cvc-fl.dts new file mode 100644 index 0..994f80a736ee4 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/s32g399a-cvc-fl.dts @@ -0,0 +1,28 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * Copyright 2021 NXP + */ + +/dts-v1/; +#include "s32g3.dtsi" +#include "s32gxxxa-cvc-fl.dtsi" +/ { + model = "Freescale S32G399A"; + compatible = "fsl,s32g399", "arm,vexpress"; +}; + + { + status = "okay"; +}; + + { + status = "okay"; +}; + + { + status = "okay"; +}; + + { + status = "okay"; +}; diff --git a/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi b/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi new file mode 100644 index 0..a91e466dbc272 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi @@ -0,0 +1,912 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * Copyright 2019-2021 NXP + */ +#include + +/ { + chosen { + stdout-path = "serial0:115200n8"; + }; + + usbphyulpi: usbphyulpi { + compatible = "nxp,saf1508", "usb-phy-ulpi-generic"; + /* ULPI_OTG_ID_PULLUP | ULPI_OTG_DRVVBUS_EXT | ULPI_OTG_EXTVBUSIND | +* ULPI_IC_IND_PASSTHRU | ULPI_IC_EXTVBUS_INDINV +*/ + usb-ulpi-flags = <0x60C1>; + #phy-cells = <0>; + }; +}; + + { + status = "okay"; +}; + + { + pinctrl-names = "default"; + pinctrl-0 = <_pins>; + fsl,usbphy = <>; + status = "okay"; +}; + + { + status = "okay"; +}; + + { + status = "okay"; + phy-mode = "rgmii"; + phy-handle = <_mdio_c_phy19>; + pinctrl-names = "default"; + pinctrl-0 = <_pins>, <_pins>; +}; + +_mdio { + /* SJA SW */ + gmac0_mdio_c_phy19: ethernet-phy@19 { + #address-cells = <1>; + #size-cells = <0>; + reg = <19>; + }; +}; + + { + status = "okay"; +}; + +_netif0 { + status = "okay"; + phy-handle = <_phy8>; + fixed-link { + speed = <1000>; + full-duplex; + }; +}; + +_netif1 { + status = "okay"; + phy-handle = <_rtl_sw>; + fixed-link { + speed = <1000>; + full-duplex; + }; +}; + +_netif2 { + status = "okay"; + phy-mode = "sgmii"; + phy-handle = <_phy7>; + fixed-link { + speed = <1000>; + full-duplex; + }; +}; + + { + can0-stb-hog { + gpio-hog; + gpios = <24 GPIO_ACTIVE_HIGH>; + output-high; + line-name = "can0_stb"; + }; + can0-en-hog { + gpio-hog; + gpios = <9 GPIO_ACTIVE_HIGH>; + output-high; + line-name = "can0_en"; + }; +}; + +_mdio0 { + status = "okay"; + /* RTL9010 */ + mdio0_phy8: ethernet-phy@1 { + compatible = "ethernet-phy-ieee802.3-c22"; + #address-cells = <1>; + #size-cells = <0>; + reg = <1>; + }; + +}; + +_mdio1 { + status = "okay"; + /* RTL9075 */ + mdio1_rtl_sw: ethernet-phy@24 { + compatible = "ethernet-phy-ieee802.3-c22"; + #address-cells = <1>; + #size-cells = <0>; + reg = <24>; + }; +}; + +_mdio2 { + status = "okay"; + /* RTL9010 */ + mdio2_phy7: ethernet-phy@1 { + compatible = "ethernet-phy-ieee802.3-c22"; + #address-cells = <1>; + #size-cells = <0>; + reg = <1>; + }; +}; + +_timer { +
[linux-yocto][v6.1] nxp-s32g: aptiv dts files
From: Quanyang Wang Hi Bruce, Would you please help merge these 5 patches to the branches: v6.1/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g v6.1/standard/nxp-sdk-5.15/nxp-s32g Thanks, Quanyang Quanyang Wang (5): dts: Aptiv-FL: add dts file for Aptiv CVC-FL board dts: Aptiv-FL: disable unsupported device nodes dts: Aptiv-FL: add correct pinctrls for pfe interfaces for Aptiv-FL board dts: Aptiv-FL: disable flexcan3 dts: Aptiv-FL: refactor Aptiv CVC FL s32g399a dts files arch/arm64/boot/dts/freescale/Makefile| 2 + .../dts/freescale/s32g399a-cvc-fl-pfems.dts | 23 + .../boot/dts/freescale/s32g399a-cvc-fl.dts| 14 + .../boot/dts/freescale/s32g399a-cvc-fl.dtsi | 28 + .../boot/dts/freescale/s32gxxxa-cvc-fl.dtsi | 854 ++ 5 files changed, 921 insertions(+) create mode 100644 arch/arm64/boot/dts/freescale/s32g399a-cvc-fl-pfems.dts create mode 100644 arch/arm64/boot/dts/freescale/s32g399a-cvc-fl.dts create mode 100644 arch/arm64/boot/dts/freescale/s32g399a-cvc-fl.dtsi create mode 100644 arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12482): https://lists.yoctoproject.org/g/linux-yocto/message/12482 Mute This Topic: https://lists.yoctoproject.org/mt/98808563/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto] [yocto-kernel-cache][yocto-6.1][PATCH] bsp: aptiv-s32g: add support for Aptiv FL board
From: Quanyang Wang Add scc and cfg files for Aptiv FL board. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branch: yocto-6.1 Thanks, Quanyang --- bsp/aptiv-s32g/aptiv-cvc-fl-preempt-rt.scc | 7 + bsp/aptiv-s32g/aptiv-cvc.cfg | 177 + bsp/aptiv-s32g/aptiv-cvc.scc | 7 + 3 files changed, 191 insertions(+) create mode 100644 bsp/aptiv-s32g/aptiv-cvc-fl-preempt-rt.scc create mode 100644 bsp/aptiv-s32g/aptiv-cvc.cfg create mode 100644 bsp/aptiv-s32g/aptiv-cvc.scc diff --git a/bsp/aptiv-s32g/aptiv-cvc-fl-preempt-rt.scc b/bsp/aptiv-s32g/aptiv-cvc-fl-preempt-rt.scc new file mode 100644 index 00..d8a0c51af0 --- /dev/null +++ b/bsp/aptiv-s32g/aptiv-cvc-fl-preempt-rt.scc @@ -0,0 +1,7 @@ +# SPDX-License-Identifier: MIT +define KMACHINE aptiv-cvc-fl +define KTYPE preempt-rt +define KARCH arm64 + +include ktypes/preempt-rt +include aptiv-cvc.scc diff --git a/bsp/aptiv-s32g/aptiv-cvc.cfg b/bsp/aptiv-s32g/aptiv-cvc.cfg new file mode 100644 index 00..5714cb9c74 --- /dev/null +++ b/bsp/aptiv-s32g/aptiv-cvc.cfg @@ -0,0 +1,177 @@ +# SPDX-License-Identifier: MIT +.. +.WARNING +. +. This file is a kernel configuration fragment, and not a full kernel +. configuration file. The final kernel configuration is made up of +. an assembly of processed fragments, each of which is designed to +. capture a specific part of the final configuration (e.g. platform +. configuration, feature configuration, and board specific hardware +. configuration). For more information on kernel configuration, please +. consult the product documentation. +. +.. + +CONFIG_ARM64=y +CONFIG_ARCH_NXP=y +CONFIG_ARCH_S32=y +CONFIG_SOC_S32CC=y +CONFIG_SCHED_MC=y +CONFIG_ARM_SMMU=y + +CONFIG_PINCTRL_S32CC=y + +CONFIG_CPU_IDLE=y +CONFIG_ARM_PSCI_CPUIDLE=y +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y + +CONFIG_ARM_SCMI_TRANSPORT_SMC_ATOMIC_ENABLE=y +#To keep align with SDK, unset the ARM_SCMI_POWER_DOMAIN config +# CONFIG_ARM_SCMI_POWER_DOMAIN is not set + +#CAN +CONFIG_CAN=y +CONFIG_CAN_VCAN=y +CONFIG_CAN_SLCAN=y +CONFIG_CAN_FLEXCAN=m + +#Ethernet +CONFIG_STMMAC_ETH=y +CONFIG_DWMAC_DWC_QOS_ETH=y + +#Serial +CONFIG_SERIAL_AMBA_PL011=y +CONFIG_SERIAL_AMBA_PL011_CONSOLE=y +CONFIG_SERIAL_FSL_LINFLEXUART=y +CONFIG_SERIAL_FSL_LINFLEXUART_CONSOLE=y + +#SPI +CONFIG_SPI=y +CONFIG_SPI_FSL_DSPI=y +CONFIG_SPI_SPIDEV=y + +#GPIO +CONFIG_GPIO_CDEV=y +CONFIG_GPIO_S32CC=y +CONFIG_GPIO_PCA953X=y + +#PCIE +CONFIG_PCI=y +CONFIG_PCIE_DW=y +CONFIG_PCIE_DW_PLAT_HOST=y +CONFIG_PCI_ENDPOINT=y +CONFIG_PCIE_DW_PLAT_EP=y +CONFIG_PCIEAER=y +CONFIG_PCI_S32CC=y + +#USB +CONFIG_USB=y +CONFIG_USB_OTG=y +CONFIG_USB_OTG_FSM=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_CHIPIDEA=y +CONFIG_USB_CHIPIDEA_UDC=y +CONFIG_USB_CHIPIDEA_HOST=y +CONFIG_USB_CHIPIDEA_IMX=m +CONFIG_USB_ULPI_GENERIC=y +CONFIG_USB_ULPI=y +CONFIG_USB_GADGET=y +CONFIG_USB_CONFIGFS=y +CONFIG_USB_CONFIGFS_MASS_STORAGE=y + +CONFIG_USB_ACM=y +CONFIG_USB_WDM=y + +CONFIG_USB_SERIAL=y +CONFIG_USB_SERIAL_FTDI_SIO=y +CONFIG_USB_SERIAL_CP210X=m +CONFIG_USB_SERIAL_PL2303=m +CONFIG_USB_SERIAL_WWAN=y +CONFIG_USB_SERIAL_OPTION=y + +#MMC +CONFIG_MMC=y +CONFIG_MMC_SDHCI=y +CONFIG_MMC_SDHCI_PLTFM=y +CONFIG_MMC_SDHCI_ESDHC_IMX=y +CONFIG_DMADEVICES=y +CONFIG_FSL_EDMA=y +CONFIG_CMA=y +CONFIG_DMA_CMA=y +CONFIG_CMA_SIZE_MBYTES=128 + +CONFIG_MTD=y +CONFIG_MTD_CMDLINE_PARTS=y +CONFIG_MTD_BLOCK=y +CONFIG_MTD_CFI=y +CONFIG_MTD_PHYSMAP=y +CONFIG_MTD_PHYSMAP_OF=y +CONFIG_MTD_DATAFLASH=y +CONFIG_MTD_SPI_NOR=y + +CONFIG_INPUT_EVDEV=y +CONFIG_INPUT_MISC=y +CONFIG_INPUT_UINPUT=y + +# Thermal +CONFIG_THERMAL=y +CONFIG_S32CC_THERMAL=y + +# ADC +CONFIG_IIO=y +CONFIG_S32CC_ADC=m + +# PWM +CONFIG_PWM=y +CONFIG_PWM_FSL_FTM=m + +CONFIG_S32CC_FCCU=y +CONFIG_GPIOLIB=y +CONFIG_OF_GPIO=y + +CONFIG_MDIO_DEVICE=y +CONFIG_PHYLIB=y + +#QSPI +CONFIG_SPI_FSL_QUADSPI=y + +#RTC +CONFIG_RTC_CLASS=y +CONFIG_RTC_DRV_S32CC=y +CONFIG_RTC_DRV_PCF85063=y + +#I2C +CONFIG_I2C=y +CONFIG_I2C_CHARDEV=y +CONFIG_I2C_IMX=m + +#Watchdog +# We need keep this driver built-in since rmmod will trigger reboot +CONFIG_S32CC_WDT=y + +#NVME +CONFIG_BLK_DEV_NVME=y +CONFIG_NVME_TARGET=y +CONFIG_NVMEM_S32CC_SIUL2=y + +#LLCE +CONFIG_CAN_LLCE=y +CONFIG_CAN_LLCE_CONTROLLER=m + +# Regulator configuration +CONFIG_REGULATOR=y + +#HSE UIO +CONFIG_UIO=y +CONFIG_CRYPTO_DEV_NXP_HSE=y +CONFIG_UIO_NXP_HSE=y +CONFIG_UIO_NXP_HSE_MU0=y +CONFIG_CRYPTO_DEV_NXP_HSE_MU1=y + +#RANDOM +CONFIG_HW_RANDOM=y diff --git a/bsp/aptiv-s32g/aptiv-cvc.scc b/bsp/aptiv-s32g/aptiv-cvc.scc new file mode 100644 index 00..30fa80132f --- /dev/null +++ b/bsp/aptiv-s32g/aptiv-cvc.scc @@ -0,0 +1,7 @@ +#
[linux-yocto] [yocto-kernel-cache][yocto-6.1][PATCH 2/2] bsp: xilinx-zynqmp: add preempt-rt support
From: Quanyang Wang Signed-off-by: Quanyang Wang --- bsp/xilinx-zynqmp/xilinx-zynqmp-preempt-rt.scc | 8 1 file changed, 8 insertions(+) create mode 100644 bsp/xilinx-zynqmp/xilinx-zynqmp-preempt-rt.scc diff --git a/bsp/xilinx-zynqmp/xilinx-zynqmp-preempt-rt.scc b/bsp/xilinx-zynqmp/xilinx-zynqmp-preempt-rt.scc new file mode 100644 index 00..010f7385c7 --- /dev/null +++ b/bsp/xilinx-zynqmp/xilinx-zynqmp-preempt-rt.scc @@ -0,0 +1,8 @@ +# SPDX-License-Identifier: MIT +define KMACHINE xilinx-zynqmp +define KTYPE preempt-rt +define KARCH arm64 + +include ktypes/preempt-rt/preempt-rt.scc + +include xilinx-zynqmp.scc -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12477): https://lists.yoctoproject.org/g/linux-yocto/message/12477 Mute This Topic: https://lists.yoctoproject.org/mt/98778840/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto] [yocto-kernel-cache][yocto-6.1][PATCH 1/2] bsp: xilinx-zynq: add preempt-rt support
From: Quanyang Wang Signed-off-by: Quanyang Wang --- bsp/xilinx-zynq/xilinx-zynq-preempt-rt.scc | 8 1 file changed, 8 insertions(+) create mode 100644 bsp/xilinx-zynq/xilinx-zynq-preempt-rt.scc diff --git a/bsp/xilinx-zynq/xilinx-zynq-preempt-rt.scc b/bsp/xilinx-zynq/xilinx-zynq-preempt-rt.scc new file mode 100644 index 00..08b7b7677d --- /dev/null +++ b/bsp/xilinx-zynq/xilinx-zynq-preempt-rt.scc @@ -0,0 +1,8 @@ +# SPDX-License-Identifier: MIT +define KMACHINE xilinx-zynq +define KTYPE preempt-rt +define KARCH arm + +include ktypes/preempt-rt/preempt-rt.scc + +include xilinx-zynq.scc -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12475): https://lists.yoctoproject.org/g/linux-yocto/message/12475 Mute This Topic: https://lists.yoctoproject.org/mt/98778838/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto] [yocto-kernel-cache][yocto-6.1][PATCH 0/2] add preempt-rt for
From: Quanyang Wang Hi Bruce, Would you please help merge these 2 patches to the branch: yocto-6.1 Thanks, Quanyang Quanyang Wang (2): bsp: xilinx-zynq: add preempt-rt support bsp: xilinx-zynqmp: add preempt-rt support bsp/xilinx-zynq/xilinx-zynq-preempt-rt.scc | 8 bsp/xilinx-zynqmp/xilinx-zynqmp-preempt-rt.scc | 8 2 files changed, 16 insertions(+) create mode 100644 bsp/xilinx-zynq/xilinx-zynq-preempt-rt.scc create mode 100644 bsp/xilinx-zynqmp/xilinx-zynqmp-preempt-rt.scc -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12476): https://lists.yoctoproject.org/g/linux-yocto/message/12476 Mute This Topic: https://lists.yoctoproject.org/mt/98778839/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc][PATCH] arch: arm64: dts: add dts file for CANFD feature on xilinx-zcu102 platform
From: Meng Li This dts file is created by referring to Xilix SDK petalinux. Signed-off-by: Meng Li --- Hi Bruce, Would you please help merge this patch to the branches: v6.1/standard/preempt-rt/sdkv6.1/xlnx-soc v6.1/standard/sdkv6.1/xlnx-soc Thanks, Quanyang --- arch/arm64/boot/dts/xilinx/Makefile | 1 + .../dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts | 82 +++ 2 files changed, 83 insertions(+) create mode 100644 arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts diff --git a/arch/arm64/boot/dts/xilinx/Makefile b/arch/arm64/boot/dts/xilinx/Makefile index 80a24e8aabe6a..7dc10be3313c2 100644 --- a/arch/arm64/boot/dts/xilinx/Makefile +++ b/arch/arm64/boot/dts/xilinx/Makefile @@ -11,6 +11,7 @@ dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-zcu100-revC.dtb dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-zcu102-revA.dtb dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-zcu102-revB.dtb dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-zcu102-rev1.0.dtb +dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-zcu102-rev1.0-canfd.dtb dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-zcu102-rev1.1.dtb dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-zcu104-revA.dtb dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-zcu104-revC.dtb diff --git a/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts b/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts new file mode 100644 index 0..73ba3abd7aa89 --- /dev/null +++ b/arch/arm64/boot/dts/xilinx/zynqmp-zcu102-rev1.0-canfd.dts @@ -0,0 +1,82 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * dts file for Xilinx ZynqMP ZCU102 Rev1.0 CANFD + * + * Copyright (C) 2016 - 2023 Wind River Systems, Inc. + * + * Meng Li + */ + +#include "zynqmp-zcu102-rev1.0.dts" + +/ { + amba_pl: amba_pl { + #address-cells = <2>; + #size-cells = <2>; + compatible = "simple-bus"; + ranges ; + axi_iic_0: i2c@80003000 { + #address-cells = <1>; + #size-cells = <0>; + clock-names = "s_axi_aclk"; + clocks = <_clk 71>; + compatible = "xlnx,axi-iic-2.0", "xlnx,xps-iic-2.00.a"; + reg = <0x0 0x80003000 0x0 0x1000>; + }; + axi_timer_0: timer@8000 { + clock-frequency = <187481262>; + clock-names = "s_axi_aclk"; + clocks = <_clk 71>; + compatible = "xlnx,axi-timer-2.0", "xlnx,xps-timer-1.00.a"; + interrupt-names = "interrupt"; + interrupt-parent = <>; + interrupts = <0 91 4>; + reg = <0x0 0x8000 0x0 0x1000>; + xlnx,count-width = <0x20>; + xlnx,gen0-assert = <0x1>; + xlnx,gen1-assert = <0x1>; + xlnx,one-timer-only = <0x0>; + xlnx,trig0-assert = <0x1>; + xlnx,trig1-assert = <0x1>; + }; + canfd_0: canfd@8100 { + clock-names = "can_clk", "can_clk_x2", "s_axi_aclk"; + clocks = <_wiz_0 1>, <_wiz_0 0>, <_clk 71>; + compatible = "xlnx,canfd-2.0"; + interrupt-names = "ip2bus_intrevent"; + interrupt-parent = <>; + interrupts = <0 89 4>; + reg = <0x0 0x8100 0x0 0x8000>; + rx-fifo-depth = <0x20>; + tx-mailbox-count = <0x20>; + }; + canfd_1: canfd@8200 { + clock-names = "can_clk", "can_clk_x2", "s_axi_aclk"; + clocks = <_wiz_0 1>, <_wiz_0 0>, <_clk 71>; + compatible = "xlnx,canfd-2.0"; + interrupt-names = "ip2bus_intrevent"; + interrupt-parent = <>; + interrupts = <0 90 4>; + reg = <0x0 0x8200 0x0 0x8000>; + rx-fifo-depth = <0x20>; + tx-mailbox-count = <0x20>; + }; + clk_wiz_0: clk_wiz@8001 { + #clock-cells = <1>; + clock-names = "s_axi_aclk", "clk_in1"; + clock-output-names = "clk_out1", "clk_out2", "clk_out3", "clk_out4", "clk_out5", "clk_out6", "clk_out7"; + clocks = <_clk 71>, <_clk 71>; + compatible = "xlnx,clk-wiz-6.0", "xlnx,clocking-wizard"; + reg = <0x0 0x8001 0x0 0x1>; + speed-grade = <2>; + }; + psu_ctrl_ipi: PERIPHERAL@ff38 { + compatible = "xlnx,PERIPHERAL-1.0"; + reg = <0x0 0xff38 0x0 0x8>; + }; + psu_message_buffers:
[linux-yocto] [yocto-kernel-cache][yocto-6.1][PATCH] bsp: xilinx-zynq: drop obsolete kernel options
From: Quanyang Wang These options are obsolete for v6.1 kernel. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branch: yocto-6.1 Thanks, Quanyang --- bsp/xilinx-zynq/xilinx-zynq.cfg | 6 -- 1 file changed, 6 deletions(-) diff --git a/bsp/xilinx-zynq/xilinx-zynq.cfg b/bsp/xilinx-zynq/xilinx-zynq.cfg index c4589de20c..a05a3cbf00 100644 --- a/bsp/xilinx-zynq/xilinx-zynq.cfg +++ b/bsp/xilinx-zynq/xilinx-zynq.cfg @@ -110,8 +110,6 @@ CONFIG_MMC_SDHCI_OF_ARASAN=y # USB CONFIG_USB_OTG=y CONFIG_USB_CHIPIDEA=y -CONFIG_USB_CHIPIDEA_OF=y -CONFIG_USB_CHIPIDEA_PCI=y CONFIG_USB_CHIPIDEA_UDC=y CONFIG_USB_CHIPIDEA_HOST=y @@ -133,12 +131,10 @@ CONFIG_FRAMEBUFFER_CONSOLE=y CONFIG_DRM=y CONFIG_DRM_KMS_HELPER=y -CONFIG_DRM_XILINX=y CONFIG_FB_XILINX=y CONFIG_DRM_I2C_ADV7511=y CONFIG_DRM_I2C_ADV7511_AUDIO=y -CONFIG_DRM_I2C_ADV7533=y CONFIG_DRM_I2C_ADV7511_CEC=y # FPGA @@ -171,7 +167,6 @@ CONFIG_EEPROM_AT24=y CONFIG_MEDIA_SUPPORT=y CONFIG_MEDIA_CAMERA_SUPPORT=y CONFIG_MEDIA_CONTROLLER=y -CONFIG_VIDEO_V4L2_SUBDEV_API=y CONFIG_MEDIA_PLATFORM_SUPPORT=y CONFIG_V4L_PLATFORM_DRIVERS=y CONFIG_MEDIA_SUBDRV_AUTOSELECT=y @@ -190,7 +185,6 @@ CONFIG_DEBUG_ZYNQ_UART1=y CONFIG_EARLY_PRINTK=y CONFIG_IIO=y -CONFIG_XILINX_TRAFGEN=y CONFIG_IIO_CONFIGFS=y CONFIG_IIO_SW_DEVICE=y CONFIG_IIO_SW_TRIGGER=y -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12455): https://lists.yoctoproject.org/g/linux-yocto/message/12455 Mute This Topic: https://lists.yoctoproject.org/mt/98681767/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto] [yocto-kernel-cache][yocto-6.1][PATCH] xilinx-zynqmp: drop obsolete options for v6.1 kernel
From: Quanyang Wang Drop the obsolete options and add CONFIG_USB_ULPI_BUS because it is required by dwc3 usb driver. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branch: yocto-6.1 Thanks, Quanyang --- bsp/xilinx-zynqmp/xilinx-zynqmp.cfg | 5 + 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/bsp/xilinx-zynqmp/xilinx-zynqmp.cfg b/bsp/xilinx-zynqmp/xilinx-zynqmp.cfg index 21a7e29753..f236a7c070 100644 --- a/bsp/xilinx-zynqmp/xilinx-zynqmp.cfg +++ b/bsp/xilinx-zynqmp/xilinx-zynqmp.cfg @@ -93,6 +93,7 @@ CONFIG_USB_OTG=y CONFIG_USB_OTG_FSM=m CONFIG_USB_GADGET=y CONFIG_USB_GADGET_XILINX=y +CONFIG_USB_ULPI_BUS=y CONFIG_INPUT=y CONFIG_INPUT_MOUSEDEV=y @@ -195,10 +196,7 @@ CONFIG_VIDEO_XILINX_MULTISCALER=y CONFIG_DRM=y CONFIG_DRM_KMS_HELPER=y CONFIG_DRM_FBDEV_EMULATION=y -CONFIG_DRM_GEM_CMA_HELPER=y -CONFIG_DRM_KMS_CMA_HELPER=y CONFIG_DRM_BRIDGE=y -CONFIG_DRM_XILINX=y CONFIG_HDMI=y CONFIG_DRM_XLNX=y @@ -213,7 +211,6 @@ CONFIG_DRM_XLNX_BRIDGE_CSC=y CONFIG_DRM_XLNX_BRIDGE_SCALER=y CONFIG_XILINX_FRMBUF=y CONFIG_XILINX_ZYNQMP_DPDMA=y -CONFIG_DRM_XILINX_SDI=y CONFIG_SOUND=y CONFIG_SND=y CONFIG_SND_SOC_XILINX_DP=y -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12433): https://lists.yoctoproject.org/g/linux-yocto/message/12433 Mute This Topic: https://lists.yoctoproject.org/mt/98553443/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto] [yocto-kernel-cache][yocto-5.15][PATCH] xilinx-versal: enable CONFIG_RESET_CONTROLLER
From: Quanyang Wang The device node "usb0" depends on the reset controller "xlnx,versal-reset", so CONFIG_RESET_CONTROLLER needs to be enabled. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branch: yocto-5.15 Thanks, Quanyang --- bsp/xilinx-versal/xilinx-versal.cfg | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bsp/xilinx-versal/xilinx-versal.cfg b/bsp/xilinx-versal/xilinx-versal.cfg index c767699537..72cbe9bee6 100644 --- a/bsp/xilinx-versal/xilinx-versal.cfg +++ b/bsp/xilinx-versal/xilinx-versal.cfg @@ -185,3 +185,5 @@ CONFIG_VERSAL_SYSMON=y CONFIG_XILINX_AIE=y CONFIG_ARM_PSCI_CPUIDLE=y + +CONFIG_RESET_CONTROLLER=y -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12376): https://lists.yoctoproject.org/g/linux-yocto/message/12376 Mute This Topic: https://lists.yoctoproject.org/mt/98274746/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH 3/4] dts: Aptiv: modify pfe bmu2 pool address and size for pfe slave mode
From: Quanyang Wang This patch is based on the patch: wryocto/layers/meta-aptiv/recipes-kernel/linux/files/0001-dts-s32g-pfe-modify-BMU2-reserved-memory-node-to.patch Signed-off-by: Quanyang Wang --- .../boot/dts/freescale/s32g274a-aptiv-pfems.dts| 14 ++ 1 file changed, 14 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/s32g274a-aptiv-pfems.dts b/arch/arm64/boot/dts/freescale/s32g274a-aptiv-pfems.dts index 1b05a2761157b..6c863a9a4d997 100644 --- a/arch/arm64/boot/dts/freescale/s32g274a-aptiv-pfems.dts +++ b/arch/arm64/boot/dts/freescale/s32g274a-aptiv-pfems.dts @@ -14,6 +14,20 @@ #include "s32g274a-aptiv.dtsi" #include "s32g-pfe-slave.dtsi" + +/delete-node/ _reserved_bmu2; +/ { + reserved-memory { + pfe_reserved_bmu2: pfebufs@8300 { + compatible = "nxp,s32g-pfe-bmu2-pool"; + /* BMU2: 2 MB */ + reg = <0 0x8300 0 0x20>; + no-map; + status = "okay"; + }; + }; +}; + _aux0 { status = "okay"; }; -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12372): https://lists.yoctoproject.org/g/linux-yocto/message/12372 Mute This Topic: https://lists.yoctoproject.org/mt/98235878/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH 4/4] Fix DTS for Aptiv PFE Slave
From: Felix Lelchuk BZX-1487: Pfe slave driver is integrated on the Windriver linux -device tree adaptations -#include "s32g-pfe-slave.dtsi" -override pfe_slave properties for our use case: -unset dma-coherent as was done by OBE (=Olaf?) for the master case (why?) -interrupts, interrupt-names: since we only use hif1 only connect interrupts of HIF1 -limit nxp,pfeng-hif-channels to only hif1 -set nxp,pfeng-ihc-channel as hif1 (our HIF used for IHC) -set nxp,pfeng-master-channel as hif0 (HIF assigned to the master = M7) -disable predefined non-AUX interfaces pfesl_netif0..2: -by setting status = "disabled" -non-AUX interfaces are by design explicitly bonded to network-facing ports (EMACx) - and in our use case we want rule-based routing -enable the predefined AUX interface aux0sl: -by setting status = "okay" -assigning the desired MAC address as -local-mac-address = [ e2 51 24 01 df 37 ] -and assigning nxp,pfeng-hif-channels as hif1 Notes: AUX interface shows as aux0sl under Linux (we want this one) non-AUX interface shows as pfeNsl under Linux (should not show up as disabled on device-tree level) it was critical to add a master AUX interface on M7 side (hif0) for IHC and to handle interrupts which drive RPC processing Signed-off-by: Felix Lelchuk [Quanyang: 1. This patch comes from meta-aptiv/recipes-kernel/linux/files/recipes-kernel/linux/files/0001-Fix-DTS-for-Aptiv-PFE-Slave.patch 2. The commit message is from 1d1372b ("BZX-1487: Pfe slave driver is integrated on the Windriver linux" in meta-aptiv, and I only cut out the related part. 3. Original modifications are in s32g274a-aptiv.dts and I move them to a new file s32g274a-aptiv-pfems.dts.] Signed-off-by: Quanyang Wang --- .../dts/freescale/s32g274a-aptiv-pfems.dts| 22 ++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/freescale/s32g274a-aptiv-pfems.dts b/arch/arm64/boot/dts/freescale/s32g274a-aptiv-pfems.dts index 6c863a9a4d997..d87818f05240e 100644 --- a/arch/arm64/boot/dts/freescale/s32g274a-aptiv-pfems.dts +++ b/arch/arm64/boot/dts/freescale/s32g274a-aptiv-pfems.dts @@ -28,10 +28,30 @@ pfe_reserved_bmu2: pfebufs@8300 { }; }; -_aux0 { +_slave { status = "okay"; + /delete-property/ dma-coherent; /* Disable for cut 1.1 compatibility OBE */ + interrupts = ; + interrupt-names = "hif1"; + nxp,pfeng-hif-channels = ; + nxp,pfeng-ihc-channel = ; + nxp,pfeng-master-channel = ; }; _aux0 { status = "okay"; + local-mac-address = [ e2 51 24 01 df 37 ]; + nxp,pfeng-hif-channels = ; +}; + +_netif0 { + status = "disabled"; +}; + +_netif1 { + status = "disabled"; +}; + +_netif2 { + status = "disabled"; }; -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12373): https://lists.yoctoproject.org/g/linux-yocto/message/12373 Mute This Topic: https://lists.yoctoproject.org/mt/98235879/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH 1/4] dts: Aptiv: refactor Aptiv Sousa s32g274a dts files
From: Quanyang Wang For now, dts files for NXP rdb/evb boards are following the naming rules as s32gXXX.dtsi/s32gXXX.dts/s32gXXX-pfems.dts. Let's switch Aptiv dts files to the same rule. Rename original s32g274a-aptiv.dts to be s32g274a-aptiv.dtsi and make a new s32g274a-aptiv.dts to include this dtsi file. For s32g274a-aptiv-pfems.dts, it is created by me by referencing by s32g274a-rdb2-pfems.dts, so the Copyright is updated to be Windriver. Signed-off-by: Quanyang Wang --- arch/arm64/boot/dts/freescale/Makefile| 3 +- .../dts/freescale/s32g274a-aptiv-pfems.dts| 6 +- .../boot/dts/freescale/s32g274a-aptiv.dts | 827 + .../boot/dts/freescale/s32g274a-aptiv.dtsi| 833 ++ 4 files changed, 843 insertions(+), 826 deletions(-) create mode 100644 arch/arm64/boot/dts/freescale/s32g274a-aptiv.dtsi diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile index 9e877ad609d56..b74977a1467f0 100644 --- a/arch/arm64/boot/dts/freescale/Makefile +++ b/arch/arm64/boot/dts/freescale/Makefile @@ -70,8 +70,9 @@ dtb-$(CONFIG_ARCH_MXC) += imx8qxp-ai_ml.dtb dtb-$(CONFIG_ARCH_MXC) += imx8qxp-colibri-eval-v3.dtb dtb-$(CONFIG_ARCH_MXC) += imx8qxp-mek.dtb -dtb-$(CONFIG_ARCH_S32) += s32g274a-bluebox3.dtb dtb-$(CONFIG_ARCH_S32) += s32g274a-aptiv.dtb +dtb-$(CONFIG_ARCH_S32) += s32g274a-aptiv-pfems.dtb +dtb-$(CONFIG_ARCH_S32) += s32g274a-bluebox3.dtb dtb-$(CONFIG_ARCH_S32) += s32g2xxa-evb.dtb dtb-$(CONFIG_ARCH_S32) += s32g2xxa-evb-pfems.dtb dtb-$(CONFIG_ARCH_S32) += s32g2xxa-evb3.dtb diff --git a/arch/arm64/boot/dts/freescale/s32g274a-aptiv-pfems.dts b/arch/arm64/boot/dts/freescale/s32g274a-aptiv-pfems.dts index 1518f27028f6a..1b05a2761157b 100644 --- a/arch/arm64/boot/dts/freescale/s32g274a-aptiv-pfems.dts +++ b/arch/arm64/boot/dts/freescale/s32g274a-aptiv-pfems.dts @@ -1,15 +1,17 @@ // SPDX-License-Identifier: GPL-2.0-or-later /* - * Copyright 2019-2020 NXP + * Copyright (C) 2023 Wind River Systems, Inc. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. + * + * Based on s32g274a-rdb2-pfems.dts */ /dts-v1/; -#include "s32g274a-aptiv.dts" +#include "s32g274a-aptiv.dtsi" #include "s32g-pfe-slave.dtsi" _aux0 { diff --git a/arch/arm64/boot/dts/freescale/s32g274a-aptiv.dts b/arch/arm64/boot/dts/freescale/s32g274a-aptiv.dts index fc4c16131f8dc..69529966dd17c 100644 --- a/arch/arm64/boot/dts/freescale/s32g274a-aptiv.dts +++ b/arch/arm64/boot/dts/freescale/s32g274a-aptiv.dts @@ -1,833 +1,14 @@ // SPDX-License-Identifier: GPL-2.0-or-later /* - * Copyright 2019-2020 NXP + * Copyright (C) 2023 Wind River Systems, Inc. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. + * + * Based on s32g274a-rdb2.dts */ /dts-v1/; -#include "s32g2.dtsi" -#include - -/ { - model = "Aptiv S32G274 CVC"; - chosen { - stdout-path = "serial0:115200n8"; - }; - - usbphyulpi: usbphyulpi { - compatible = "nxp,saf1508", "usb-phy-ulpi-generic"; - /* ULPI_OTG_ID_PULLUP | ULPI_OTG_DRVVBUS_EXT | ULPI_OTG_EXTVBUSIND | -* ULPI_IC_IND_PASSTHRU | ULPI_IC_EXTVBUS_INDINV -*/ - usb-ulpi-flags = <0x60C1>; - #phy-cells = <0>; - }; -}; - - { - status = "okay"; -}; - - { - pinctrl-names = "default"; - pinctrl-0 = <_pins>; - fsl,usbphy = <>; - status = "okay"; -}; - - { - status = "okay"; - /delete-property/ dma-coherent; -}; - -_mdio0 { - status = "okay"; -}; - -_mdio1 { - /* unused */ - status = "okay"; -}; - -_mdio2 { - /* unused */ - status = "okay"; -}; - -_netif0 { - phy-mode = "sgmii"; - fixed-link { - speed = <1000>; - full-duplex; - }; -}; - -_netif1 { - phy-mode = "sgmii"; - fixed-link { - speed = <1000>; - full-duplex; - }; -}; - -_netif2 { - phy-mode = "sgmii"; - fixed-link { - speed = <1000>; - full-duplex; - }; -}; - - { - status = "okay"; - phy-mode = "rgmii"; - phy-handle = <_mdio_c_phy24>; - pinctrl-names = "default"; - pinctrl-0 = <_pins>, <_pins>; -}; - -_mdio { - /* BCM89610 on S32G */ - gmac0_mdio_c_phy24: ethernet-phy@24 { - #address-cells = <1>; - #size-cells = <0>; - reg = <24>; - }; -}; - -_timer { - clock-frequency = <500>; -}; - - { - pinctrl-names = "default"; - pinctrl-0 =
[linux-yocto][v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH 2/4] dts: Aptiv-FL: refactor Aptiv CVC FL s32g399a dts files
From: Quanyang Wang For now, dts files for NXP rdb/evb boards are following the naming rules as s32gXXX.dtsi/s32gXXX.dts/s32gXXX-pfems.dts. Let's switch Aptiv dts files to the same rule. Rename original s32g399a-cvc-fl.dts to be s32g399a-cvc-fl.dtsi and make new s32g399a-cvc-fl.dts and s32g399a-cvc-fl-pfems.dts to include this dtsi file. Signed-off-by: Quanyang Wang --- arch/arm64/boot/dts/freescale/Makefile| 3 +- .../dts/freescale/s32g399a-cvc-fl-pfems.dts | 23 + .../boot/dts/freescale/s32g399a-cvc-fl.dts| 32 ++- .../boot/dts/freescale/s32g399a-cvc-fl.dtsi | 28 4 files changed, 62 insertions(+), 24 deletions(-) create mode 100644 arch/arm64/boot/dts/freescale/s32g399a-cvc-fl-pfems.dts create mode 100644 arch/arm64/boot/dts/freescale/s32g399a-cvc-fl.dtsi diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile index b74977a1467f0..7e16374a0e0d4 100644 --- a/arch/arm64/boot/dts/freescale/Makefile +++ b/arch/arm64/boot/dts/freescale/Makefile @@ -72,6 +72,8 @@ dtb-$(CONFIG_ARCH_MXC) += imx8qxp-mek.dtb dtb-$(CONFIG_ARCH_S32) += s32g274a-aptiv.dtb dtb-$(CONFIG_ARCH_S32) += s32g274a-aptiv-pfems.dtb +dtb-$(CONFIG_ARCH_S32) += s32g399a-cvc-fl.dtb +dtb-$(CONFIG_ARCH_S32) += s32g399a-cvc-fl-pfems.dtb dtb-$(CONFIG_ARCH_S32) += s32g274a-bluebox3.dtb dtb-$(CONFIG_ARCH_S32) += s32g2xxa-evb.dtb dtb-$(CONFIG_ARCH_S32) += s32g2xxa-evb-pfems.dtb @@ -91,4 +93,3 @@ dtb-$(CONFIG_ARCH_S32) += s32g399a-emu.dtb dtb-$(CONFIG_ARCH_S32) += s32r45-evb.dtb dtb-$(CONFIG_ARCH_S32) += s32r45-emu.dtb dtb-$(CONFIG_ARCH_S32) += s32v234-evb.dtb -dtb-$(CONFIG_ARCH_S32) += s32g399a-cvc-fl.dtb diff --git a/arch/arm64/boot/dts/freescale/s32g399a-cvc-fl-pfems.dts b/arch/arm64/boot/dts/freescale/s32g399a-cvc-fl-pfems.dts new file mode 100644 index 0..661f8f8efb6cf --- /dev/null +++ b/arch/arm64/boot/dts/freescale/s32g399a-cvc-fl-pfems.dts @@ -0,0 +1,23 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * Copyright (C) 2023 Wind River Systems, Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * Based on s32g399a-rdb3-pfems.dts + */ + +/dts-v1/; +#include "s32g399a-cvc-fl.dtsi" +#include "s32g-pfe-slave.dtsi" + +_aux0 { + status = "okay"; +}; + +_aux0 { + status = "okay"; +}; diff --git a/arch/arm64/boot/dts/freescale/s32g399a-cvc-fl.dts b/arch/arm64/boot/dts/freescale/s32g399a-cvc-fl.dts index 994f80a736ee4..bee72e0eeed1e 100644 --- a/arch/arm64/boot/dts/freescale/s32g399a-cvc-fl.dts +++ b/arch/arm64/boot/dts/freescale/s32g399a-cvc-fl.dts @@ -1,28 +1,14 @@ // SPDX-License-Identifier: GPL-2.0-or-later /* - * Copyright 2021 NXP + * Copyright (C) 2023 Wind River Systems, Inc. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * Based on s32g399a-rdb3.dts */ /dts-v1/; -#include "s32g3.dtsi" -#include "s32gxxxa-cvc-fl.dtsi" -/ { - model = "Freescale S32G399A"; - compatible = "fsl,s32g399", "arm,vexpress"; -}; - - { - status = "okay"; -}; - - { - status = "okay"; -}; - - { - status = "okay"; -}; - - { - status = "okay"; -}; +#include "s32g399a-cvc-fl.dtsi" diff --git a/arch/arm64/boot/dts/freescale/s32g399a-cvc-fl.dtsi b/arch/arm64/boot/dts/freescale/s32g399a-cvc-fl.dtsi new file mode 100644 index 0..994f80a736ee4 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/s32g399a-cvc-fl.dtsi @@ -0,0 +1,28 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * Copyright 2021 NXP + */ + +/dts-v1/; +#include "s32g3.dtsi" +#include "s32gxxxa-cvc-fl.dtsi" +/ { + model = "Freescale S32G399A"; + compatible = "fsl,s32g399", "arm,vexpress"; +}; + + { + status = "okay"; +}; + + { + status = "okay"; +}; + + { + status = "okay"; +}; + + { + status = "okay"; +}; -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12370): https://lists.yoctoproject.org/g/linux-yocto/message/12370 Mute This Topic: https://lists.yoctoproject.org/mt/98235876/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH 0/4] Enable pfe slave mode
From: Quanyang Wang Hi Bruce, Would you please help merge these 4 patches to the branches: v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g v5.15/standard/nxp-sdk-5.15/nxp-s32g Thanks, Quanyang Felix Lelchuk (1): Fix DTS for Aptiv PFE Slave Quanyang Wang (3): dts: Aptiv: refactor Aptiv Sousa s32g274a dts files dts: Aptiv-FL: refactor Aptiv CVC FL s32g399a dts files dts: Aptiv: modify pfe bmu2 pool address and size for pfe slave mode arch/arm64/boot/dts/freescale/Makefile| 6 +- .../dts/freescale/s32g274a-aptiv-pfems.dts| 42 +- .../boot/dts/freescale/s32g274a-aptiv.dts | 827 + .../boot/dts/freescale/s32g274a-aptiv.dtsi| 833 ++ .../dts/freescale/s32g399a-cvc-fl-pfems.dts | 23 + .../boot/dts/freescale/s32g399a-cvc-fl.dts| 32 +- .../boot/dts/freescale/s32g399a-cvc-fl.dtsi | 28 + 7 files changed, 940 insertions(+), 851 deletions(-) create mode 100644 arch/arm64/boot/dts/freescale/s32g274a-aptiv.dtsi create mode 100644 arch/arm64/boot/dts/freescale/s32g399a-cvc-fl-pfems.dts create mode 100644 arch/arm64/boot/dts/freescale/s32g399a-cvc-fl.dtsi -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12369): https://lists.yoctoproject.org/g/linux-yocto/message/12369 Mute This Topic: https://lists.yoctoproject.org/mt/98235874/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH 2/3] gpio: s32: switch the spinlock of siul2_gpio_dev to raw spinlock
From: Quanyang Wang The irq functions "siul2_gpio_irq_unmask" and "siul2_gpio_irq_mask" use spin_lock in preempt-rt kernel, it will cause the error that calling a sleeping function in an atomic context. Use raw spinlock to fix this issue. Signed-off-by: Quanyang Wang --- drivers/gpio/gpio-siul2-s32cc.c | 16 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/drivers/gpio/gpio-siul2-s32cc.c b/drivers/gpio/gpio-siul2-s32cc.c index d93704af3eefa..3011ff5ab662b 100644 --- a/drivers/gpio/gpio-siul2-s32cc.c +++ b/drivers/gpio/gpio-siul2-s32cc.c @@ -156,7 +156,7 @@ struct siul2_gpio_dev { struct irq_chip irq; /* Mutual access to SIUL2 registers. */ - spinlock_t lock; + raw_spinlock_t lock; }; /* We will use the following variable names: @@ -208,14 +208,14 @@ static inline void gpio_set_direction(struct siul2_gpio_dev *dev, int gpio, { unsigned long flags; - spin_lock_irqsave(>lock, flags); + raw_spin_lock_irqsave(>lock, flags); if (dir == IN) bitmap_clear(dev->pin_dir_bitmap, gpio, 1); else bitmap_set(dev->pin_dir_bitmap, gpio, 1); - spin_unlock_irqrestore(>lock, flags); + raw_spin_unlock_irqrestore(>lock, flags); } static inline enum gpio_dir gpio_get_direction(struct siul2_gpio_dev *dev, @@ -490,9 +490,9 @@ static void siul2_gpio_irq_unmask(struct irq_data *data) /* Enable Interrupt */ regmap_update_bits(gpio_dev->irqmap, SIUL2_DIRER0, mask, mask); - spin_lock_irqsave(_dev->lock, flags); + raw_spin_lock_irqsave(_dev->lock, flags); bitmap_set(_dev->eirqs_bitmap, platdata->irqs[index].eirq, 1); - spin_unlock_irqrestore(_dev->lock, flags); + raw_spin_unlock_irqrestore(_dev->lock, flags); /* Set IMCR */ regmap_write(gpio_dev->eirqimcrsmap, @@ -534,9 +534,9 @@ static void siul2_gpio_irq_mask(struct irq_data *data) /* Clean status flag */ regmap_update_bits(gpio_dev->irqmap, SIUL2_DISR0, mask, mask); - spin_lock_irqsave(_dev->lock, flags); + raw_spin_lock_irqsave(_dev->lock, flags); bitmap_clear(_dev->eirqs_bitmap, platdata->irqs[index].eirq, 1); - spin_unlock_irqrestore(_dev->lock, flags); + raw_spin_unlock_irqrestore(_dev->lock, flags); regmap_write(gpio_dev->eirqimcrsmap, SIUL2_EIRQ_REG(platdata->irqs[index].eirq), @@ -1154,7 +1154,7 @@ static int siul2_gpio_probe(struct platform_device *pdev) platform_set_drvdata(pdev, gpio_dev); - spin_lock_init(_dev->lock); + raw_spin_lock_init(_dev->lock); for (i = 0; i < ARRAY_SIZE(gpio_dev->siul2); ++i) { err = siul2_get_gpio_pinspec(pdev, , i); -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12358): https://lists.yoctoproject.org/g/linux-yocto/message/12358 Mute This Topic: https://lists.yoctoproject.org/mt/98152528/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH 3/3] gpio: s32: don't run callbacks in some callbacks
From: Quanyang Wang The functions "siul2_gpio_dir_in" and "siul2_gpio_free" have been registered to be callbacks as "gc->direction_input" and "gc->free". When the callbacks "irq_chip->irq_set_type/irq_unmask/irq_mask" are called, the caller should guarantee that it will call gc->direction_input and gc->free explicitly instead of counting on irq_set_type/irq_unmask/irq_mask to do this. So let's remove calling of the callbacks from callbacks to avoid calling them multiple times. This patch fixes the calltrace as below: [ 904.363150] BUG: sleeping function called from invalid context at kernel/locking/rtmutex_api.c:510 [ 904.363174] in_atomic(): 1, irqs_disabled(): 128, non_block: 0, pid: 1246, name: gpiomon [ 904.363181] preempt_count: 1, expected: 0 [ 904.363186] RCU nest depth: 0, expected: 0 [ 904.363190] 2 locks held by gpiomon/1246: [ 904.363195] #0: ff8812162ac8 (request_class){..}-{3:3}, at: __setup_irq+0xbc/0x754 [ 904.363232] #1: ff8812162900 (lock_class){}-{2:2}, at: _raw_spin_lock_irqsave+0x1c/0x30 [ 904.363256] irq event stamp: 23554 [ 904.363259] hardirqs last enabled at (23553): [] _raw_spin_unlock_irqrestore+0xb8/0xe0 [ 904.363270] hardirqs last disabled at (23554): [] __raw_spin_lock_irqsave+0x114/0x15c [ 904.363283] softirqs last enabled at (15992): [] __local_bh_enable_ip+0xa4/0x2a0 [ 904.363297] softirqs last disabled at (15980): [] release_sock+0xc/0x100 [ 904.363311] Preemption disabled at: [ 904.363314] [] __raw_spin_lock_irqsave+0x3c/0x15c [ 904.363329] CPU: 2 PID: 1246 Comm: gpiomon Not tainted 5.15.58-rt48-yocto-preempt-rt #1 [ 904.363339] Hardware name: Aptiv S32G274 CVC (DT) [ 904.363343] Call trace: [ 904.363346] dump_backtrace+0x0/0x1b4 [ 904.363354] show_stack+0x24/0x30 [ 904.363361] dump_stack_lvl+0xb0/0xf4 [ 904.363371] dump_stack+0x18/0x34 [ 904.363378] __might_resched+0x18c/0x22c [ 904.363389] __might_sleep+0x54/0x90 [ 904.363396] mutex_lock_nested+0x5c/0xd0 [ 904.363406] pinctrl_get_device_gpio_range+0x48/0x120 [ 904.363418] pinctrl_gpio_direction+0x40/0xd0 [ 904.363426] pinctrl_gpio_direction_input+0x20/0x30 [ 904.363434] siul2_gpio_dir_in+0x34/0x90 [ 904.363443] siul2_gpio_irq_set_type+0x40/0x1a4 [ 904.363450] __irq_set_trigger+0x6c/0x190 [ 904.363456] __setup_irq+0x2b8/0x754 [ 904.363462] request_threaded_irq+0xf8/0x1bc [ 904.363469] lineevent_create+0x294/0x3e0 [ 904.363480] gpio_ioctl+0x31c/0x3a0 [ 904.363489] __arm64_sys_ioctl+0xb4/0xfc [ 904.363500] invoke_syscall+0x5c/0x130 [ 904.363511] el0_svc_common.constprop.0+0x68/0x124 [ 904.363520] do_el0_svc+0x50/0xbc [ 904.363529] el0_svc+0x54/0x130 [ 904.363536] el0t_64_sync_handler+0xa4/0x130 [ 904.363544] el0t_64_sync+0x1a0/0x1a4 Signed-off-by: Quanyang Wang --- drivers/gpio/gpio-siul2-s32cc.c | 17 - 1 file changed, 17 deletions(-) diff --git a/drivers/gpio/gpio-siul2-s32cc.c b/drivers/gpio/gpio-siul2-s32cc.c index 3011ff5ab662b..668eab91859f2 100644 --- a/drivers/gpio/gpio-siul2-s32cc.c +++ b/drivers/gpio/gpio-siul2-s32cc.c @@ -372,13 +372,6 @@ static int siul2_gpio_irq_set_type(struct irq_data *d, unsigned int type) int ret = 0; u32 mask; - ret = siul2_gpio_dir_in(gc, gpio); - if (ret) { - dev_err(gc->parent, "Failed to configure GPIO %lu as input\n", - gpio); - return ret; - } - /* SIUL2 GPIO doesn't support level triggering */ if ((irq_type & IRQ_TYPE_LEVEL_HIGH) || (irq_type & IRQ_TYPE_LEVEL_LOW)) { @@ -469,7 +462,6 @@ static void siul2_gpio_irq_unmask(struct irq_data *data) int index = siul2_irq_gpio_index(platdata, gpio); unsigned long flags; u32 mask; - int ret; if (index < 0) return; @@ -498,13 +490,6 @@ static void siul2_gpio_irq_unmask(struct irq_data *data) regmap_write(gpio_dev->eirqimcrsmap, SIUL2_EIRQ_REG(platdata->irqs[index].eirq), platdata->irqs[index].imscr_conf); - - /* Configure GPIO as input */ - ret = siul2_gpio_dir_in(gc, gpio); - if (ret) { - dev_err(gc->parent, "Failed to configure GPIO %d as input\n", - ret); - } } static void siul2_gpio_irq_mask(struct irq_data *data) @@ -541,8 +526,6 @@ static void siul2_gpio_irq_mask(struct irq_data *data) regmap_write(gpio_dev->eirqimcrsmap, SIUL2_EIRQ_REG(platdata->irqs[index].eirq), 0); - - siul2_gpio_free(gc, gpio); } static const struct regmap_config siul2_regmap_conf = { -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12359): https://lists.yoctoproject.org/g/linux-yocto/message/12359 Mute This Topic: https://lists.yoctoproject.org/mt/98152529/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com]
[linux-yocto][v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH 0/3]
From: Quanyang Wang Hi Bruce, Would you please help merge these 3 patches to the branches: v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g v5.15/standard/nxp-sdk-5.15/nxp-s32g Thanks, Quanyang Quanyang Wang (3): gpio: s32: force regmap use raw spinlock gpio: s32: switch the spinlock of siul2_gpio_dev to raw spinlock gpio: s32: don't run callbacks in some callbacks drivers/gpio/gpio-siul2-s32cc.c | 34 + 1 file changed, 9 insertions(+), 25 deletions(-) -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12356): https://lists.yoctoproject.org/g/linux-yocto/message/12356 Mute This Topic: https://lists.yoctoproject.org/mt/98152526/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH 1/3] gpio: s32: force regmap use raw spinlock
From: Quanyang Wang The regmap subsystem use mutex lock as its default lock but this will cause the error that calling sleeping functions in an atomic context since the irq callbacks "irq_set_type/irq_mask/irq_unmask" for siul2-s32cc are all using regmap_update_bits. Add use_raw_spinlock flag to the regmap_config structure siul2_regmap_conf can switch mutex lock to raw spinlock. Signed-off-by: Quanyang Wang --- drivers/gpio/gpio-siul2-s32cc.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/gpio/gpio-siul2-s32cc.c b/drivers/gpio/gpio-siul2-s32cc.c index e41bc337921ab..d93704af3eefa 100644 --- a/drivers/gpio/gpio-siul2-s32cc.c +++ b/drivers/gpio/gpio-siul2-s32cc.c @@ -550,6 +550,7 @@ static const struct regmap_config siul2_regmap_conf = { .reg_bits = 32, .reg_stride = 4, .cache_type = REGCACHE_FLAT, + .use_raw_spinlock = true, }; static struct regmap *common_regmap_init(struct platform_device *pdev, -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12357): https://lists.yoctoproject.org/g/linux-yocto/message/12357 Mute This Topic: https://lists.yoctoproject.org/mt/98152527/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v5.15/standard/preempt-rt/sdkv5.15/xlnx-soc][PATCH] usb: dwc3: gadget: do cleanup for dwc3_stop_active_transfer
From: Quanyang Wang The cmd_endtransfer has been move to a new function __dwc3_stop_active_transfer in the commit 1536e51c30ada ("usb: dwc3: gadget: move cmd_endtransfer to extra function"), but it is brought back by merging. So delete it to fix compile error. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branches: v5.15/standard/preempt-rt/sdkv5.15/xlnx-soc v5.15/standard/sdkv5.15/xlnx-soc Thanks, Quanyang --- drivers/usb/dwc3/gadget.c | 38 +++--- 1 file changed, 11 insertions(+), 27 deletions(-) diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c index 9e9133ac9ab9b..79ea40f69db70 100644 --- a/drivers/usb/dwc3/gadget.c +++ b/drivers/usb/dwc3/gadget.c @@ -3767,6 +3767,17 @@ void dwc3_stop_active_transfer(struct dwc3_ep *dep, bool force, bool interrupt) (dep->flags & DWC3_EP_END_TRANSFER_PENDING)) return; + if (!interrupt) + dep->flags &= ~DWC3_EP_TRANSFER_STARTED; + else + dep->flags |= DWC3_EP_END_TRANSFER_PENDING; + /* +* when transfer is stopped with force rm bit false, it can be +* restarted by passing resource_index in params; don't loose it +*/ + if (force) + dep->resource_index = 0; + /* * NOTICE: We are violating what the Databook says about the * EndTransfer command. Ideally we would _always_ wait for the @@ -3797,33 +3808,6 @@ void dwc3_stop_active_transfer(struct dwc3_ep *dep, bool force, bool interrupt) * controller to handle the command completely before DWC3 * remove requests attempts to unmap USB request buffers. */ - - cmd = DWC3_DEPCMD_ENDTRANSFER; - cmd |= force ? DWC3_DEPCMD_HIPRI_FORCERM : 0; - cmd |= interrupt ? DWC3_DEPCMD_CMDIOC : 0; - cmd |= DWC3_DEPCMD_PARAM(dep->resource_index); - memset(, 0, sizeof(params)); - ret = dwc3_send_gadget_ep_cmd(dep, cmd, ); - WARN_ON_ONCE(ret); - - /* -* when transfer is stopped with force rm bit false, it can be -* restarted by passing resource_index in params; don't loose it -*/ - if (force) - dep->resource_index = 0; - - if (!interrupt) - dep->flags &= ~DWC3_EP_TRANSFER_STARTED; - else - dep->flags |= DWC3_EP_END_TRANSFER_PENDING; - /* -* when transfer is stopped with force rm bit false, it can be -* restarted by passing resource_index in params; don't loose it -*/ - if (force) - dep->resource_index = 0; - __dwc3_stop_active_transfer(dep, force, interrupt); } -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12353): https://lists.yoctoproject.org/g/linux-yocto/message/12353 Mute This Topic: https://lists.yoctoproject.org/mt/98119766/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto] [yocto-kernel-cache][yocto-5.15][PATCH] xilinx-versal: add cpuidle support for versal platforms
From: Quanyang Wang Enable CONFIG_ARM_PSCI_CPUIDLE to add cpuidle support for versal platforms. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branch: yocto-5.15 Thanks, Quanyang --- bsp/xilinx-versal/xilinx-versal.cfg | 2 ++ 1 file changed, 2 insertions(+) diff --git a/bsp/xilinx-versal/xilinx-versal.cfg b/bsp/xilinx-versal/xilinx-versal.cfg index b55f2e0271..c767699537 100644 --- a/bsp/xilinx-versal/xilinx-versal.cfg +++ b/bsp/xilinx-versal/xilinx-versal.cfg @@ -183,3 +183,5 @@ CONFIG_PERF_EVENTS=y CONFIG_VERSAL_SYSMON=y CONFIG_XILINX_AIE=y + +CONFIG_ARM_PSCI_CPUIDLE=y -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12346): https://lists.yoctoproject.org/g/linux-yocto/message/12346 Mute This Topic: https://lists.yoctoproject.org/mt/98101373/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto] [yocto-kernel-cache][yocto-5.15][PATCH] bsp: aptiv-s32g: align with nxp-s32g kernel cache
From: Quanyang Wang Modify kernel options to align with nxp-s32g. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branch: yocto-5.15 Thanks, Quanyang --- bsp/aptiv-s32g/aptiv-cvc.cfg | 5 + 1 file changed, 5 insertions(+) diff --git a/bsp/aptiv-s32g/aptiv-cvc.cfg b/bsp/aptiv-s32g/aptiv-cvc.cfg index ed985b6dd9..14ad889b97 100644 --- a/bsp/aptiv-s32g/aptiv-cvc.cfg +++ b/bsp/aptiv-s32g/aptiv-cvc.cfg @@ -29,6 +29,10 @@ CONFIG_CPU_FREQ_GOV_USERSPACE=y CONFIG_CPU_FREQ_GOV_ONDEMAND=y CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y +CONFIG_ARM_SCMI_TRANSPORT_SMC_ATOMIC_ENABLE=y +# To keep align with SDK, unset the ARM_SCMI_POWER_DOMAIN config +# CONFIG_ARM_SCMI_POWER_DOMAIN is not set + #CAN CONFIG_CAN=y CONFIG_CAN_VCAN=y @@ -37,6 +41,7 @@ CONFIG_CAN_FLEXCAN=m #Ethernet CONFIG_STMMAC_ETH=y +CONFIG_DWMAC_DWC_QOS_ETH=y #Serial CONFIG_SERIAL_AMBA_PL011=y -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12327): https://lists.yoctoproject.org/g/linux-yocto/message/12327 Mute This Topic: https://lists.yoctoproject.org/mt/97901350/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto] [yocto-kernel-cache][yocto-5.15][PATCH] bsp: aptiv-s32g: adjust kernel options for NXP SDK v5.15
From: Quanyang Wang Modify kernel options to adapt for NXP SDK v5.15 kernel. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branch: yocto-5.15 Thanks, Quanyang --- bsp/aptiv-s32g/aptiv-cvc.cfg | 17 - 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/bsp/aptiv-s32g/aptiv-cvc.cfg b/bsp/aptiv-s32g/aptiv-cvc.cfg index 021e6c5c01..ed985b6dd9 100644 --- a/bsp/aptiv-s32g/aptiv-cvc.cfg +++ b/bsp/aptiv-s32g/aptiv-cvc.cfg @@ -14,12 +14,11 @@ CONFIG_ARM64=y CONFIG_ARCH_S32=y -CONFIG_SOC_S32GEN1=y +CONFIG_SOC_S32CC=y CONFIG_SCHED_MC=y CONFIG_ARM_SMMU=y CONFIG_PINCTRL_S32CC=y -CONFIG_PINCTRL_S32CC_CORE=y CONFIG_CPU_IDLE=y CONFIG_ARM_CPUIDLE=y @@ -38,7 +37,6 @@ CONFIG_CAN_FLEXCAN=m #Ethernet CONFIG_STMMAC_ETH=y -CONFIG_BCM89XXX_PHY=y #Serial CONFIG_SERIAL_AMBA_PL011=y @@ -63,7 +61,7 @@ CONFIG_PCIE_DW_PLAT_HOST=y CONFIG_PCI_ENDPOINT=y CONFIG_PCIE_DW_PLAT_EP=y CONFIG_PCIEAER=y -CONFIG_PCI_S32GEN1=y +CONFIG_PCI_S32CC=y #USB CONFIG_USB=y @@ -116,17 +114,17 @@ CONFIG_INPUT_UINPUT=y # Thermal CONFIG_THERMAL=y -CONFIG_S32GEN1_THERMAL=y +CONFIG_S32CC_THERMAL=y # ADC CONFIG_IIO=y -CONFIG_S32_ADC=m +CONFIG_S32CC_ADC=m # PWM CONFIG_PWM=y CONFIG_PWM_FSL_FTM=m -CONFIG_FCCU=y +CONFIG_S32CC_FCCU=y CONFIG_GPIOLIB=y CONFIG_OF_GPIO=y @@ -138,7 +136,7 @@ CONFIG_SPI_FSL_QUADSPI=y #RTC CONFIG_RTC_CLASS=y -CONFIG_RTC_DRV_S32GEN1=y +CONFIG_RTC_DRV_S32CC=y #I2C CONFIG_I2C=y @@ -147,11 +145,12 @@ CONFIG_I2C_IMX=m # Watchdog # We need keep this driver built-in since rmmod will trigger reboot -CONFIG_SAC58R_WDT=y +CONFIG_S32CC_WDT=y #NVME CONFIG_BLK_DEV_NVME=y CONFIG_NVME_TARGET=y +CONFIG_NVMEM_S32CC_SIUL2=y # Regulator configuration CONFIG_REGULATOR=y -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12312): https://lists.yoctoproject.org/g/linux-yocto/message/12312 Mute This Topic: https://lists.yoctoproject.org/mt/97818782/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH 3/4] dts: s32cc: usb phy driver switch to ulpi generic
From: Quanyang Wang Since a new usb phy driver for ulpi otg phys is introduced, we switch to it instead of using "Nop USB Transceiver driver". This is because that we shouldn't rely on the usb phy initialization in u-boot. Signed-off-by: Quanyang Wang Signed-off-by: Bruce Ashfield --- arch/arm64/boot/dts/freescale/s32gxxxa-evb.dtsi | 10 +++--- arch/arm64/boot/dts/freescale/s32gxxxa-rdb.dtsi | 10 +++--- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/arch/arm64/boot/dts/freescale/s32gxxxa-evb.dtsi b/arch/arm64/boot/dts/freescale/s32gxxxa-evb.dtsi index 3bba371ba0101..331f6aed32643 100644 --- a/arch/arm64/boot/dts/freescale/s32gxxxa-evb.dtsi +++ b/arch/arm64/boot/dts/freescale/s32gxxxa-evb.dtsi @@ -10,8 +10,12 @@ chosen { stdout-path = "serial0:115200n8"; }; - usbphynop: usbphynop { - compatible = "usb-nop-xceiv"; + usbphyulpi: usbphyulpi { + compatible = "nxp,saf1508", "usb-phy-ulpi-generic"; + /* ULPI_OTG_ID_PULLUP | ULPI_OTG_DRVVBUS_EXT | ULPI_OTG_EXTVBUSIND | +* ULPI_IC_IND_PASSTHRU | ULPI_IC_EXTVBUS_INDINV +*/ + usb-ulpi-flags = <0x60C1>; #phy-cells = <0>; }; }; @@ -23,7 +27,7 @@ { { pinctrl-names = "default"; pinctrl-0 = <_pins>; - fsl,usbphy = <>; + fsl,usbphy = <>; status = "okay"; }; diff --git a/arch/arm64/boot/dts/freescale/s32gxxxa-rdb.dtsi b/arch/arm64/boot/dts/freescale/s32gxxxa-rdb.dtsi index afe8a5cea3e16..defff5441f4dc 100644 --- a/arch/arm64/boot/dts/freescale/s32gxxxa-rdb.dtsi +++ b/arch/arm64/boot/dts/freescale/s32gxxxa-rdb.dtsi @@ -12,8 +12,12 @@ chosen { stdout-path = "serial0:115200n8"; }; - usbphynop: usbphynop { - compatible = "usb-nop-xceiv"; + usbphyulpi: usbphyulpi { + compatible = "nxp,saf1508", "usb-phy-ulpi-generic"; + /* ULPI_OTG_ID_PULLUP | ULPI_OTG_DRVVBUS_EXT | ULPI_OTG_EXTVBUSIND | +* ULPI_IC_IND_PASSTHRU | ULPI_IC_EXTVBUS_INDINV +*/ + usb-ulpi-flags = <0x60C1>; #phy-cells = <0>; }; }; @@ -980,7 +984,7 @@ { { pinctrl-names = "default"; pinctrl-0 = <_pins>; - fsl,usbphy = <>; + fsl,usbphy = <>; status = "okay"; }; -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12310): https://lists.yoctoproject.org/g/linux-yocto/message/12310 Mute This Topic: https://lists.yoctoproject.org/mt/97817798/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH 4/4] nxp-s32g: usb: chipedea: add ulpi usb phy support
From: Quanyang Wang Add initialization for the structure usb_phy. And a series of operations "flush-stop-reset" is needed so that we can access usb phy via ULPI interface. And otg_set_vbus is called after the host mode is determined because we need call ulpi_set_vbus to set vbus via it. Signed-off-by: Quanyang Wang Signed-off-by: Bruce Ashfield --- drivers/usb/chipidea/core.c | 12 1 file changed, 12 insertions(+) diff --git a/drivers/usb/chipidea/core.c b/drivers/usb/chipidea/core.c index 1fbcc3e1d3689..df3298c3eb766 100644 --- a/drivers/usb/chipidea/core.c +++ b/drivers/usb/chipidea/core.c @@ -216,6 +216,7 @@ static void ci_hdrc_enter_lpm(struct ci_hdrc *ci, bool enable) static int hw_device_init(struct ci_hdrc *ci, void __iomem *base) { u32 reg; + int ret; /* bank is a module variable */ ci->hw_bank.abs = base; @@ -241,6 +242,15 @@ static int hw_device_init(struct ci_hdrc *ci, void __iomem *base) if (ci->hw_ep_max > ENDPT_MAX) return -ENODEV; + /* should flush & stop before reset */ + hw_write(ci, OP_ENDPTFLUSH, ~0, ~0); + hw_write(ci, OP_USBCMD, USBCMD_RS, 0); + ret = hw_controller_reset(ci); + if (ret) { + dev_err(ci->dev, "error resetting controller, ret=%d\n", ret); + return ret; + } + ci_hdrc_enter_lpm(ci, false); /* Disable all interrupts bits */ @@ -1090,6 +1100,7 @@ static int ci_hdrc_probe(struct platform_device *pdev) ci->phy = ci->platdata->phy; } else if (ci->platdata->usb_phy) { ci->usb_phy = ci->platdata->usb_phy; + ci->usb_phy->io_priv = ci->hw_bank.regmap[OP_ULPI_VIEWPORT]; } else { /* Look for a generic PHY first */ ci->phy = devm_phy_get(dev->parent, "usb-phy"); @@ -1160,6 +1171,7 @@ static int ci_hdrc_probe(struct platform_device *pdev) else goto deinit_phy; } + otg_set_vbus(ci->usb_phy->otg, true); } if (dr_mode == USB_DR_MODE_OTG || dr_mode == USB_DR_MODE_PERIPHERAL) { -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12311): https://lists.yoctoproject.org/g/linux-yocto/message/12311 Mute This Topic: https://lists.yoctoproject.org/mt/97817799/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH 2/4] usb: phy: ulpi-generic: add generic ulpi usb phy driver
From: Quanyang Wang This driver is for generic ulpi usb phys. Signed-off-by: Quanyang Wang Signed-off-by: Bruce Ashfield --- drivers/usb/phy/Kconfig| 8 drivers/usb/phy/Makefile | 1 + drivers/usb/phy/phy-ulpi-generic.c | 76 ++ 3 files changed, 85 insertions(+) create mode 100644 drivers/usb/phy/phy-ulpi-generic.c diff --git a/drivers/usb/phy/Kconfig b/drivers/usb/phy/Kconfig index 52eebcb88c1fd..d602269019e60 100644 --- a/drivers/usb/phy/Kconfig +++ b/drivers/usb/phy/Kconfig @@ -62,6 +62,14 @@ config NOP_USB_XCEIV built-in with usb ip or which are autonomous and doesn't require any phy programming such as ISP1x04 etc. +config USB_ULPI_GENERIC + tristate "USB ULPI Generic Transceiver Driver" + depends on USB_GADGET || !USB_GADGET # if USB_GADGET=m, NOP can't be built-in + select USB_ULPI + select USB_PHY + help + This driver is for USB ulpi phys. + config AM335X_CONTROL_USB tristate diff --git a/drivers/usb/phy/Makefile b/drivers/usb/phy/Makefile index b352bdbe87121..02337f143fd01 100644 --- a/drivers/usb/phy/Makefile +++ b/drivers/usb/phy/Makefile @@ -25,3 +25,4 @@ obj-$(CONFIG_USB_ULPI)+= phy-ulpi.o obj-$(CONFIG_USB_ULPI_VIEWPORT)+= phy-ulpi-viewport.o obj-$(CONFIG_KEYSTONE_USB_PHY) += phy-keystone.o obj-$(CONFIG_JZ4770_PHY) += phy-jz4770.o +obj-$(CONFIG_USB_ULPI_GENERIC) += phy-ulpi-generic.o diff --git a/drivers/usb/phy/phy-ulpi-generic.c b/drivers/usb/phy/phy-ulpi-generic.c new file mode 100644 index 0..a54512a4e1b27 --- /dev/null +++ b/drivers/usb/phy/phy-ulpi-generic.c @@ -0,0 +1,76 @@ +#include +#include +#include +#include + +static int ulpi_generic_probe(struct platform_device *pdev) +{ + struct usb_phy *phy; + int flags = 0; + int ret; + + ret = of_property_read_u32(pdev->dev.of_node, "usb-ulpi-flags", ); + if (ret) { + dev_warn(>dev, "No usb-ulpi-flags property!\n"); + } + + phy = devm_otg_ulpi_create(>dev, _viewport_access_ops, flags); + if (!phy) { + dev_err(>dev, "Failed to create ULPI OTG phy.\n"); + return -ENOMEM; + } + + phy->dev = >dev; + + ret = usb_add_phy_dev(phy); + if (ret) { + dev_err(>dev, "Failed to add ULPI OTG phy.\n"); + return ret; + } + + platform_set_drvdata(pdev, phy); + + return 0; +} + +static int ulpi_generic_remove(struct platform_device *pdev) +{ + struct usb_phy *phy = platform_get_drvdata(pdev); + + usb_remove_phy(phy); + + return 0; +} + +static const struct of_device_id generic_ulpi_dt_ids[] = { + { .compatible = "usb-phy-ulpi-generic" }, + { } +}; + +MODULE_DEVICE_TABLE(of, generic_ulpi_dt_ids); + +static struct platform_driver ulpi_generic_driver = { + .probe = ulpi_generic_probe, + .remove = ulpi_generic_remove, + .driver = { + .name = "usb_phy_ulpi_generic", + .of_match_table = generic_ulpi_dt_ids, + }, +}; + +static int __init ulpi_generic_init(void) +{ + return platform_driver_register(_generic_driver); +} +subsys_initcall(ulpi_generic_init); + +static void __exit ulpi_generic_exit(void) +{ + platform_driver_unregister(_generic_driver); +} +module_exit(ulpi_generic_exit); + +MODULE_ALIAS("platform:usb_phy_ulpi_generic"); +MODULE_AUTHOR("Wind River Systems Inc"); +MODULE_DESCRIPTION("Generic ULPI PHY Transceiver driver"); +MODULE_LICENSE("GPL"); -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12309): https://lists.yoctoproject.org/g/linux-yocto/message/12309 Mute This Topic: https://lists.yoctoproject.org/mt/97817797/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH 1/4] usb: phy: Add ulpi IDs for NXP SAF1508 and ST STULPI01A
From: Quanyang Wang Add new ulpi IDs which are available on S32G-EVB and Aptiv boards. Signed-off-by: Quanyang Wang Signed-off-by: Bruce Ashfield --- drivers/usb/phy/phy-ulpi.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/usb/phy/phy-ulpi.c b/drivers/usb/phy/phy-ulpi.c index e683a37e3a7a2..cbf3fb1a1d477 100644 --- a/drivers/usb/phy/phy-ulpi.c +++ b/drivers/usb/phy/phy-ulpi.c @@ -37,6 +37,8 @@ static struct ulpi_info ulpi_ids[] = { ULPI_INFO(ULPI_ID(0x0424, 0x0007), "SMSC USB3320"), ULPI_INFO(ULPI_ID(0x0424, 0x0009), "SMSC USB334x"), ULPI_INFO(ULPI_ID(0x0451, 0x1507), "TI TUSB1210"), + ULPI_INFO(ULPI_ID(0x04cc, 0x1508), "NXP SAF1508"), + ULPI_INFO(ULPI_ID(0x0483, 0x4f4b), "ST STULPI01A"), }; static int ulpi_set_otg_flags(struct usb_phy *phy) -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12308): https://lists.yoctoproject.org/g/linux-yocto/message/12308 Mute This Topic: https://lists.yoctoproject.org/mt/97817796/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH 0/4]
From: Quanyang Wang Hi Bruce, Would you please help merge these 4 patches to the branches: v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g v5.15/standard/nxp-sdk-5.15/nxp-s32g Thanks, Quanyang Quanyang Wang (4): usb: phy: Add ulpi IDs for NXP SAF1508 and ST STULPI01A usb: phy: ulpi-generic: add generic ulpi usb phy driver dts: s32cc: usb phy driver switch to ulpi generic nxp-s32g: usb: chipedea: add ulpi usb phy support .../boot/dts/freescale/s32gxxxa-evb.dtsi | 10 ++- .../boot/dts/freescale/s32gxxxa-rdb.dtsi | 10 ++- drivers/usb/chipidea/core.c | 12 +++ drivers/usb/phy/Kconfig | 8 ++ drivers/usb/phy/Makefile | 1 + drivers/usb/phy/phy-ulpi-generic.c| 76 +++ drivers/usb/phy/phy-ulpi.c| 2 + 7 files changed, 113 insertions(+), 6 deletions(-) create mode 100644 drivers/usb/phy/phy-ulpi-generic.c -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12307): https://lists.yoctoproject.org/g/linux-yocto/message/12307 Mute This Topic: https://lists.yoctoproject.org/mt/97817795/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH 11/11] dts: Aptiv-FL: disable flexcan3
From: Quanyang Wang The flexcan3 is used by Autosar running at M7 core. So disable it in linux for Aptiv FL board. Signed-off-by: Quanyang Wang Signed-off-by: Bruce Ashfield --- arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi b/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi index 02cf6074262e4..961ba2ec13581 100644 --- a/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi +++ b/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi @@ -213,7 +213,7 @@ { { pinctrl-names = "default"; pinctrl-0 = <_pins>; - status = "okay"; + status = "disabled"; }; { -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12299): https://lists.yoctoproject.org/g/linux-yocto/message/12299 Mute This Topic: https://lists.yoctoproject.org/mt/97796780/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH 07/11] dts: Aptiv-FL: add dts file for Aptiv CVC-FL board
From: Quanyang Wang This patch comes from the patch: meta-cvc-fl/recipes-kernel/linux/linux-s32/0001-ESL-427-Linux-S32-cvc-support+cleanup.patch Modifications as below: 1. Change usb phy from "usb-nop-xceiv" to "usb-phy-ulpi-generic". 2. Add "can17_19_en-hog" to enable can17~19. 3. Add "can0-stb-hog" and "can0-en-hog" to enable can0. Signed-off-by: Quanyang Wang Signed-off-by: Bruce Ashfield --- arch/arm64/boot/dts/freescale/Makefile| 1 + .../boot/dts/freescale/s32g399a-cvc-fl.dts| 28 + .../boot/dts/freescale/s32gxxxa-cvc-fl.dtsi | 912 ++ 3 files changed, 941 insertions(+) create mode 100644 arch/arm64/boot/dts/freescale/s32g399a-cvc-fl.dts create mode 100644 arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile index cd96d3ba7140d..9e877ad609d56 100644 --- a/arch/arm64/boot/dts/freescale/Makefile +++ b/arch/arm64/boot/dts/freescale/Makefile @@ -90,3 +90,4 @@ dtb-$(CONFIG_ARCH_S32) += s32g399a-emu.dtb dtb-$(CONFIG_ARCH_S32) += s32r45-evb.dtb dtb-$(CONFIG_ARCH_S32) += s32r45-emu.dtb dtb-$(CONFIG_ARCH_S32) += s32v234-evb.dtb +dtb-$(CONFIG_ARCH_S32) += s32g399a-cvc-fl.dtb diff --git a/arch/arm64/boot/dts/freescale/s32g399a-cvc-fl.dts b/arch/arm64/boot/dts/freescale/s32g399a-cvc-fl.dts new file mode 100644 index 0..994f80a736ee4 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/s32g399a-cvc-fl.dts @@ -0,0 +1,28 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * Copyright 2021 NXP + */ + +/dts-v1/; +#include "s32g3.dtsi" +#include "s32gxxxa-cvc-fl.dtsi" +/ { + model = "Freescale S32G399A"; + compatible = "fsl,s32g399", "arm,vexpress"; +}; + + { + status = "okay"; +}; + + { + status = "okay"; +}; + + { + status = "okay"; +}; + + { + status = "okay"; +}; diff --git a/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi b/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi new file mode 100644 index 0..a91e466dbc272 --- /dev/null +++ b/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi @@ -0,0 +1,912 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * Copyright 2019-2021 NXP + */ +#include + +/ { + chosen { + stdout-path = "serial0:115200n8"; + }; + + usbphyulpi: usbphyulpi { + compatible = "nxp,saf1508", "usb-phy-ulpi-generic"; + /* ULPI_OTG_ID_PULLUP | ULPI_OTG_DRVVBUS_EXT | ULPI_OTG_EXTVBUSIND | +* ULPI_IC_IND_PASSTHRU | ULPI_IC_EXTVBUS_INDINV +*/ + usb-ulpi-flags = <0x60C1>; + #phy-cells = <0>; + }; +}; + + { + status = "okay"; +}; + + { + pinctrl-names = "default"; + pinctrl-0 = <_pins>; + fsl,usbphy = <>; + status = "okay"; +}; + + { + status = "okay"; +}; + + { + status = "okay"; + phy-mode = "rgmii"; + phy-handle = <_mdio_c_phy19>; + pinctrl-names = "default"; + pinctrl-0 = <_pins>, <_pins>; +}; + +_mdio { + /* SJA SW */ + gmac0_mdio_c_phy19: ethernet-phy@19 { + #address-cells = <1>; + #size-cells = <0>; + reg = <19>; + }; +}; + + { + status = "okay"; +}; + +_netif0 { + status = "okay"; + phy-handle = <_phy8>; + fixed-link { + speed = <1000>; + full-duplex; + }; +}; + +_netif1 { + status = "okay"; + phy-handle = <_rtl_sw>; + fixed-link { + speed = <1000>; + full-duplex; + }; +}; + +_netif2 { + status = "okay"; + phy-mode = "sgmii"; + phy-handle = <_phy7>; + fixed-link { + speed = <1000>; + full-duplex; + }; +}; + + { + can0-stb-hog { + gpio-hog; + gpios = <24 GPIO_ACTIVE_HIGH>; + output-high; + line-name = "can0_stb"; + }; + can0-en-hog { + gpio-hog; + gpios = <9 GPIO_ACTIVE_HIGH>; + output-high; + line-name = "can0_en"; + }; +}; + +_mdio0 { + status = "okay"; + /* RTL9010 */ + mdio0_phy8: ethernet-phy@1 { + compatible = "ethernet-phy-ieee802.3-c22"; + #address-cells = <1>; + #size-cells = <0>; + reg = <1>; + }; + +}; + +_mdio1 { + status = "okay"; + /* RTL9075 */ + mdio1_rtl_sw: ethernet-phy@24 { + compatible = "ethernet-phy-ieee802.3-c22"; + #address-cells = <1>; + #size-cells = <0>; + reg = <24>; + }; +}; + +_mdio2 { + status = "okay"; + /* RTL9010 */ + mdio2_phy7: ethernet-phy@1 { + compatible = "ethernet-phy-ieee802.3-c22"; + #address-cells = <1>; + #size-cells = <0>; + reg = <1>; + }; +}; + +_timer { +
[linux-yocto][v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH 10/11] dts: Aptiv: disable flexcan3
From: Quanyang Wang The flexcan3 is used by Autosar running at M7 core. So disable it in linux for Aptiv Sousa board. Signed-off-by: Quanyang Wang Signed-off-by: Bruce Ashfield --- arch/arm64/boot/dts/freescale/s32g274a-aptiv.dts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/freescale/s32g274a-aptiv.dts b/arch/arm64/boot/dts/freescale/s32g274a-aptiv.dts index 14cf48d972f80..fc4c16131f8dc 100644 --- a/arch/arm64/boot/dts/freescale/s32g274a-aptiv.dts +++ b/arch/arm64/boot/dts/freescale/s32g274a-aptiv.dts @@ -171,7 +171,7 @@ { { pinctrl-names = "default"; pinctrl-0 = <_pins>; - status = "okay"; + status = "disabled"; }; { -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12298): https://lists.yoctoproject.org/g/linux-yocto/message/12298 Mute This Topic: https://lists.yoctoproject.org/mt/97796779/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH 09/11] dts: Aptiv-FL: add correct pinctrls for pfe interfaces for Aptiv-FL board
From: Quanyang Wang Add pinctrls for pfe0/1/2 interfaces for Aptiv-FL board. Note that RTL9010 phys need to be configured at u-boot. This patch comes from: meta-cvc-fl/recipes-kernel/linux/linux-s32/0001-ESL-427-Linux-S32-cvc-support+cleanup.patch Signed-off-by: Quanyang Wang Signed-off-by: Bruce Ashfield --- .../boot/dts/freescale/s32gxxxa-cvc-fl.dtsi | 136 +- 1 file changed, 38 insertions(+), 98 deletions(-) diff --git a/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi b/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi index 1a868eec29b7d..02cf6074262e4 100644 --- a/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi +++ b/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi @@ -59,6 +59,7 @@ { _netif0 { status = "okay"; + phy-mode = "sgmii"; phy-handle = <_phy8>; fixed-link { speed = <1000>; @@ -68,6 +69,7 @@ fixed-link { _netif1 { status = "okay"; + phy-mode = "sgmii"; phy-handle = <_rtl_sw>; fixed-link { speed = <1000>; @@ -102,6 +104,9 @@ can0-en-hog { _mdio0 { status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <_pins>; + /* RTL9010 */ mdio0_phy8: ethernet-phy@1 { compatible = "ethernet-phy-ieee802.3-c22"; @@ -109,11 +114,13 @@ mdio0_phy8: ethernet-phy@1 { #size-cells = <0>; reg = <1>; }; - }; _mdio1 { status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <_pins>; + /* RTL9075 */ mdio1_rtl_sw: ethernet-phy@24 { compatible = "ethernet-phy-ieee802.3-c22"; @@ -125,6 +132,9 @@ mdio1_rtl_sw: ethernet-phy@24 { _mdio2 { status = "okay"; + pinctrl-names = "default"; + pinctrl-0 = <_pins>; + /* RTL9010 */ mdio2_phy7: ethernet-phy@1 { compatible = "ethernet-phy-ieee802.3-c22"; @@ -530,67 +540,6 @@ usbotg_grp3 { }; - pfe2mdioa_pins: pfe2mdioa { - pfe2mdioa_grp0 { - pinmux = ; - output-enable; - slew-rate = ; - }; - - pfe2mdioa_grp1 { - pinmux = ; - output-enable; - input-enable; - slew-rate = ; - }; - - pfe2mdioa_grp2 { - pinmux = ; - }; - - }; - - pfe2rgmiia_pins: pfe2rgmiia { - pfe2rgmiia_grp0 { - pinmux = , -, -, -, -; - output-enable; - slew-rate = ; - }; - - pfe2rgmiia_grp1 { - pinmux = , -, -, -, -, -; - input-enable; - slew-rate = ; - }; - - pfe2rgmiia_grp2 { - pinmux = , -, -, -, -, -, -; - }; - - pfe2rgmiia_grp3 { - pinmux = ; - output-enable; - slew-rate = ; - bias-pull-up; - }; - - }; - gmac0mdioc_pins: gmac0mdioc { gmac0mdioc_grp0 { pinmux = ; @@ -652,70 +601,61 @@ gmac0rgmiic_grp3 { }; - pfe1mdioc_pins: pfe1mdioc { - pfe1mdioc_grp0 { - pinmux = ; + pfe0mdio_pins: pfe0mdio { + pfe0mdio_grp0 { + pinmux = ; output-enable; slew-rate = ; }; - pfe1mdioc_grp1 { - pinmux = ; + pfe0mdio_grp1 { + pinmux = ; output-enable; input-enable; slew-rate = ; }; - pfe1mdioc_grp2 { - pinmux = ; + pfe0mdio_grp2 { + pinmux = ; }; - }; - pfe1rgmiic_pins: pfe1rgmiic { - pfe1rgmiic_grp0 { - pinmux = ; + pfe1mdio_pins: pfe1mdio { + pfe1mdio_grp0 { + pinmux = ; output-enable; slew-rate = ; - bias-pull-up; }; - pfe1rgmiic_grp1 { -
[linux-yocto][v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH 08/11] dts: Aptiv-FL: disable unsupported device nodes
From: Quanyang Wang The device nodes of "qspi" and "gmac0" are not supported in linux, so we need to disable them to eliminate error log while booting. Signed-off-by: Quanyang Wang Signed-off-by: Bruce Ashfield --- arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi b/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi index a91e466dbc272..1a868eec29b7d 100644 --- a/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi +++ b/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi @@ -31,11 +31,13 @@ { }; { - status = "okay"; + /* We don't support HyperFlash in linux */ + status = "disabled"; }; { - status = "okay"; + /* Before enabling SJA1110, set it to be "disabled" */ + status = "disabled"; phy-mode = "rgmii"; phy-handle = <_mdio_c_phy19>; pinctrl-names = "default"; -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12295): https://lists.yoctoproject.org/g/linux-yocto/message/12295 Mute This Topic: https://lists.yoctoproject.org/mt/97796776/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH 06/11] dts: Aptiv: add s32g274a-aptiv-pfems.dts to enable pfe slave mode
From: Quanyang Wang Simply copied from s32g2xxa-evb-pfems.dts. Signed-off-by: Quanyang Wang Signed-off-by: Bruce Ashfield --- .../dts/freescale/s32g274a-aptiv-pfems.dts| 21 +++ 1 file changed, 21 insertions(+) create mode 100644 arch/arm64/boot/dts/freescale/s32g274a-aptiv-pfems.dts diff --git a/arch/arm64/boot/dts/freescale/s32g274a-aptiv-pfems.dts b/arch/arm64/boot/dts/freescale/s32g274a-aptiv-pfems.dts new file mode 100644 index 0..1518f27028f6a --- /dev/null +++ b/arch/arm64/boot/dts/freescale/s32g274a-aptiv-pfems.dts @@ -0,0 +1,21 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * Copyright 2019-2020 NXP + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + */ + +/dts-v1/; +#include "s32g274a-aptiv.dts" +#include "s32g-pfe-slave.dtsi" + +_aux0 { + status = "okay"; +}; + +_aux0 { + status = "okay"; +}; -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12296): https://lists.yoctoproject.org/g/linux-yocto/message/12296 Mute This Topic: https://lists.yoctoproject.org/mt/97796777/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH 02/11] dts: Aptiv: enable CAN0_STB and CAN0_EN pullup
From: Quanyang Wang This patch is based on the file 0001-enable-CAN0_STB-pullup.patch at layer meta-aptiv/recipes-aptiv/linux-s32/files/. Signed-off-by: Olaf Benninghaus [Quanyang: add pull-up of GPIO9 for CAN0_EN.] Signed-off-by: Quanyang Wang Signed-off-by: Bruce Ashfield --- arch/arm64/boot/dts/freescale/s32g274a-aptiv.dts | 12 1 file changed, 12 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/s32g274a-aptiv.dts b/arch/arm64/boot/dts/freescale/s32g274a-aptiv.dts index 2432ea6d7d84b..a92f23353f11a 100644 --- a/arch/arm64/boot/dts/freescale/s32g274a-aptiv.dts +++ b/arch/arm64/boot/dts/freescale/s32g274a-aptiv.dts @@ -174,6 +174,18 @@ can0_grp1 { can0_grp2 { pinmux = ; }; + + can0_stb_grp0 { + pinmux = ; + bias-pull-up; + slew-rate = ; + }; + + can0_en_grp0 { + pinmux = ; + bias-pull-up; + slew-rate = ; + }; }; can1_pins: can1 { -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12291): https://lists.yoctoproject.org/g/linux-yocto/message/12291 Mute This Topic: https://lists.yoctoproject.org/mt/97796772/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH 05/11] dts: Aptiv: disable dma coherent for pfe for cut 1.1 compat
From: Quanyang Wang This patch comes from: meta-aptiv/recipes-aptiv/linux-s32/files/0001-disable-dma-coherent-for-pfe-for-cut-1.1-compat.patch Signed-off-by: Quanyang Wang Signed-off-by: Bruce Ashfield --- arch/arm64/boot/dts/freescale/s32g274a-aptiv.dts | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm64/boot/dts/freescale/s32g274a-aptiv.dts b/arch/arm64/boot/dts/freescale/s32g274a-aptiv.dts index 4201443d81611..14cf48d972f80 100644 --- a/arch/arm64/boot/dts/freescale/s32g274a-aptiv.dts +++ b/arch/arm64/boot/dts/freescale/s32g274a-aptiv.dts @@ -41,6 +41,7 @@ { { status = "okay"; + /delete-property/ dma-coherent; }; _mdio0 { -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12293): https://lists.yoctoproject.org/g/linux-yocto/message/12293 Mute This Topic: https://lists.yoctoproject.org/mt/97796774/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH 04/11] dts: Aptiv: enable pfe relevant device nodes
From: Quanyang Wang Set "status" properties of pfe relevant device nodes to be "okay" to enable these devices. Signed-off-by: Quanyang Wang Signed-off-by: Bruce Ashfield --- .../boot/dts/freescale/s32g274a-aptiv.dts | 42 +++ 1 file changed, 42 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/s32g274a-aptiv.dts b/arch/arm64/boot/dts/freescale/s32g274a-aptiv.dts index d711a07e25698..4201443d81611 100644 --- a/arch/arm64/boot/dts/freescale/s32g274a-aptiv.dts +++ b/arch/arm64/boot/dts/freescale/s32g274a-aptiv.dts @@ -39,6 +39,48 @@ { status = "okay"; }; + { + status = "okay"; +}; + +_mdio0 { + status = "okay"; +}; + +_mdio1 { + /* unused */ + status = "okay"; +}; + +_mdio2 { + /* unused */ + status = "okay"; +}; + +_netif0 { + phy-mode = "sgmii"; + fixed-link { + speed = <1000>; + full-duplex; + }; +}; + +_netif1 { + phy-mode = "sgmii"; + fixed-link { + speed = <1000>; + full-duplex; + }; +}; + +_netif2 { + phy-mode = "sgmii"; + fixed-link { + speed = <1000>; + full-duplex; + }; +}; + { status = "okay"; phy-mode = "rgmii"; -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12292): https://lists.yoctoproject.org/g/linux-yocto/message/12292 Mute This Topic: https://lists.yoctoproject.org/mt/97796773/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH 00/11]
From: Quanyang Wang Hi Bruce, Would you please help merge these 11 patches to the branches: v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g v5.15/standard/nxp-sdk-5.15/nxp-s32g Thanks, Quanyang Olaf Benninghaus (1): dts: Aptiv: Add new dts for Aptiv CVC board Quanyang Wang (10): dts: Aptiv: enable CAN0_STB and CAN0_EN pullup dts: Aptiv: enable flexcan1~3 dts: Aptiv: enable pfe relevant device nodes dts: Aptiv: disable dma coherent for pfe for cut 1.1 compat dts: Aptiv: add s32g274a-aptiv-pfems.dts to enable pfe slave mode dts: Aptiv-FL: add dts file for Aptiv CVC-FL board dts: Aptiv-FL: disable unsupported device nodes dts: Aptiv-FL: add correct pinctrls for pfe interfaces for Aptiv-FL board dts: Aptiv: disable flexcan3 dts: Aptiv-FL: disable flexcan3 arch/arm64/boot/dts/freescale/Makefile| 2 + .../dts/freescale/s32g274a-aptiv-pfems.dts| 21 + .../boot/dts/freescale/s32g274a-aptiv.dts | 833 + .../boot/dts/freescale/s32g399a-cvc-fl.dts| 28 + .../boot/dts/freescale/s32gxxxa-cvc-fl.dtsi | 854 ++ 5 files changed, 1738 insertions(+) create mode 100644 arch/arm64/boot/dts/freescale/s32g274a-aptiv-pfems.dts create mode 100644 arch/arm64/boot/dts/freescale/s32g274a-aptiv.dts create mode 100644 arch/arm64/boot/dts/freescale/s32g399a-cvc-fl.dts create mode 100644 arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12288): https://lists.yoctoproject.org/g/linux-yocto/message/12288 Mute This Topic: https://lists.yoctoproject.org/mt/97796768/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH 03/11] dts: Aptiv: enable flexcan1~3
From: Quanyang Wang Add pinctrl assignment for flexcan3. And the pin CAN17_19_EN which is wired out from TCA9539's pin[13], add a device-tree node s32g_can17_19_en to enable CAN17~19 which correspond flexcan1~3. Signed-off-by: Quanyang Wang Signed-off-by: Bruce Ashfield --- .../boot/dts/freescale/s32g274a-aptiv.dts | 31 +++ 1 file changed, 31 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/s32g274a-aptiv.dts b/arch/arm64/boot/dts/freescale/s32g274a-aptiv.dts index a92f23353f11a..d711a07e25698 100644 --- a/arch/arm64/boot/dts/freescale/s32g274a-aptiv.dts +++ b/arch/arm64/boot/dts/freescale/s32g274a-aptiv.dts @@ -71,6 +71,12 @@ tca9539_74: tca9539@74 { // GPIO EXPANDER #gpio-cells = <2>; reg = <0x74>; status = "okay"; + + reg_s32g_can17_19_en:s32g_can17_19_en { + gpio-hog; + gpios = <13 GPIO_ACTIVE_HIGH>; + output-high; + }; }; }; @@ -119,6 +125,12 @@ { status = "okay"; }; + { + pinctrl-names = "default"; + pinctrl-0 = <_pins>; + status = "okay"; +}; + { status = "okay"; }; @@ -226,6 +238,25 @@ can2_grp2 { }; + can3_pins: can3 { + can3_grp0 { + pinmux = ; + output-enable; + slew-rate = ; + }; + + can3_grp1 { + pinmux = ; + input-enable; + slew-rate = ; + }; + + can3_grp2 { + pinmux = ; + }; + + }; + dspi1_pins: dspi1 { dspi1_grp0 { pinmux = ; -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12290): https://lists.yoctoproject.org/g/linux-yocto/message/12290 Mute This Topic: https://lists.yoctoproject.org/mt/97796771/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v5.15/standard/preempt-rt/nxp-sdk-5.15/nxp-s32g][PATCH 01/11] dts: Aptiv: Add new dts for Aptiv CVC board
From: Olaf Benninghaus Add new dts file for Aptiv CVC board. And this patch is based on: recipes-kernel/linux-s32/files/fsl-s32g274a-aptiv.dts Signed-off-by: Olaf Benninghaus Signed-off-by: Quanyang Wang Signed-off-by: Bruce Ashfield --- arch/arm64/boot/dts/freescale/Makefile| 1 + .../boot/dts/freescale/s32g274a-aptiv.dts | 747 ++ 2 files changed, 748 insertions(+) create mode 100644 arch/arm64/boot/dts/freescale/s32g274a-aptiv.dts diff --git a/arch/arm64/boot/dts/freescale/Makefile b/arch/arm64/boot/dts/freescale/Makefile index 7e9a9b79c532e..cd96d3ba7140d 100644 --- a/arch/arm64/boot/dts/freescale/Makefile +++ b/arch/arm64/boot/dts/freescale/Makefile @@ -71,6 +71,7 @@ dtb-$(CONFIG_ARCH_MXC) += imx8qxp-colibri-eval-v3.dtb dtb-$(CONFIG_ARCH_MXC) += imx8qxp-mek.dtb dtb-$(CONFIG_ARCH_S32) += s32g274a-bluebox3.dtb +dtb-$(CONFIG_ARCH_S32) += s32g274a-aptiv.dtb dtb-$(CONFIG_ARCH_S32) += s32g2xxa-evb.dtb dtb-$(CONFIG_ARCH_S32) += s32g2xxa-evb-pfems.dtb dtb-$(CONFIG_ARCH_S32) += s32g2xxa-evb3.dtb diff --git a/arch/arm64/boot/dts/freescale/s32g274a-aptiv.dts b/arch/arm64/boot/dts/freescale/s32g274a-aptiv.dts new file mode 100644 index 0..2432ea6d7d84b --- /dev/null +++ b/arch/arm64/boot/dts/freescale/s32g274a-aptiv.dts @@ -0,0 +1,747 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * Copyright 2019-2020 NXP + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + */ + +/dts-v1/; +#include "s32g2.dtsi" +#include + +/ { + model = "Aptiv S32G274 CVC"; + chosen { + stdout-path = "serial0:115200n8"; + }; + + usbphyulpi: usbphyulpi { + compatible = "nxp,saf1508", "usb-phy-ulpi-generic"; + /* ULPI_OTG_ID_PULLUP | ULPI_OTG_DRVVBUS_EXT | ULPI_OTG_EXTVBUSIND | +* ULPI_IC_IND_PASSTHRU | ULPI_IC_EXTVBUS_INDINV +*/ + usb-ulpi-flags = <0x60C1>; + #phy-cells = <0>; + }; +}; + + { + status = "okay"; +}; + + { + pinctrl-names = "default"; + pinctrl-0 = <_pins>; + fsl,usbphy = <>; + status = "okay"; +}; + + { + status = "okay"; + phy-mode = "rgmii"; + phy-handle = <_mdio_c_phy24>; + pinctrl-names = "default"; + pinctrl-0 = <_pins>, <_pins>; +}; + +_mdio { + /* BCM89610 on S32G */ + gmac0_mdio_c_phy24: ethernet-phy@24 { + #address-cells = <1>; + #size-cells = <0>; + reg = <24>; + }; +}; + +_timer { + clock-frequency = <500>; +}; + + { + pinctrl-names = "default"; + pinctrl-0 = <_pins>; + pinctrl-1 = <_gpio_pins>; + status = "okay"; + tca9539_74: tca9539@74 { // GPIO EXPANDER + compatible = "ti,tca9539"; + gpio-controller; + #gpio-cells = <2>; + reg = <0x74>; + status = "okay"; + }; +}; + + { + status = "disabled"; +}; + + { + pinctrl-names = "default", "gpio"; + pinctrl-0 = <_pins>; + pinctrl-1 = <_gpio_pins>; + status = "okay"; +}; + + { + status = "disabled"; +}; + + { + pinctrl-names = "default", "gpio"; + pinctrl-0 = <_pins>; + pinctrl-1 = <_gpio_pins>; + status = "okay"; +}; + + { + no-1-8-v; + status = "okay"; +}; + + { + pinctrl-names = "default"; + pinctrl-0 = <_pins>; + status = "okay"; +}; + + { + pinctrl-names = "default"; + pinctrl-0 = <_pins>; + status = "okay"; +}; + + { + pinctrl-names = "default"; + pinctrl-0 = <_pins>; + status = "okay"; +}; + + { + status = "okay"; +}; + + { + status = "okay"; +}; + + { + status = "okay"; +}; + + { + status = "okay"; +}; + + { + status = "okay"; +}; + + { + status = "okay"; +}; + + { + status = "okay"; +}; + + { + status = "okay"; +}; + + { + status = "okay"; +}; + + { + status = "okay"; + + can0_pins: can0 { + can0_grp0 { + pinmux = ; + output-enable; + slew-rate = ; + }; + + can0_grp1 { + pinmux = ; + input-enable; + slew-rate = ; + }; + + can0_grp2 { + pinmux = ; + }; + }; + + can1_pins: can1 { + can1_grp0 { + pinmux = ; + output-enable; + slew-rate = ; + }; + + can1_grp1 { + pinmux = ; + input-enable; + slew-rate = ; + }; + +
[linux-yocto][v5.15/standard/preempt-rt/sdkv5.15/xlnx-soc][PATCH] arm64: dts: versal: add i2c devices
From: Quanyang Wang The vck190/vmk180 boards are equipped with i2c devices: - GPIO Expander: TCA6416 - I2C Switch: PCA9548 - Programmable XO/VCXO: SI570 - EEPROM: M24128-BR - System Synchronizer for IEEE 1588: 8A34001 - Current & Power Monitor: INA226 - Fan Speed Controller: MAX6643 This patch add listed devices to dts. Signed-off-by: Quanyang Wang --- Hi Bruce, Would you please help merge this patch to the branches: v5.15/standard/preempt-rt/sdkv5.15/xlnx-soc v5.15/standard/sdkv5.15/xlnx-soc Thanks, Quanyang --- .../boot/dts/xilinx/versal-vmk180-revA.dts| 327 ++ 1 file changed, 327 insertions(+) diff --git a/arch/arm64/boot/dts/xilinx/versal-vmk180-revA.dts b/arch/arm64/boot/dts/xilinx/versal-vmk180-revA.dts index 79ab1a85ca7c..2243a6096b5d 100644 --- a/arch/arm64/boot/dts/xilinx/versal-vmk180-revA.dts +++ b/arch/arm64/boot/dts/xilinx/versal-vmk180-revA.dts @@ -119,11 +119,338 @@ { /* PMC_MIO_49, LPD_MIO12-23 */ { /* PMC_MIO46/47 */ status = "okay"; clock-frequency = <40>; + + tca6416_u233: gpio@20 { + compatible = "ti,tca6416"; + reg = <0x20>; + gpio-controller; /* IRQ not connected */ + #gpio-cells = <2>; + gpio-line-names = "MAX6643_OT_B", "MAX6643_FANFAIL_B", "", "", "PMBUS2_INA226_ALERT", "", "", + "MAX6643_FULLSPD", "FMCP1_FMC_PRSNT_M2C_B", "FMCP2_FMC_PRSNT_M2C_B", + "FMCP1_FMCP_PRSNT_M2C_B", "FMCP2_FMCP_PRSNT_M2C_B", "VCCINT_VRHOT_B", + "8A34001_EXP_RST_B", "PMBUS_ALERT", "PMBUS1_INA226_ALERT"; + }; + + i2c-mux@74 { + compatible = "nxp,pca9548"; /* u33 */ + #address-cells = <1>; + #size-cells = <0>; + reg = <0x74>; + + i2c@0 { + #address-cells = <1>; + #size-cells = <0>; + reg = <0>; + /* PMBUS */ + }; + i2c@1 { + #address-cells = <1>; + #size-cells = <0>; + reg = <1>; + /* PMBUS1_INA226 */ + u65: ina226@40 { /* u65 */ + compatible = "ti,ina226"; + #io-channel-cells = <1>; + label = "ina226-u65"; + reg = <0x40>; + shunt-resistor = <500>; /* R440 */ + }; + u161: ina226@41 { /* u161 */ + compatible = "ti,ina226"; + #io-channel-cells = <1>; + label = "ina226-u161"; + reg = <0x41>; + shunt-resistor = <500>; /* R1702 */ + }; + u163: ina226@42 { /* u163 */ + compatible = "ti,ina226"; + #io-channel-cells = <1>; + label = "ina226-u163"; + reg = <0x42>; + shunt-resistor = <5000>; /* R1214 */ + }; + u162: ina226@43 { /* u162 */ + compatible = "ti,ina226"; + #io-channel-cells = <1>; + label = "ina226-u162"; + reg = <0x43>; + shunt-resistor = <5000>; /* R1221 */ + }; + u165: ina226@44 { /* u165 */ + compatible = "ti,ina226"; + #io-channel-cells = <1>; + label = "ina226-u165"; + reg = <0x44>; + shunt-resistor = <5000>; /* R1216 */ + }; + u164: ina226@45 { /* u164 */ + compatible = "ti,ina226"; + #io-channel-cells = <1>; + label = "ina226-u164"; + reg = <0x45>; + shunt-resistor = <5000>; /* R1219 */ + }; + }; + /* 2 unconnected */ + i2c@3 { + #address-cells = <1>; + #size-cells = <0>; + reg = <3>; + /* PMBUS2_INA226 */ + u166: ina226@40 { /* u166 */ + compatible = "ti,ina226"; + #io-channel-cells = <1>; + label = "ina226-u166"; + reg = <0x40>; +
[linux-yocto][v5.15/standard/preempt-rt/nxp-sdk-5.10/nxp-s32g][PATCH 2/2] dts: Aptiv-FL: disable flexcan3
From: Quanyang Wang The flexcan3 is used by Autosar running at M7 core. So disable it in linux for Aptiv FL board. Signed-off-by: Quanyang Wang --- arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi b/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi index 02cf6074262e..961ba2ec1358 100644 --- a/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi +++ b/arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi @@ -213,7 +213,7 @@ { { pinctrl-names = "default"; pinctrl-0 = <_pins>; - status = "okay"; + status = "disabled"; }; { -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12241): https://lists.yoctoproject.org/g/linux-yocto/message/12241 Mute This Topic: https://lists.yoctoproject.org/mt/97465377/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v5.15/standard/preempt-rt/nxp-sdk-5.10/nxp-s32g][PATCH 0/2]
From: Quanyang Wang Hi Bruce, Would you please help merge these 2 patches to the branches: v5.15/standard/preempt-rt/nxp-sdk-5.10/nxp-s32g v5.15/standard/nxp-sdk-5.10/nxp-s32g Thanks, Quanyang Quanyang Wang (2): dts: Aptiv: disable flexcan3 dts: Aptiv-FL: disable flexcan3 arch/arm64/boot/dts/freescale/s32g274a-aptiv.dts | 2 +- arch/arm64/boot/dts/freescale/s32gxxxa-cvc-fl.dtsi | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12240): https://lists.yoctoproject.org/g/linux-yocto/message/12240 Mute This Topic: https://lists.yoctoproject.org/mt/97465376/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[linux-yocto][v5.15/standard/preempt-rt/nxp-sdk-5.10/nxp-s32g][PATCH 1/2] dts: Aptiv: disable flexcan3
From: Quanyang Wang The flexcan3 is used by Autosar running at M7 core. So disable it in linux for Aptiv Sousa board. Signed-off-by: Quanyang Wang --- arch/arm64/boot/dts/freescale/s32g274a-aptiv.dts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/freescale/s32g274a-aptiv.dts b/arch/arm64/boot/dts/freescale/s32g274a-aptiv.dts index 14cf48d972f8..fc4c16131f8d 100644 --- a/arch/arm64/boot/dts/freescale/s32g274a-aptiv.dts +++ b/arch/arm64/boot/dts/freescale/s32g274a-aptiv.dts @@ -171,7 +171,7 @@ { { pinctrl-names = "default"; pinctrl-0 = <_pins>; - status = "okay"; + status = "disabled"; }; { -- 2.36.1 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#12239): https://lists.yoctoproject.org/g/linux-yocto/message/12239 Mute This Topic: https://lists.yoctoproject.org/mt/97465374/21656 Group Owner: linux-yocto+ow...@lists.yoctoproject.org Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-