Loading Documentation/devicetree/bindings/serial/nxp,sc16is7xx.txt 0 → 100644 +33 −0 Original line number Original line Diff line number Diff line * NXP SC16IS7xx advanced Universal Asynchronous Receiver-Transmitter (UART) Required properties: - compatible: Should be one of the following: - "nxp,sc16is740" for NXP SC16IS740, - "nxp,sc16is741" for NXP SC16IS741, - "nxp,sc16is750" for NXP SC16IS750, - "nxp,sc16is752" for NXP SC16IS752, - "nxp,sc16is760" for NXP SC16IS760, - "nxp,sc16is762" for NXP SC16IS762. - reg: I2C address of the SC16IS7xx device. - interrupt-parent: The phandle for the interrupt controller that services interrupts for this IC. - interrupts: Should contain the UART interrupt - clocks: Reference to the IC source clock. Optional properties: - gpio-controller: Marks the device node as a GPIO controller. - #gpio-cells: Should be two. The first cell is the GPIO number and the second cell is used to specify the GPIO polarity: 0 = active high, 1 = active low. Example: sc16is750: sc16is750@51 { compatible = "nxp,sc16is750"; reg = <0x51>; clocks = <&clk20m>; interrupt-parent = <&gpio3>; interrupts = <7 IRQ_TYPE_EDGE_FALLING>; gpio-controller; #gpio-cells = <2>; }; Documentation/kernel-parameters.txt +9 −0 Original line number Original line Diff line number Diff line Loading @@ -883,6 +883,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted. which are not unmapped. which are not unmapped. earlycon= [KNL] Output early console device and options. earlycon= [KNL] Output early console device and options. uart[8250],io,<addr>[,options] uart[8250],io,<addr>[,options] uart[8250],mmio,<addr>[,options] uart[8250],mmio,<addr>[,options] uart[8250],mmio32,<addr>[,options] uart[8250],mmio32,<addr>[,options] Loading @@ -892,6 +893,14 @@ bytes respectively. Such letter suffixes can also be entirely omitted. (mmio) or 32-bit (mmio32). (mmio) or 32-bit (mmio32). The options are the same as for ttyS, above. The options are the same as for ttyS, above. pl011,<addr> Start an early, polled-mode console on a pl011 serial port at the specified address. The pl011 serial port must already be setup and configured. Options are not yet supported. smh Use ARM semihosting calls for early console. earlyprintk= [X86,SH,BLACKFIN,ARM] earlyprintk= [X86,SH,BLACKFIN,ARM] earlyprintk=vga earlyprintk=vga earlyprintk=efi earlyprintk=efi Loading arch/arm/kernel/devtree.c +7 −4 Original line number Original line Diff line number Diff line Loading @@ -33,18 +33,21 @@ void __init early_init_dt_add_memory_arch(u64 base, u64 size) } } #ifdef CONFIG_SMP #ifdef CONFIG_SMP extern struct of_cpu_method __cpu_method_of_table_begin[]; extern struct of_cpu_method __cpu_method_of_table[]; extern struct of_cpu_method __cpu_method_of_table_end[]; static const struct of_cpu_method __cpu_method_of_table_sentinel __used __section(__cpu_method_of_table_end); static int __init set_smp_ops_by_method(struct device_node *node) static int __init set_smp_ops_by_method(struct device_node *node) { { const char *method; const char *method; struct of_cpu_method *m = __cpu_method_of_table_begin; struct of_cpu_method *m = __cpu_method_of_table; if (of_property_read_string(node, "enable-method", &method)) if (of_property_read_string(node, "enable-method", &method)) return 0; return 0; for (; m < __cpu_method_of_table_end; m++) for (; m->method; m++) if (!strcmp(m->method, method)) { if (!strcmp(m->method, method)) { smp_set_ops(m->ops); smp_set_ops(m->ops); return 1; return 1; Loading arch/arm/mach-imx/clk-imx35.c +1 −3 Original line number Original line Diff line number Diff line Loading @@ -289,14 +289,12 @@ int __init mx35_clocks_init(void) return 0; return 0; } } static int __init mx35_clocks_init_dt(struct device_node *ccm_node) static void __init mx35_clocks_init_dt(struct device_node *ccm_node) { { clk_data.clks = clk; clk_data.clks = clk; clk_data.clk_num = ARRAY_SIZE(clk); clk_data.clk_num = ARRAY_SIZE(clk); of_clk_add_provider(ccm_node, of_clk_src_onecell_get, &clk_data); of_clk_add_provider(ccm_node, of_clk_src_onecell_get, &clk_data); mx35_clocks_init(); mx35_clocks_init(); return 0; } } CLK_OF_DECLARE(imx35, "fsl,imx35-ccm", mx35_clocks_init_dt); CLK_OF_DECLARE(imx35, "fsl,imx35-ccm", mx35_clocks_init_dt); arch/arm64/Kconfig +3 −0 Original line number Original line Diff line number Diff line Loading @@ -112,6 +112,9 @@ config IOMMU_HELPER config KERNEL_MODE_NEON config KERNEL_MODE_NEON def_bool y def_bool y config FIX_EARLYCON_MEM def_bool y source "init/Kconfig" source "init/Kconfig" source "kernel/Kconfig.freezer" source "kernel/Kconfig.freezer" Loading Loading
Documentation/devicetree/bindings/serial/nxp,sc16is7xx.txt 0 → 100644 +33 −0 Original line number Original line Diff line number Diff line * NXP SC16IS7xx advanced Universal Asynchronous Receiver-Transmitter (UART) Required properties: - compatible: Should be one of the following: - "nxp,sc16is740" for NXP SC16IS740, - "nxp,sc16is741" for NXP SC16IS741, - "nxp,sc16is750" for NXP SC16IS750, - "nxp,sc16is752" for NXP SC16IS752, - "nxp,sc16is760" for NXP SC16IS760, - "nxp,sc16is762" for NXP SC16IS762. - reg: I2C address of the SC16IS7xx device. - interrupt-parent: The phandle for the interrupt controller that services interrupts for this IC. - interrupts: Should contain the UART interrupt - clocks: Reference to the IC source clock. Optional properties: - gpio-controller: Marks the device node as a GPIO controller. - #gpio-cells: Should be two. The first cell is the GPIO number and the second cell is used to specify the GPIO polarity: 0 = active high, 1 = active low. Example: sc16is750: sc16is750@51 { compatible = "nxp,sc16is750"; reg = <0x51>; clocks = <&clk20m>; interrupt-parent = <&gpio3>; interrupts = <7 IRQ_TYPE_EDGE_FALLING>; gpio-controller; #gpio-cells = <2>; };
Documentation/kernel-parameters.txt +9 −0 Original line number Original line Diff line number Diff line Loading @@ -883,6 +883,7 @@ bytes respectively. Such letter suffixes can also be entirely omitted. which are not unmapped. which are not unmapped. earlycon= [KNL] Output early console device and options. earlycon= [KNL] Output early console device and options. uart[8250],io,<addr>[,options] uart[8250],io,<addr>[,options] uart[8250],mmio,<addr>[,options] uart[8250],mmio,<addr>[,options] uart[8250],mmio32,<addr>[,options] uart[8250],mmio32,<addr>[,options] Loading @@ -892,6 +893,14 @@ bytes respectively. Such letter suffixes can also be entirely omitted. (mmio) or 32-bit (mmio32). (mmio) or 32-bit (mmio32). The options are the same as for ttyS, above. The options are the same as for ttyS, above. pl011,<addr> Start an early, polled-mode console on a pl011 serial port at the specified address. The pl011 serial port must already be setup and configured. Options are not yet supported. smh Use ARM semihosting calls for early console. earlyprintk= [X86,SH,BLACKFIN,ARM] earlyprintk= [X86,SH,BLACKFIN,ARM] earlyprintk=vga earlyprintk=vga earlyprintk=efi earlyprintk=efi Loading
arch/arm/kernel/devtree.c +7 −4 Original line number Original line Diff line number Diff line Loading @@ -33,18 +33,21 @@ void __init early_init_dt_add_memory_arch(u64 base, u64 size) } } #ifdef CONFIG_SMP #ifdef CONFIG_SMP extern struct of_cpu_method __cpu_method_of_table_begin[]; extern struct of_cpu_method __cpu_method_of_table[]; extern struct of_cpu_method __cpu_method_of_table_end[]; static const struct of_cpu_method __cpu_method_of_table_sentinel __used __section(__cpu_method_of_table_end); static int __init set_smp_ops_by_method(struct device_node *node) static int __init set_smp_ops_by_method(struct device_node *node) { { const char *method; const char *method; struct of_cpu_method *m = __cpu_method_of_table_begin; struct of_cpu_method *m = __cpu_method_of_table; if (of_property_read_string(node, "enable-method", &method)) if (of_property_read_string(node, "enable-method", &method)) return 0; return 0; for (; m < __cpu_method_of_table_end; m++) for (; m->method; m++) if (!strcmp(m->method, method)) { if (!strcmp(m->method, method)) { smp_set_ops(m->ops); smp_set_ops(m->ops); return 1; return 1; Loading
arch/arm/mach-imx/clk-imx35.c +1 −3 Original line number Original line Diff line number Diff line Loading @@ -289,14 +289,12 @@ int __init mx35_clocks_init(void) return 0; return 0; } } static int __init mx35_clocks_init_dt(struct device_node *ccm_node) static void __init mx35_clocks_init_dt(struct device_node *ccm_node) { { clk_data.clks = clk; clk_data.clks = clk; clk_data.clk_num = ARRAY_SIZE(clk); clk_data.clk_num = ARRAY_SIZE(clk); of_clk_add_provider(ccm_node, of_clk_src_onecell_get, &clk_data); of_clk_add_provider(ccm_node, of_clk_src_onecell_get, &clk_data); mx35_clocks_init(); mx35_clocks_init(); return 0; } } CLK_OF_DECLARE(imx35, "fsl,imx35-ccm", mx35_clocks_init_dt); CLK_OF_DECLARE(imx35, "fsl,imx35-ccm", mx35_clocks_init_dt);
arch/arm64/Kconfig +3 −0 Original line number Original line Diff line number Diff line Loading @@ -112,6 +112,9 @@ config IOMMU_HELPER config KERNEL_MODE_NEON config KERNEL_MODE_NEON def_bool y def_bool y config FIX_EARLYCON_MEM def_bool y source "init/Kconfig" source "init/Kconfig" source "kernel/Kconfig.freezer" source "kernel/Kconfig.freezer" Loading